Вопрос хранения полных кодов маркировки, включающих «криптохвост», является одним из самых обсуждаемых среди разработчиков 1С. Действующие требования Приказа Минпромторга России от 18.04.2023 N 1421 предписывают удалять криптографическую часть кода после завершения производственного цикла. Давайте разберем, как выстроить процессы в учетной системе, чтобы обеспечить удобство работы, не вступая в конфликт с законом.
Ключевым понятием здесь является производственный цикл. Согласно нормам, хранение кодов с криптографией разрешено только в процессе маркировки товара. Как только товар промаркирован и отчет о нанесении отправлен в «Честный ЗНАК» (ЧЗ), необходимость в хранении кодов в базе отпадает. Однако на практике возникают ситуации, когда требуется повторная печать этикетки — например, при повреждении кода на упаковке или ошибке принтера.
Если вам требуется возможность повторной печати, наиболее безопасным подходом является вынос кодов за пределы базы данных 1С. Вместо того чтобы хранить криптохвосты в справочниках или регистрах 1С, что прямо запрещено, поступайте следующим образом:
PDF, содержащие графические образы кодов.ТУС).Важно помнить: после того как потребность в повторной печати (исправление брака) отпала, архивные файлы также должны быть удалены. Таким образом, вы не нарушаете закон, так как не храните коды «постоянно», а используете их только в рамках операционной необходимости.
Частый вопрос от системных администраторов: что делать с резервными копиями (бэкапами), в которых физически остаются коды с крипточастью? С точки зрения правоприменительной практики, бэкап — это снимок системы на конкретный момент времени.
Если бэкап не используется для несанкционированного ввода товаров в оборот, его наличие не является нарушением правил работы с СКЗИ. Тем не менее, для минимизации рисков при возможных проверках рекомендуется:
Рассмотрим, как правильно обрабатывать данные перед отправкой в ЧЗ. Типовые конфигурации 1С, такие как Управление торговлей или ERP, используют для обмена API системы маркировки. Основная сложность заключается в том, что коды передаются в формате DataMatrix, который требует специфического кодирования.
Если вы разрабатываете собственные инструменты для автоматизации, помните о следующем:
РегламентныеЗадания, которые будут проверять наличие записей в регистрах маркировки и удалять их по истечении установленного законом срока производственного цикла.Разберем пример логики очистки, которую можно внедрить в обработчик:
Процедура ОчиститьКодыМаркировки(ДатаГраница)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ СсылкаИЗРегистраКодов
|ИЗ РегистрСведений.КодыМаркировкиГенерация
|ГДЕ ДатаСоздания < &ДатаГраница";
Запрос.УстановитьПараметр("ДатаГраница", ДатаГраница);
РезультатЗапроса = Запрос.Выполнить();
// Дальнейшая логика удаления записей
КонецПроцедуры
В современных условиях разрешительного режима, когда касса при сканировании марки отправляет запрос в ЧЗ в режиме реального времени, попытки «подменить» коды становятся бессмысленными и опасными. Система проверяет статус кода «на лету». Поэтому любая доработка, позволяющая хранить коды «на всякий случай», должна сопровождаться строгим регламентом удаления данных.
Помните: ответственность за использование сторонних доработок всегда лежит на пользователе. Если вы используете «готовые решения» с рынков разработок, убедитесь, что в них предусмотрена функция автоматической очистки криптохвостов, или доработайте этот функционал самостоятельно. Использование программы как инструмента для легализации оборота контрафакта недопустимо и несет прямые юридические риски для бизнеса.