<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
(0) Холивар фореве:-) Покой нам только снится:-)
Грамотно, аргументировано, по существу
вы уж извините, я не думала семерошников обижать. тема моей статьи была — обратить внимание людей, занимающихся разработкой ПО или заказчиков проектов к тому что команды обычно недоукомплектованы, что приводит к рискам и снижению качества продукта.
я не продавец и не рекламщик, я внедренец.
но за то что прочитали и свое мнение сказали — спасибо.
Если заглянуть в профайл автора статьиhttp://infostart.ru/blogs/1054/ и почитать первую ее статью и комменты, становится ясно, что вести речь о чем-то глобальном нет смысла:))). Цели другие у статьи, в конце они и сформулированы: «На ком будем экономить?», и всеее:))). ИМХО.
+ 4 в кризис тестировщиков и консультантов сокращают:((
2 larisab (4) пытаться объять не обьятное не хочу.
не сильно приятный коментарий от вас…
(6) Простите, не хотела обидеть, но такое впечатление сложилось у меня, лично у меня (ИМХО).
с таким же успехом можно написать и критику на критику статьи beika, господином Венгером … пока нет Цели и ОбъЁма работ и неизвестно количество отпущенных Ресурсов на вЫполнение то обе эти статьи можно считать правильными и хорошими … всЁ зАвисит от точки отсчЁта …
.. и если желание заработать «+» для одного это и нормально то для другого заводить новую ветку для обсуждения мне кАжется нЕ крАсивым … тема то с бОрОдОй … настолько старая и столько РАЗ обсуждаемая, что невероятно пытаться еЁ ещЁ рАз обсуждать сЕрьЁзно …
… трАвА зЕлЁнАя а нЕбО сИнИе …
…воооОооотмОёмнЕние….
Удивлен, блин. Вот такое и пиши… 😉
(3)>я внедренец…
Вот об этом и шла речь в той статье. О том, что злые дяди не хотят оплачивать накладные расходы внедренца, который знает заранее, что будет внедрять, а цели и задачи автоматизации для него вторичны.
А это только у меня одного шрифт такой ку..вый?
«Так что рецепт простой…» — где то читал (не могу щас найти) что команда программистов это как улей с пчелами. И управлять ей надо соответствующе 🙂
(11)http://www.rb.ru/office/officestory/officestory/2007/10/02/104113.html
(3),(6) beigka, воспринимайте это как веселую игру в «столкновение мнений», не принимайте близко к сердцу:-) Более того, рад, что Вы не стесняетесь и пишите статьи — это хорошо! А критика — это самое ценное, что можно получить, ибо даже проигрывая в споре — Вы выигрываете, на самом деле, т.к. получаете живую, актуальную информацию на интересующие Вас темы, знакомитесь с аргументами других точек зрения, начинаете видеть проблему более многогранно…
(12) Оно 🙂
(12), (14) Я скинул это к нам в рабочую е-mail конференцию, пусть манагеры почитают, позлятся….:-)))
относительно ООП хотелось бы добавить, что появление ООП это не только способ оформления алгоритмов, это новая парадигма, новая философия программирования…
без команды внедрить УПП можно но будет очень долго 😉
(17) Команды бывают разные 😉
пчелиный рой — это бардак.
если ктото верит что рой — это клево и с этим можно работать, ну пусть работает. а я хоть вокруг себя разгребу…
(19) > пчелиный рой — это бардак.
Вы так плохо знаете пчел? 😉 Жаль — у природы надо учиться 😉
З.Ы. Ту статью я не защищаю, просто если о пчелах, то там четкая организация;)
(19) Пчелиный рой — это объективная реальность. Ну, с элементом гротеска, конечно.
Если же радикального креатива не требуется, наведение порядка вполне возможно. Мед на 98% состоит из сахара, который делается отнюдь не пчелами.
(20) Нет, все правильно. В 19 подразумевается не сам рой, а связка рой — директор. Это бардак, ясное дело.
(22) Связка рой — директор, директор попадет в реанимацию от множественных укусов;) А вот связка матка — рой, это хоть как-то смахивает на аналогию. Т.к. в противном случае, по таким аналогиям может существовать связка рой пчел — медведь;) И в чем польза такой аналогии?;)
(22) +23, Кстати, аналогия пчеловод — рой пчел, как-то ближе к теме;-) И хде там бардак?
(23)У директора достаточное количество средств защиты.
Матка же не взаимодействует с семьей, она в ней живет. В смысле, не живет вне семьи => не может противостоять ей.
(25) Аналогия неряшлива, пчеловод — рой, вот аналогия. А так не понимая процесс, им всегда плохо получается управлять. Пусти на пасеку хоть министра, он тоже дров наломает и скажет, что у пчел бардак 😉
(26)Пчелы живут не только на пасеке, в том-то и проблема. На всех пчел пчеловодов не хватает. 8)
как и во всем, все зависит от организатора… если проектный менеджер хороший, значит и команда будет работать хорошо, а если нет, значит нет 🙂
(28) Это лишь часть истины, если команда никакая, то никакой менеджер не поможет. Более того, что вкладывается в понятие «проектный менеджер хороший»? У нас в последнее время (я про Украину, например), вот в том же строительстве, хорошие архитекторы и проектировщики уже в пенсионном возрасте, а молодых специалистов нет или исчезающе мало, я про тот уровень, который должен быть, а не про пыль в глаза. И строят так, что (это мнение изнутри многих) волосы иногда дыбом встают, помимо того, что воруют на каждом уровне, откаты, отмывка денег, фиктивные бюджеты, работы, да и еще чиновники на лапу просят. И до кризиса квадратный метр по этому так дофига и стоил, при низком качестве строительства, хотя и материалы лучше стали и инструменты, и научно-технический прогресс вроде куда-то идет;)
ну, это отголоски советской системы образования… откаты и взятки, это менталитет народа, не думаю, что в нашей стране в ближайшее время что то измениться к лучшему, некому менять, да тот же Кролик купленный с потрохами… а хороший проектный менеджер это как хороший руководитель, компетентный прежде всего, и хороший организатор… умение организовать работу, своевременно контролировать исполнение ну и умение общаться с людьми и находить общий язык + владение технологиями- это хороший проектный менеджер. А одному даже УТП внедрить качественно будет очень сложно и очень долго, т.к. затрагивается большое количество областей автоматизации, а во всем быть ассом мало кому удается…
(30) Я никогда не утверждал, что можно все и всегда в одиночку, но логика, что сто грузчиков разгрузит вагон быстрее десяти, не совсем адекватна в случае программирования, это раз. И все должно быть сбалансировано, и руководитель грамотный и команда грамотная и численность разумная, это два. Но это уже отдельный разговор;)
(30) +31, а ну и инструменты соответствующие задачам, а не наоборот 😉 Типа во все дырки эту восьмерку и УПП пихать;)
Такое большое количество красивых цитат меня это обычно настораживает, все эти сравнения, конечно говорят о начитанности автора, но как-то от сути уводят.
А вцелом действительно крупный проект одному выполнить в сжатые сроки не возможно, нужно собирать команду. Максимум на проекте у меня была команда 5 человек, причем большая часть времени уходила на согласования и переговоры. И это совсем не «руками водить», приходиться практически каждый день «компилировать» проект в голове, чтобы принимать новые решения, так что мое мнение — один в поле не всегда воин, просто не устоялся еще регламент для 1с-ников по организации работы на крупных проектах. Вышло под новый год сценарное тестирование, вполне можно пробовать экстремальные подходы по организации работы на проектах, раньше отсутствие возможностей автоматического тестирования мне казалось серьезным препятствием.
А то, что количество программистов на проекте, совсем не обязательно приводит к сокращению сроков его выполнения и качеству, совершенно согласен. Бывает очень трудно объяснить «недалекому» клиенту, что «мы» выполнить проект быстрее не сможем и количество людей работающих на проекте на это не повлияет, что «мы» не вагоны подряжаемся разгружать.
Я хотел одновременно и плюс и минус поставить 🙂 , но система поддерживает только какой-то один знак. Оставил плюс…
Плюс за труд и попытку осмысления проблемы.
Минус за открытие Америки и изобретение велосипеда.
(27) Кстати, о пчелах (две ссылки — две страницы) Александр Гордон Диалоги (июль 2003 г.) Интеллект муравьёв:
Мда, сермяжная правда жизни:)
Просто видел свооими глазами, как один человек пришел и заменил целую команду, так и еще сделал то, что им так толком и не удалось и в более короткие сроки. Просто пришел и сделал, без лишних разговорив и телодвижений. Где нужно убедил, где нужно расспросил и решил как лучше и т.д.
(38) Бывает и такое, но редко:-)
«без команды внедрить УПП можно но будет очень долго ;)»
а с командой порой еще дольше…
— а за неделю управишься?
— ну, можно…
— а за две?
— нет, барин, тут помощник нужен.
(с)
(38) vinsentfire, вы правы и это подтверждает слова автора. Но как мало таких людей. И как самому стать таким? Вообще не понятно. 🙁