Сегодня хотим разобрать настройку автоматической передачи данных в систему “Честный знак” на базе 1С:ERP на конкретном примере одного из наших клиентов, с ошибками и проблемами, которые возникают из-за еще не до конца налаженной работы системы “Честный знак” и 1С.
Наш Клиент работает на 1С: ERP Управление предприятием 2 (2.4.11.65) со стандартной конфигурацией.
В ходе маркировки остатков у Клиента постоянно возникали следующие ошибки:
Большая часть ошибок не повторялась, поэтому мы предполагали, что это проблемы ЧЗ.
Обратившись в “Честный знак” мы получили ответ, что данный код маркировки корректен и должен нормально обрабатываться любым ПО.
Во время переписки с ЧЗ и нашего разбора ошибки, вышло обновление, с огромным количеством недокументированных изменений в общих модулях связанных с маркировкой.
Установив и проверив типовой функционал 1С, обнаружили, что данная проблема не решилась.
Мы стали углубляться в проблему и столкнулись с ошибкой сканирования кода – такого формата
“(01)029******(21)*JC***(62”
Пришлось погрузиться в отладчик и вылавливать ошибку.
Проблема оказалась в том, что один и тот же код маркировки в разных интерфейсах 1С расшифровывается разными участками кода, хотя результат разбора должен быть одинаковым.
И в 1 и во 2 случае разработчики не учли, что открывающееся скобка в коде маркировки может содержаться в “криптохвосте”.
“(01)029******(21)*JC***(62”
Исходя из этого мы сделали патч, который исправляет логику разбора кода маркировки в нескольких модулях.
На момент публикации статьи, наш патч позволяет безошибочно считывать и вводить коды в оборот, но из-за нестабильности сервиса “Честный знак” обмен с ИС МП, доступ в личный кабинет и т.д. осуществляется с перебоями и задержками.
P.S. Кроме того, в ходе тестирования системы маркировки выяснилось, что 1С способна напечатать один и тот же штрих-код только 1 раз, поэтому советуем не запускать на печать весь пул кодов маркировки от ЧЗ, так как в случае если в принтере закончилась бумага, произошел какой-либо сбой и т.д. больше Вы не сможете напечатать данный код.
В этом случае вам потребуется дополнительная обработка, которая позволяет очистить информацию о том, конкретный код маркировки был распечатан или все.
d-stream
emb
вообще-то, это требование прописано в соответствующем постановлении. напечатать один раз и после этого криптохвост из БД удалить
d-stream
Только вот если подходить к этому основательно — лучше удалить после того как удалось убедиться что маркировка успешно напечаталсь и успешно была например наклеена (не нарушила своей целостности).