08.02.2022 17:33
AndreyZh
 
Обмен электронными документами весьма ответственная операция, а проблемы с ними, недовозы товаров с позиций торговых сетей - штрафуемые нарушения, а посему изначально в программу интеграции внеслись режимы протоколирования, сохранения принятых и отосланных документов, что ещё программа дублирует в каталоге архивов FTP сервера...

Но пользователи имеют бесконечные таланты обманывать защиту программы... программы интеграции не получается, тогда пытаемся обмануть со стороны учетной системы "УС Land" - нашли таки "дырку": Одна сетка прислала претензию, что пару недель назад в несколько распределительных сетей не привезли заказанные изделия... "обделались" без штрафов - менеджеры молодцы! Однако ко мне обратились с "наездом" на косячную работу программ.

Пришлось потратить много часов, отслеживая действия операторов в процессе обработки ошибочных документов, отправленных по EDI... К счастью для меня - это хитрые косяки операторов, а после объяснения их косяков вспомнили почему они так сотворили:

1. Загрузили заказы;
2. Далее им сказали, что изделие не смогут произвести по сложностям производства;
3. Опера пачкой удалили это изделие из заказа;
4. Отправили подтверждение заказа и уведомление об отгрузке;
5. Нашли ресурсы произвести изделие;
6. Опера добавили (вернули) изделие в заказы;
7. Снова, забыв отменить предыдущую отправку, подтверждение заказа и уведомление об отгрузке. Т.е. у провайдера остались в БД старые документы.

Признать свой косяк очень сложно, поэтому меня назначили основным виноватым, так как в программе нет средств оперативного обнаружения таких ошибок... Хорошо - сделал:

Теперь каждая операция выгрузки документов УС в программу интеграции:





Ведёт лог по полному выгруженному набору информации, по каждой операции отдельный лог файл с именем, содержащим дату и время выгрузки до секунды, где содержится подробная информация о выгрузке товарных позиция и проблемами при выгрузке по причине неполного оформления реквизитов справочников или сбоя БД УС:




Пример информации из файла логов - обычный текстовый файл в 1251 кодировке:

Код:
Заказ от 14.02.22 №_6467
Err не найдено/пустой GTIN: 019O Палет (Европоддон 1200*800)    шт
Заказ от 15.02.22 №_6038
      CR  Торт "Сникерс" 650                                514.000     108.12 Х607124660811
Заказ от 15.02.22 №_6044
      CR  пирожное "Профитроли со вкусом пломбира"          867.000      48.81 Х607124660873
Заказ от 15.02.22 №_6051
      CR  Торт "Сникерс" 650                                348.000     108.12 Х607124660811
Заказ от 15.02.22 №_6070
      CR  Торт "Рулет Сказка" 500                           428.000      69.39 Х607124660781
Заказ от 15.02.22 №_6071
      CR  Торт "Вдохновение 600"                            166.000     100.47 Х607124660743
Заказ от 15.02.22 №_6468
Err не найдено/пустой GTIN: 019O Палет (Европоддон 1200*800)    шт
Заказ от 15.02.22 №_6468
Err не найдено/пустой GTIN: 019O Палет (Европоддон 1200*800)    шт
Заказ от 15.02.22 №_6469
Err не найдено/пустой GTIN: 019O Палет (Европоддон 1200*800)    шт
Заказ от 15.02.22 №_6470
Err не найдено/пустой GTIN: 019O Палет (Европоддон 1200*800)    шт
Заказ от 15.02.22 №_6471
Err не найдено/пустой GTIN: 019O Палет (Европоддон 1200*800)    шт
Заказ от 16.02.22 №_6036
      CR  торт "Бисквитный с масл.кремом" Классика 600        6.000      95.20 Х607124660736
Заказ от 16.02.22 №_6057
      CR  Торт "Вдохновение 600"                            170.000     100.47 Х607124660743
Заказ от 16.02.22 №_6066
      CR  пирожное "Профитроли со вкусом пломбира"          759.000      48.81 Х607124660873