<?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='\
Ура! Поздравляю от всей души! Спасибо, статья нужная!
Очень полезный экспириенс. Во многом пройденый. Спасибо 🙂
Пооффтоплю малость:
Скажите, каковы причины сего странного деяния?
(3) asved.ru, холивар небольшой предлагаете устроить? 🙂 но отвечу
ИМХО. Kerio, как следующий шаг по развитию почтовых систем после TheBat, однозначно крут и хорошо подходит для небольших компаний до 20-30 человек.
У нас была цель построить серьезную ИТ систему для более крупной компании и под широкий спектр задач.
в пользу Exchange
— полная интеграция Exchange с AD
— масштабируемость
— дальнейшее развитие — внедрение MS Sharepoint, корпоративный портал… со всеми вытекающими.
Не скажу, как сейчас тогда с Kerio были проблемы по количеству IMAP и объему почты под каждого юзверя, отдельные внешние и внутренние почтовые ящики сотрудников, хотя по цене однозначно Kerio лидирует. 🙂
Есть. И прозрачная, и ручная.
Есть. Distributed domain называется.
Вы так говорите, как будто аутлук работает с Kerio только по POP3.
Несколько тысяч не хотите?http://www.kerio.ru/ru/connect/case-studies
Сервер стоял на первом пне с винтом на восемь гиг? Тогда понятно.
Если у админа руки из жопы, Kerio в этом не виноваты.
Полезная статья. Если не секрет, какие конфигурации внедряли и с каким франчайзи сотрудничали?
(5) asved.ru, давайте договоримся, что затроннутый вопрос сродни религиозному и тут каждый выбирает то, что ему ближе.
Нам Exchange стал, как родной. Единая платформа Microsoft под разные приложения и задачи(за небольшим исключением), текущие и будущие, с прозрачной интеграцией. Плюс наличие в команде сильного многажды сертифицированного специалиста по продуктам MS. Плюс пожелания топ-менеджмента отказаться от Kerio.
Сейчас уже трудно сказать к чему было больше претензий к самому продукту или к «мастерству» бывшего админа.
(6) Strady, в той компании, о которой статья, запускали комплексную автоматизацию (1С:КА).
Франч местный белорусский «Центр внедрений» и поныне здравствует, его директору хватало ума давать мой телефон своим потенциальным покупателям… и звонили же! и спрашивали «ну, как Вам работалось с этой компанией?» )))
(0)У меня два вопроса:
1. Все эти чудесные картинки(диаграммы), что здесь представлены, нарисованы в word’е или чем? Можно ссылочку на файлы получить — интересно, какими средствами так же хорошо можно нарисовать
2. Вам за проект все таки заплатили? Судя по рассказу, где собственник жмется на специалистов(1 админ, 1 техник на парк с ~200 машинами) и на оборудование(всяческий зоопарк из рабочих станций и серверов)?
(8)
Центр внедрений знаком.
Директор очень гордился своей конфигурацией.
Внедрение прямо из коробки.
Тоже рассматривал ее как одну из возможных для продажи.
Если можно, кратко, какие неприятности с ней были?
(9) echo77,
1. MS PowerPoint — табличка и схема этапов (красно-зеленая); MS Visio — схемы документооборота; Bizagi Process Modeler (www.bizagi.com) — по справочникам схема. Вообще процессы мне нравится рисовать именно в Bizagi, быстро и удобно. Если хочется украшательств или более сложных схем, то в Visio.
2. Заплатили. В этом проекте я выступала в роли директора ИТ. Проект сдали, мотивацию проектной команде выплатили.
3. Еще один админ сидел на филиале, участия в нашем «веселье» практически не принимал, но закрывал вопросы по суппорту удаленных рабочих мест. Больше сотрудников по обслуживанию парка и не нужно. Виртуальные сервера и терминальные клиенты обсулуживать на порядок проще.
(10) Pavl0, возможно сейчас уже спустя н-ное время что-то и изменилось. Эту конфигурацию они слепили из нескольких, одно время в конфе было 2 справочника клиентов, 2 справочника номенклатуры, т.е. в лоб объединили наработки нескольких поставщиков, потом немного подчистили и нам принесли как-будто коробочное готовое решение, хотя на самом деле внутри половина кода не работала из-за сборной солянки. И фактически за счет клиентов, нас и таких, как мы, конфигурация приводилась в рабочее состояние.
Маркетолог Павел (директор ЦВ) хороший, не отнимешь, втюхивать и пускать пыль в глаза умеет.
Помимо некачественной, скажем так, стартовой конфигурации, мало внимания уделялось в ЦВ правилам разработки по тем же рекомендациям 1С, каждый разработчик писал свой блок не заморачиваясь, есть ли что-то похожее уже в конфигурации. Выходило, как у Райкина «к пугвицам притензии есть?». Т.е. нам пришлось потратить кучу времени потом, чтобы унифицировать процедуры и функции общего назначения. Сами доработки делались зачастую не качественно, приходилось либо долго воевать, чтобы передедали, причем снова за наши деньги, либо переделывать самим… этакий финансовый пылесос…
нужно останавливаться, а то я в комментариях еще одну статью выкачу )))
А почему этот завод сразу к местному франчу не обратился?
(13) gendal, в смысле?
как раз-таки и обратились сразу к франчу, как только определились с требованиями и выбрали оптимальную для себя конфигурацию.
предполагалось, что львиную долю работ франч будет выполнять своими силами, а мы, внутренние специалисты, контролируем, снимаем требования пользователей, выставляем ТЗ на франча…
7.7 на 8.2?) тогда назовите «как перейти со старой системы на менее старую»
с 7 апреля даже экзамен по платформе на 8.3
(15) vano-ekt, этой истории уже более 3-х лет (в статье написано)
и суть её не в том, на какую конфигурацию и какого релиза платформы переходили, важно как переходили 🙂
кстати комплексную покупали еще под 8.1, сами переводили на 8.2
по-большому счету софт не имеет большого значения на проекте, главное какие цели и какой ценной достигаются… или не достигаются))
(14)
спасибо, просто сразу не сообразил
Спасибо за статью! Очень полезная информация. У меня сейчас похожий проект — надо монополиста регионального масштаба разбросанного по нескольким территориям перевести с бухгалтерского учёта (правда, под 8-кой) на УПП. Я уже вижу, что можно взять из данной статьи!!!
Непонятно, чем новая программа отличалась от старой принципиально? (кроме платформы?) были проанализированы и переработаны/причесаны бизнесс-процессы? был проведен кардинальный рефакторинг кода новой системы с мегазаточкой под нужды клиента? в чем принципиальные изменения? — непонятно… статья вроде интересная, а пользы от нее — мизер.
.
за одну стоимость лицензий на снеговика (под 100 юзеров) на новую систему (а тои за сущетсвенно меньше) — можно было купить вменяемых клюшечников, которые бы вусмерть заоптимизировали старую систему на скуле. Результат по факту был бы тот же, но с гораздо менее затратным/
.
у меня после прочтения статьи сложилось впечатление, что ничего особого по проекту сделано не было. были ликвидированы узкие места путем переноса на новую платформу. насколько быстрее стала работать новая — хз… насколько повысилось удовлетоврение пользователей — хз.. нипанятна!
Перечитал еще раз статью. осталось непонятно. что в итоге-то получилось. Аналог старой системы на новой конфигурации..? Проект оказался успешным. В чем успешность?
.
Ну и как указано в ошибках проекта — понятно, что проектная команда оказалась полностью некомпетентна в выборе нового решения и работе с франчами.
.
хорошо что при этом проект закончился успешно.
.
однако фраза «Производство реализовано было укрупненно – разносили пропорционально сырье и затраты на готовую продукцию не по SKU, а на тип/группу продукции, До нормальной полной автоматизации производства при мне в этой компании так и не дошли, были только перспективные планы, но, насколько знаю, и по сей день остались исключительно в виде перспективных планов.»
— наводит на глубокие размышления…
.
интересно, чем сейчас живет этот клиент.. 😉
на мой взгляд статья ни о чем, что-то делали-делали, и не понятно что сделали? я понял только, то что поставили свежие серваки (нагнали понтов по модернизации)разогнали ит отдел (не нужны лишние глаза с мозгами, а может потребовали долю) освоили совместно с франчами нехилый бюджет, и вернулись к тому от чего ушли только в новой обертке (1с 8).
(21) baa50, плюсую)))
(19) CheBurator, изменилось и многое, возможно в статье нужно было больше акцентировать на этом внимание
бизнес-процессы помимо того, что из-за проблем с производительностью вместо последовательного выполнения во времени стали выполняться параллельно, но еще и значительно расширились, например, прием заказов под заказ, когда товара еще нет по складу, но он уже распределяется и резервируется под клиентов (это не кажется программистам чем-то особенным, но для пользователей это был прорыв),
в новую систему были заложены основы CRM, что позволило бизнесу точно понять, кто есть наш клиент и в сегментах рынка компания не дорабатывает.
В старой системе партионный учет велся путем дублирования элементов номенклатуры со всеми вытекающими, мы поставили нормальный партионный учет,
ценообразование сделало огромный шаг вперед, т.к. раньше скидки были примитивными — «на всё сразу», а все скидки по акциям вводились операторами вручную(!) в саму накладную и это при документообороте 1000 отгрузок в день (кстати, через полгода работы в новой программе их стало около 3000, если не ошибаюсь), соответственно увеличилась и прибыль, сейчас уже в цифрах не скажу на сколько,
адрес доставки в старой системе был строкой, в новой разложили по адресному классификатору, что позволило в дальнейшем автоматизировать логистику развоза, с оптимизацией и визуализацией на карте,
в новой системе наконец-таки появился нормальный управленческий учет, отдельный от бухгалтерского… уф)))
как играющему тренеру, мне понято, что это безусловно можно было реализовать и в старой программе… если конечно руководитель ИТ извращенец и его не беспокоит, как будет работать компания через год, через два и т.д. 🙂
что не говорите, но 1С:7.7 себя изжила, для мелких компаний, только под бух.учет, только в путь, но не более. имхо
(21) baa50, ошибаетесь,
хотя имеете полное права думать, что угодно 🙂
знаете, я видела много компаний аки-болото, правда как правило это были госы
когда все дружно делают вид, что работают, но по большому счету всем все пофиг,
тут компания была на 100% с частным капиталом и если бы не алкогольная продукция и гос.меры по урезанию импортного ассортимента, плюс удваивание ценника при пересечении границы государства, то компания давно бы вылетела в трубу со старыми кадрами
а про безопасность старой системы со стороны системного администрирования лучше промолчу)
(21)baa50,
Прочитав статью возникло несколько вопросов. Почему не провели нагрузочное тестирование по документообороту покупаемой системы ? Как вообще можно переходить на что то «якобы» сделанное для вас и наступать на те же проблемы от которых пытаетесь уйти?
В целом прихожу к выводу что основная проблема неудачных или затянутых внедрений в самих внедренцах. Очень плохо когда проектом руководит человек который сам не представляет что внедряет и: как самому разработать данную систему, в чем её преимущество и т.д. Без такого понимания не приходят решения по обходу узких мест и «критические проблемы» всплывают уже во время внедрения или после и требуют оперативной доработки «уже вчера». Работа с франчем как всегда порадовала. Легко валить свои промахи на кого то другого. На будущее хочется сказать что прежде чем запускать что то на «Тыще пользователей» — отладьте хотя бы на 10. Тогда и захлебываться при переходе никто не будет. Как в мультике лучше пол года(или более) готовиться а потом за три дня долететь. Чем переходить на явный тормоз и оперативно дорабатывать кривой велосипед.
(25) sanek_gk, быстродействие не было основной проблемой этого проекта и было решено достаточно быстро переходом на управляемые блокировки, оптимизацией кода и исправлением, например, классического косяка получения цен и остатков в цикле построчно по ТЧ в документах при записи и аналогичный пересчет при проведении.
Вам здорово везет, если заказчик готов предоставляет год на выбор и тестирование программных продуктов перед стартом проекта, у нас такой возможности не было. Да и не верится что-то в существование идеального коробочного решения, всегда есть что адаптировать под заказчика, подправить, изменить.
Согласна, что в проблемах были «виноваты» обе стороны, не только франч, но и мы сами, с этим не поспоришь. 🙂
Интересная статья, спасибо автору. Не понимаю людей которые пишут что статья мало полезна. На мой взгляд достаточно интересно прочитать об опыте других людей, таких статей на ИС как раз и не хватает.
Если не секрет какой бюджет был на внедрение?
Неужели предприятие настолько специфичное, что типовые конфигурации ей никак не подходили? Был опыт перехода с Торговли + Склад 7.7 (так же вначале успешно часть «узких» мест оптимизировал под SQL, потом понял, что это сродни борьбе с ветряными мельницами, было принято решение о переходе на 8.2) на Управление торговлей 10.3. После переноса остатков и справочников — успешно запустились, «допилил» интерфейс под заказчика, функционала типовой — выше крыши. Производительность само собой в разы выше.
(27) pro-rok, честно, не вспомню… 3 года прошло 🙁 тем более у нас кризис в стране нагрянул аккурат во второй половине проекта и курсы доллара и евро прыгнули в три раза, если пол-палец-потолок, то что-то около 20-25 тыс $ на лицензии и доработки, без учета стоимости оборудования
(28) insurgut, из особенностей: локализация под законодательство Беларуси, производство и реализация алкогольной продукции
основные акценты заказчика на упр.учет и движок торговли
интересная статья, и не менее интересные комментарии.На нашем предприятии вот все никак не решаться на подобного рода переход так как еще присутствуют внешние программы сообщающиеся с 1с.
отличное оформление, приятно читать, респект!
Так и не понял за какой срок удалось сделать аналог на другой платформе?
И бюджет, все-же, не совсем понятен. «что-то около 20-25 тыс $ на лицензии и доработки, без учета стоимости оборудования» — это без учета зарплаты сотрудников предприятия?
И еще.
Соглашусь с высказыванием, что переход с Kerio на MSExchange — более чем странное деяние.
Руки из задницы растут. Только этим можно объяснить.
(33) OBEH, по сути мы не делали аналог старой системы, а ставили полноценный управленческий учет, которого не было в старой