При работе с государственной системой маркировки «Честный знак» в программных продуктах 1С (таких как «1С:Комплексная автоматизация», «1С:ERP» или «1С:Управление торговлей») пользователи часто сталкиваются с жестким ограничением: система безопасности 1С позволяет распечатать полученные коды маркировки только один раз. Это сделано для минимизации рисков дублирования уникальных марок на складе и предотвращения пересортицы.
Однако в реальной практике регулярно возникают нештатные ситуации: принтер этикеток замял ленту, закончился риббон, произошел сбой питания или этикетка повредилась при транспортировке. В таких случаях возникает необходимость напечатать коды повторно. В этой статье мы подробно разберем, как обойти ограничение однократной печати стандартными средствами, как решить проблему программным путем и какие лучшие практики помогут защитить ваш бизнес от утери кодов маркировки.
Разработчики фирмы 1С предусмотрели штатную сервисную команду для сброса отметки о том, что этикетки уже выводились на принтер. Чтобы воспользоваться этим механизмом, выполним следующие шаги:
ЗаказНаЭмиссиюКодовМаркировкиСУЗ, по которому необходимо выполнить перепечатку.Если по какой-то причине в самом документе заказа кнопка сброса отсутствует или недоступна, мы можем обратиться напрямую к первоисточнику данных в информационной базе 1С. Информация о состоянии каждого кода хранится в специальном регистре сведений.
Рассмотрим по шагам, как очистить признак печати через этот регистр:
ПулКодовМаркировкиСУЗ.ДатаПечати. Именно заполнение этого поля блокирует повторный вывод этикетки.ДатаПечати (сделать его пустым) или изменить статус кодов обратно на «Готов к печати».Часто пользователи сталкиваются со следующей проблемой: они нажимают заветную кнопку «Сбросить признак печати», но система выдает критическую ошибку: «Коды маркировки отсутствуют. Возможно, они уже введены в оборот и удалены из пула». Давайте проанализируем, почему так происходит.
Дело в том, что в типовых конфигурациях 1С настроен механизм автоматической оптимизации базы данных и защиты от дублирования. Для большинства товарных групп (одежда, обувь, БАДы, антисептики и др.) настроено правило: как только документ МаркировкаТоваровИСМП (или «Отчет о нанесении») успешно отправлен и подтвержден в системе «Честный знак», 1С физически удаляет уникальные коды с криптохвостами из регистра ПулКодовМаркировкиСУЗ. Также очистку могут производить фоновые регламентные задания по расписанию. Если коды уже удалены из пула базы данных, восстановить их стандартным нажатием кнопок внутри 1С для повторной печати не удастся.
Если бизнес-процессы вашей компании предполагают частую повторную маркировку (например, при возвратах от покупателей или частой порче этикеток на складе), типовое поведение системы по автоматическому удалению кодов из пула можно скорректировать с помощью расширения конфигурации.
Проанализируем алгоритм решения этой задачи:
ПулКодовМаркировкиСУЗ.ОчисткаПулаКодовМаркировкиПоОтчетуОНанесении с помощью аннотации &Вместо.
&Вместо("ОчисткаПулаКодовМаркировкиПоОтчетуОНанесении")
Процедура Мой_ОчисткаПулаКодовМаркировкиПоОтчетуОНанесении(КодыМаркировки)
// Мы блокируем стандартный вызов очистки пула кодов маркировки.
// Оригинальная строка закомментирована:
// ПродолжитьВызов(КодыМаркировки);
// При необходимости здесь можно прописать собственную логику архивации кодов
// или ведения лога повторной печати для службы безопасности.
КонецПроцедуры
При таком подходе коды маркировки с криптохвостами будут постоянно оставаться в вашей локальной базе данных, и вы сможете сбрасывать дату печати и перепечатывать их неограниченное количество раз.
Если рядовой кладовщик или оператор печати заявляет, что у него в интерфейсе «Заказа на эмиссию» отсутствует кнопка сброса признака печати, проблема кроется в правах доступа. Команда сброса скрыта для обычных пользователей в целях безопасности.
Чтобы предоставить сотруднику такую возможность, в настройках прав доступа его профиля в 1С необходимо активировать специализированную роль: АдминистрированиеИСМП (в различных редакциях программ название может незначительно отличаться, например, «Администрирование ИС МП» или «Добавление изменение кодов маркировки»). Без этой роли команда сброса даты печати в меню «Еще» просто не отобразится.
Если коды маркировки уже удалены из базы 1С, у нас остается теоретическая возможность выгрузить их повторно напрямую из личного кабинета (ЛК) системы «Честный знак». Однако здесь в силу вступает важнейшее законодательное и техническое ограничение СУЗ (Станции управления заказами):
Скачать файл с полными кодами маркировки, содержащими криптографический хвост (необходимый для генерации корректного штрихкода DataMatrix), можно только в течение 48 часов (2 суток) с момента их эмиссии.
По истечении этого времени СУЗ безвозвратно удаляет криптохвосты со своих серверов. В личном кабинете останется доступен только список самих Кодов Идентификации (КИ) без проверочных кодов. Сгенерировать полноценную этикетку из такого усеченного списка стандартным принтером невозможно — эти коды пригодны только для ввода данных вручную в текстовых документах ЛК.
Чтобы навсегда обезопасить компанию от потери дорогостоящих кодов маркировки при технических сбоях, рекомендуем внедрить в рабочий процесс два простых правила: