<?php // Полная загрузка сервисных книжек, создан 2025-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='\
Не смотря на одиозное название (лучшего пока не придумал), это всего лишь приглашение обменяться опытом. У каждого из нас накопился некоторый набор приемов, которые позволяют нам браться за крупные проекты и легкими штрихами наращивать значительный для клиентов функционал, получая на выходе систему, в которой удобно работать и которую легко обновлять.
Перейти к публикации
(2) Согласен , «замах на автоматизацию» — очень скромный. Но и вреда ведь никакого.
Давно замечено , что изложение собственных мыслей в письменном виде упорядочивает представления автора о проделанной работе , позволяет сопоставить свой опыт с чужим и подталкивает к сравнению, т.е. к началу анализа.
Любой автоматизации должна предшествовать информатизация! А тут .. «Для меня ответ однозначен. С выбора типовой конфигурации ..»! 🙂 Даже не верится, что так все просто!? 🙂 Думаю, что в следующих частях, автор более полно опишет про свое видение автоматизации .. 😀 .. и про системный подход хоть пару слов будет!
(0) А у Вас есть еще фотографии для заставки своих публикаций? Мы уже и так давно все знаем, как Вы выглядите, но хоть бы в другом ракурсе.
Олег, можно offtop вопрос? Почему вы в тропиках в куртке?
(2) Я надеялся, что эти «прописные истины» будут интересны тем кто только начинает вести проекты. За 4 года работы во франчайзи и 5 лет работы фрилансером я уже сбился со счета количества внедрений. Я пытался создать ветку где можно будет обменяться опытом и выложил некоторое количество материала для затравки.Но может идея была неправильной, так как обсуждение плавно перешло на то, что с высоты ваших 12 лет опыта чужой опыт Вам не интересен и докатилось до моей фотографии. Я бы с удовольствие ознакомился с решениями и подходами, примененными другими программистами, и может быть что-нибудь подчерпнул что можно будет применить на других проектах.
(5) Часто, внедрения произведенные коллегами приводит в ужас. Я не против решений, написанных целиком с нуля или сильной переделки ядра, но выбор такого подхода должен быть оправдан.
Например, меня приглашал клиент, у которого уже сменилось несколько команд программистов, последовательно пытаясь изменить типовую бухгалтерию, что б добавить туда несколько стадий проведения в документы и возложить на нее кучу несвойственного функционала. И этот Титаник, по его словам почти был готов к отплытию. До сих пор, насколько я знаю, эта вакансия открыта.
Сколько неудачных решений не дошло до финиша.
(6) Просто я лентяй и мне лень придумывать картинку к каждой новой публикации. Но насколько я понял, нужды в этом больше нет. Судя по отзывам, мои публикации народу не интересны.
(7) Это фотография сделана зимой в Парижском диснейлэнде. И, если честно, мне очень нравится как память о поездке.
(12)
Неправильный вывод. Во-первых, сами пишете, что здесь только самое начало, хотелось бы увидеть больше. Во вторых — наверно, в субботу большинству просто не до серьезного обсуждения 🙂
(12) А вы смотрите на это так. На рынке внедрений есть конкуренция. Побеждает (берет контракт) тот, кто лучше разведет клиента. Поэтому тем, кто разводит, открытая информация мешает. Их можно не слушать. Или слушать только в плане как самому грамотно продавать.
Есть те, кто собственно внедряет (а это в той или иной степени все здесь). Тут у каждого свой опыт. Какой-то набор инструментов, способ решения типичных ситуаций. Написать свой опыт, прочитать чужой, всегда полезно.
У меня, например, проблемы на внедрении были не с реализацией, а с тем чтобы получить информацию как действительно все работает, и как рассказать каждому в цепочке то, что он хочет услышать. У меня нет и не было никогда ресурсов, хорошего административного рычага для борьбы с саботажем. Люди тоже себе на уме. Если он после автоматизации будет уволен или у него откусят часть влияния или добавят ему проблем или уберут возможность воровать, человек этому сопротивляется естественно.
(16) Это отдельная большая тема. Тоже не раз с этим сталкивался. Единственный способ, который помогает, это по возможности снять с себя эту ответственость. Обучить нескольких вменяемых людей, обладающих полнотой принятия решений и административными рычагами и работать только через них. Они уже должны обучать и контролировать работу всех остальных.
На мой скромный взгляд :
названием темы «начало автоматизации»,
фотографией «из парижу» ,
желанием поделиться знаниями о характеристиках номенклатуры
автор простодушно симпатичен .
(18) Большая просьба все таки сосредотачиваться не на личности и фотографии собеседника. Я понимаю, эти аргументы бьют сильнее, но попробуем оставаться цивилизованными людьми. Тем более, с трудом улавливаю Ваши мотивы.
(1) название скромное. Вот если бы «Начала автоматизации», тогда да.. 🙂
(19)
Мотив есть. Помочь друг другу (Вы мне, я -Вам) узнать окружающий мир.
Каков он ?
Шибко цивилизованный или нешибко ?
Что такое автоматизация в окружающем нас мире и где её начало ?
(17) С этим согласен. Еще мешал момент умения получить информацию что на самом деле заказчик (в широком смысле) хочет (не то, что он говорит, он может и бред нести, который невозможно повторить). Без информации как на самом деле все устроено, а не как руководство думает все устроено, много времени уходит впустую. Это если нет дубины чтобы заставить что-то делать и наказывать тех кто не делает.
Ну еще момент перекладывания ответственности важен. Особенно если игра идет с профессионалами в переводе стрелок.
(22) Тоже самое, бьюсь с этим. Пока не нашел реальных людей, которые знают всю кухню, два месяца потратил не слишком эффективно. Зато потом выпросил этих людей себе в помощь и все пошло куда веселее.
На Арагорна похож 😮
блин, натурально не въехал. пачиму ни сарумон?
(24)(25) Господа хоббиты, для вас есть специализированная ветка:http://tolkien.3dn.ru/forum/
Статье явно не хватает резюме/выводов. Или наоборот, постулатов, раскрываемых текстом. Например, постулат/резюме для первого абзаца мог бы звучать так: для успешной работы в сфере автоматизации на базе 1С необходимо, в первую очередь, знать возможности типовых конфигураций. Банальность это? Думаю, что нет — ну, хотя бы потому, что утверждение весьма спорное. В части «первой очереди».
Второй абзац означает на самом деле: необходимо изучить/освоить предметную область. А вот с этого, на мой взгляд, как раз и нужно начинать.
В третьем абзаце говорится не об автоматизации, а о специфике работы во франче.
Ключевая позиция четвертого абзаца — «не долго думая». На самом деле, реализация силами одного программиста функционала УПП (не конфигурации УПП, а Учета Производства на Предприятии) — не такая уж неподъемная задача. Другое дело, насколько его нужно «запихивать» в бухгалтерскую конфу. «Не долго думая», скорее всего, ничего хорошего не получится.
Вторая половина статьи относится к представлению/хранению данных. Это тема огромная и реально «краеугольная». В статье же приведены пара очень частных примеров, тему совершенно не раскрывающих. Да еще и ссылаются эти примеры на неупомянутую «стандартную конфигурацию» (есть подозрение, что речь идет об УТ). Особенно показателен (своей нехарактерностью) последний пример. Уж девятая-то модель могла быть поэлегантней, без массового добавления реквизитов в справочники, из-за чего, собственно, и «потребуется еще большое количество работы по написанию мастеров, изменению форм документов и печатных форм». Человечество довольно давно изобрело классификаторы и называет телегу телегой, а не «решетчатой конструкцией, водруженной на четыре моноциклических агрегата, перемещающихся по эквидистантным траекториям».
(27) Есть разница между небольшой статьей и докторской диссертацией. Насчет освоения предметной области в первую очередь Вы абсолютно правы, но предполагается, что совсем очевидные вещи в краткой статье можно опустить. Или надо вдаваться в детали, что освоение предметной области продолжается на всем протяжении проекта.
По поводу частности примеров буду рад Вашим советам, как раскрыть эту тему лучше. Всем также будет интересен Ваш опыт работы с классификаторами. Существуют разные методики добавления связанной информации в объекты метаданных. Все они имеют свои преимущества и недостатки: скорость выборки данных, сложность обновления конфигурации, количество изменений в конфигурации и т.д. Перед выбором конкретного способа приходится анализировать весь этот ряд показателей, но это, мне кажется, тема для отдельной статьи.
По поводу элегантности девятой модели. Мне пришлось сильно упростить картинку для простоты понимания аудитории. Суть вопроса была сложнее. Модель должна дополнительно отвечать на вопросы:
В чем удобнее делать заказы, хранить, перерабатывать, продавать: В метрах, квадратных метрах, кг, рулонах. Что будет происходить с себестоимостью на каждом этапе. Какая будет скорость работы базы на эталонном сервере, при загрузке всех остатков. И еще ряд других. Количество мастеров и отчетов не зависит от способа добавления связанной информации. Они направлены исключительно на дополнительный функционал.
(29) Простой пример использования классификаторов — разбиение контрагентов на юридических и физических лиц. Тогда не потребуется держать в справочнике контрагентов-юрлиц несвойственные им реквизиты вроде номера паспорта, пола (у Камин-Кадры этот реквизит вообще периодический 😳 ) и т.п.
Два плюса за статью !!! 🙂
спасибо за статью 🙂
(2) Евгений, конечно же пишите статьи о своем опыте внедрений!!! Лично мне будет интересно!
— Не бойтесь!!!
дао дэ 1С…у каждого свой путь 😀 (33) все правильно, и это приведет к еще большей специализации одинэсников, которые будут вынуждены что-нибудь еще уметь помимо 1С. Затем страшные кокуренты одинесники начнут публиковать вредные советы под видом обучения. Вот такие времена.
(15) и в первую очередь вашей мысле… 😉
(18) зачем вы это написали ?
(37) а по моему клево написано..хокку 😀
(21)
Каков он ?
Шибко цивилизованный или нешибко ?
— это в другой ветке! и на другом форуме!
(39) Спасибо за информацию.
информация она такая 😀 мне это очень напоминаетhttp://lib.rus.ec/b/50163/read
Все очень просто. Другое дело, конечно, зачем вам это надо.
(36) Автоматизация слишком необъятная тема. Нюансов на годы экспериментов. И всегда впереди не открытые горизонты. Я например думаю сейчас над автоматизированным созданием конфигураций на основе описательного языка. И, если не я, то кто-нибудь другой непременно это сделает. А это изменение всей методологии создания ПО. Время идет, и наш опыт устаревает вместе с нами.
А скрывать что-то в открытой системе, по моему бессмысленно. А вот потенциальный заказчик вполне может оценить знания и пригласить на новый интересный проект или заказать консультацию по внедрению.
(42) дык это уже сделано, только в 1С этого нет.
(42) Ого. Вот это уже нескучно !
Без всяких шуток , даже неудачная попытка создания декларативного языка для описания задачи автоматизации конкретного предприятия в тысячу раз интереснее унылого перечисления приемов использования характеристик номенклатуры.
я может чего-то не так делаю, но например надоедает делать одно и тоже, использую комментарии в 1С //<tag>Description</tag>…очень удобно делать документацию, очень удобно делать поиск, по коду, надо вот еще кодогенератор сделать…
(44) это да, тоже ломаю голову над этим, этакий метаязык, для проектов, неплохо бы ветку организовать…
(46) не все настолько примитивно… «Искусство войны»…вот пособие для менеджмента…обмен информацией, подлог информации и т.д. И потом информация <> опыт….
ну ваще, да, интереснее было бы прочитать что-то типа «опыт конкретного внедрения такой-то конфы»
всё равно половина статьи это как раз пример из жизни ))
По поводу секретов — да нет тут особо каких-то страшных секретов. По мере тотальной и постоянной профессиональной регрессии бухгалтерско-экономических работников, IT-шнеги (в частности, 1С-неги) будут всё более востребованы.
Подобных статей много в банковских IT-изданиях, страховых и прочих направлениях. А в 1С-ном нет.
Может что-то такое замутить в пределах портала? Это интересно и не менее востребовано чем всякие обработки и прочие СКД обсуждать.
(44)(47) Извини, но как раз эта информация для меня составляет коммерческую ценность, в отличие от знаний начального уровня.
(50) ч.т.д.
(46) Чего только не бывает там , где нас нет.
(49) 1С чем интересен он тесно связан с бизнесом, я бы сказал прозрачно, в отличие от не очевидных теорий шаблонного проектирования в С++…можно поделится как решить уравнение, но вряд ли кто-то будет делится практическим примением уравнения для зарабатывания денег….в конце концов заказчик запретит…
я может чего-то не так делаю, но например надоедает делать одно и тоже, использую комментарии в 1С //<tag>Description</tag>…очень удобно делать документацию, очень удобно делать поиск, по коду, надо вот еще кодогенератор сделать…
дададада ))
а еще мутил как-то давно обработку под громким названием «Центр управления обработками». Она анализила, к примеру, какой-то каталог на корпоративном сервере, куда народ выкладывал свои внешние обработки и выдавала вякую полезную инфу навроде кто написал, когда, зачем, какая ревизия и пр.? Предварительно, конечно, по похожему методу в тэгах вся эта инфа пишется в обработке в комменте.
(50) Эта информация представляет коммерческую ценность ?
Какая жалость … Но звучит солидно.
(33) хм, жаль, надо было так и написать в первых двух постах, а то развели полемику…. уж извините ! 🙂
(54) 😀 вот так и мучаемся, делая все параллельно…социализму на нас нет 😀
(50) и особенно, (46)
Информация, конечно, имеет некоторую ценность. Однако в базе данных главную ценность составляет не информация (опыт), а СУБД (мозги).
(45) подробнее можете описать?
(46) и да, и нет…
я иногда думаю так же, но все же мой личный опыт подсказывает мне, что проектов хватит всем, и конкуренция между нами — явление больше надуманное…
…эту мысль лучше в другой ветке развивать…
🙂
Народ, срочно перестаем помогать Маньяку после (33) — он наш конкурент 🙂 практически враг 🙂
ЗЫ еще и на мисте такой клич нужно кинуть, он там нередко вопросы задает ! 🙂
Предлагаю засекретить весь сайт. От всех.
(64) ОФФ Молодец, если просто забыл вставить смайлик.
Иначе совсем наоборот 🙂
Гы, и тут изобретатели велосипедов.
С квадратными колесами.
😎
(67) Это ты о чем?
(0) Интересно, какая реакция сообщества меня ждет, если я решусь опубликовать остальные части статьи? Аутодафе?
(69) 28 плюсов и ни одного минуса — это аутодафе? Еще один неправильный вывод у Вас, по-моему
Да и в комментариях интересные мысли встретились, так что пишите дальше.
(69) Проще всего — попробовать. 😀
(69) Нужно продолжать. Хотя бы из принципа.
Мало ли кто, что напишет …
В целом -то критика была незубодробительной. Так что вперед !
Автор! Пиши предисловие: как вникал в бизнес процессы ❓ . Кто и чем реально на предприятии помог, а кто и почему палки в колеса ставил / искажал бизнес логику. Был прецедент: на предприятии в каждом из 3 отделов бизнес процессы представляли по своему. И делали круглые глаза друг на друга, когда их собрали за 1 столом и они отвечали на вопросы 😀 .
(27)Замечательный анализ абзацев, не хватает статискики встречаемости слов. 😀
Я понял основную мысль которую вложил автор(ну все мы тут не Достоевские): «80% задач можно решить не меняя типовую конфигурацию.»
Формула успеха = Подходящая типовая + Смекалка + внешние отчеты и обработки.
Полностью согласен. Автор пиши!
(74) Если люди узнают себя в таких описания пойдут обиды. Мы не врачи, но понятие об профессиональной этике у нас тоже должно присутствовать.
За 16 лет работы понял одно. Надо заставить заказчика рассказать чего он хочет, понять чего он хочет и, самое трудное, объяснить заказчику чего он хчет
Всем привет! Для тех кто не вступил в группу по данной статье, сообщаю, что я выложил свою разработку — так называемый инструмент разработчика — по адресуhttp://infostart.ru/public/89310/ . Разработка представляет собой шаблоны текста в режиме 1С:Предприятие с возможностью быстрого поиска и отбора алгоритмов по ключевому слову. Друзья, скачивайте 🙂
(0) Написал продолжение статьи:http://infostart.ru/public/90683/ .
Спасибо, полезная информация, но к автоматизации отношения не имеет.
(80) До сих пор наивно предполагал, что то чем я занимаюсь половину сознательной жизни называется «Автоматизация бизнеспроцессов предприятия». Теперь с ужасом жду ваших комментариев, на тему, а чем собственно я занимался.
(0) (27)
Для меня начало автоматизации начинается с оценки «адекватности» клиента, что включает:
1) Состояние учёта. (Идеология – Методология – Технология) Если нет первых двух составляющих, то не поможет и правильный выбор конфигурации (технологии).
2) Понимание одним из «Топов» клиента — что они хотят и желание/возможность уделять этому время/внимание. (Т.к. «Директор приказал перейти на 8-ку» сработает только в очень простом случае – научить пользователей работать в типовой конфигурации)
3) Попытаться оценить внедрение/автоматизация – это цель декларативная или истинная.
не понятно как можно описать автоматизацию на предприятии, есть же столько различных модулей, в каждом еще по несколько тысяч функций…мне кажется нужно описывать функционально и помодульно.
(82) AnryMc,
Иной раз клиентов нужно «Направлять» или же «просвещать». Лично я использую такой метод, в случае отсутствия понимания в направлении движения.
Правильно. Чем стандартнее — тем лучше.
Надо только сообразить: как правильно это организовать.
Если считаете, что Вам есть что сказать — пишите.
Удачи.