Как напечатать полный код маркировки Честный знак в 1С, если в файле отсутствует криптохвост?

Программист 1С v8.3 (Управляемые формы) Управленческий учет Торговля и дистрибуция
← На главную

При работе с маркировкой молочной продукции, обуви или легкой промышленности программисты 1С часто сталкиваются с ситуацией, когда выгруженный из личного кабинета «Честного знака» (ГИС МТ) файл содержит только часть кода. Вместо полных 31 или более символов в распоряжении оказывается лишь 24 знака. Опираясь на практический опыт быстрой маркировки товаров без ошибок, разберем подробно, почему так происходит, где найти недостающие данные и как правильно настроить печать в 1С, чтобы коды считывались мобильным приложением и сканерами.

Разберем структуру кода и причину «усечения» данных

Для начала проанализируем, из чего состоит полный код маркировки (КМ). Он включает в себя:

  1. GTIN (14 символов): международный код товара.
  2. Серийный номер (7 символов): уникальный идентификатор единицы товара.
  3. Криптохвост (код проверки): символы, генерируемые оператором (ЦРПТ) для подтверждения подлинности.

Важно понимать: «Честный знак» выдает полный код с криптохвостом только один раз — в момент эмиссии (заказа) марок в Станции управления заказами (СУЗ). По правилам системы, крипточасть не подлежит повторной выдаче и длительному хранению в СУЗ в открытом виде. Чтобы не потерять данные, рекомендуется использовать инструменты для сохранения полных кодов маркировки сразу после их генерации. Если вы скачали файл спустя 24 часа или получили его в формате, отличном от первичной выгрузки, вы получите только Код идентификации (КИ) без криптохвоста. Печать этикетки на основе только КИ сделает марку невалидной.

Как получить полный код для печати

Рассмотрим основные стратегии получения корректных данных для формирования DataMatrix:

  1. Сохранение при эмиссии: Настроим процесс так, чтобы в момент получения кодов из СУЗ они сразу записывались в информационную базу 1С. В типовых конфигурациях для этого используется справочник ШтрихкодыУпаковок. Если же первичная печать не удалась, может потребоваться повторная печать кодов маркировки из Заказа на эмиссию, что требует определенных манипуляций со статусами в СУЗ.
  2. Использование формата PDF/EPS: Если CSV-файл уже недоступен, можно скачать готовые макеты. Однако иногда возникает необходимость реализовать печать кодов маркировки при их считывании сканером или напрямую из файлов поставщика для адаптации под собственные нужды предприятия.
  3. Прямая интеграция через API СУЗ: При программном запросе через API мы получаем коды в формате Base64, которые содержат полную последовательность данных.

Техническая реализация печати: решаем проблему FNC1

Частая ошибка при печати своим шаблоном — неправильная обработка спецсимвола FNC1. Даже имея полный код, разработчики получают нечитаемую марку. Стандарт GS1 DataMatrix требует наличия в начале кода невидимого символа FNC1 (ASCII 232). Если вы работаете с маркетплейсами, вам может пригодиться дубликатор кодов маркировки для WB и Ozon, который умеет корректно копировать и печатать любые КИЗы с сохранением структуры криптохвоста.

В современных конфигурациях 1С используется компонента ПечатьШтрихкодов. Для маркировки «Честный знак» необходимо использовать тип 24 (GS1 DataMatrix).

Разберем пример кода для вывода на печать:


// Пример подготовки данных для компоненты печати
Область = Макет.ПолучитьОбласть("ОбластьШтрихкод");
Рисунок = Область.Рисунки.Штрихкод;

// Устанавливаем тип GS1 DataMatrix
Рисунок.Объект.ТипКода = 24; 

// Если код получен из СУЗ в формате Base64, передаем его напрямую
Рисунок.Объект.Сообщение = ПолныйКодВФорматеBase64;

Важно не добавлять символ с кодом 232 вручную в строку как текст при использовании типа 24 — это приведет к ошибке распознавания.

Использование пользовательских шаблонов в СУЗ

Проанализируем альтернативный вариант: система «Честный знак» поддерживает загрузку собственных шаблонов в формате .jrxml (создаются в Jaspersoft Studio).

Алгоритм действий следующий:

  1. Создаем макет в Jaspersoft Studio, размещая там поле для DataMatrix.
  2. Загружаем файл в Личный кабинет ГИС МТ в разделе «Пользовательские шаблоны».
  3. При заказе кодов в СУЗ выбираем этот шаблон.
  4. Система сама сформирует PDF с полными кодами, которые останется только напечатать.

Проверка и валидация результата

Выясним, как проверить, правильно ли напечатана этикетка. Обычный сканер в режиме клавиатуры может «проглатывать» спецсимволы. Для качественной проверки воспользуемся мобильным приложением «ЧЗ.Сканер».

Важные моменты при проверке:

Таким образом, мы выяснили, что ключ к успешной печати — это получение кодов в первые 24 часа после эмиссии и правильная настройка компоненты печати 1С. Это гарантирует наличие криптохвоста и управляющего символа FNC1, без которых легальный оборот продукции невозможен.

← На главную