Как загрузить или восстановить коды маркировки из системы «Честный ЗНАК» в 1С:Комплексная автоматизация

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

В процессе работы с маркируемой продукцией в 1С:Комплексная автоматизация (КА) пользователи часто сталкиваются с ситуацией, когда коды маркировки (КМ) исчезают из регистра Пул кодов маркировки. Это происходит автоматически после того, как код был нанесен, введен в оборот или выведен из него. Однако потребность в повторной печати этикеток может возникнуть внезапно — например, из-за повреждения маркировки на складе или ошибок в учете. Особенно актуально это при работе с маркетплейсами, когда может потребоваться дубликатор кодов маркировки DataMatrix для WB и Ozon с функцией автоматической проверки статусов. Разберем подробно, как можно (и в каких случаях нельзя) восстановить эти данные.

Почему коды исчезают из 1С и что такое «криптохвост»

Проанализируем архитектуру хранения данных в 1С. Для печати полноценного DataMatrix кода системе необходима полная строка, состоящая из кода идентификации (GTIN + серийный номер) и кода проверки (так называемый «криптохвост»). Согласно требованиям регулятора и логике работы ГИС МТ, криптохвост должен быть удален из временных хранилищ после его использования.

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

Способ 1: Восстановление данных из архивной копии (BackUp)

Это самый надежный и зачастую единственный способ получить код с полным криптохвостом, если он был удален из текущей базы. Рассмотрим последовательность действий:

  1. Развернем архивную копию базы данных 1С на дату, когда коды еще находились в заказе или в пуле (до момента их списания/вывода из оборота).
  2. Проанализируем содержимое регистра сведений ПулКодовМаркировкиСУЗ.
  3. Используем консоль запросов или напишем небольшую обработку для выгрузки нужных кодов в файл (например, в формате CSV или XLSX).

Пример структуры кода для извлечения данных из пула в архивной базе:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ПулКодовМаркировкиСУЗ.КодМаркировки КАК ПолныйКод,
    |	ПулКодовМаркировкиСУЗ.КодИдентификации КАК КИ
    |ИЗ
    |	РегистрСведений.ПулКодовМаркировкиСУЗ КАК ПулКодовМаркировкиСУЗ
    |ГДЕ
    |	ПулКодовМаркировкиСУЗ.ЗаказСУЗ = &СсылкаНаЗаказ";

Запрос.УстановитьПараметр("СсылкаНаЗаказ", ВыбЗаказ);
Результат = Запрос.Выполнить();

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

Способ 2: Запрос отчета «Список кодов на балансе» в ГИС МТ

В современных релизах 1С:КА (начиная с версий 2.5.17 и выше) реализован механизм взаимодействия с ГИС МТ через документ Отчет ИС МП. Проанализируем, как это помогает решить нашу задачу.

Выясним причину, по которой этот способ может не подойти для печати новых этикеток: ГИС МТ хранит у себя только информацию о том, что код числится за вами. При запросе отчета система вернет список КИ (GTIN + серийный номер), но без криптохвоста. Этот метод часто применяется, когда требуется изучить практический опыт маркировки остатков товаров на складе для устранения хаоса в учете — для этого есть инструмент инвентаризации и сопоставления кодов маркировки с Честным Знаком.

Посмотрим на алгоритм действий:

  1. Перейдем в раздел Склад и доставка — Обмен с ИС МП.
  2. Создадим новый документ Отчет ИС МП.
  3. Выберем вид отчета: «Список кодов на балансе».
  4. Укажем организацию и товарную группу.
  5. Отправим запрос в ГИС МТ и дождемся ответа.

После обработки запроса в 1С загрузится список кодов. Несмотря на отсутствие крипточасти, этот метод полезен, если вам нужно просто сопоставить остатки или если ваше оборудование позволяет печатать DataMatrix по сокращенному коду.

Способ 3: Использование функционала СУЗ «Повторное получение кодов»

Рассмотрим техническую возможность, которую предоставляет API СУЗ версии 3.0. Существует метод retry, позволяющий повторно запросить коды по идентификатору подзаказа (blockId).

Важные условия и ограничения:

К сожалению, типовые конфигурации 1С при успешном получении кодов автоматически закрывают подзаказ. Однако для некоторых категорий товаров возможна повторная печать кодов маркировки из Заказа на эмиссию, если предварительно сбросить признак печати в меню «Еще». Если же 1С уже окончательно «закрыла» заказ, ГИС МТ удаляет криптохвосты из оперативной памяти.

Способ 4: Единственный легальный путь — Перемаркировка

Если коды выведены из оборота, удалены из базы и бэкапов не осталось, восстановить оригинальный DataMatrix со всеми защитными символами невозможно. В этой ситуации проанализируем процедуру Перемаркировки.

Разберем шаги по выполнению перемаркировки в 1С:КА:

  1. Создадим документ Перемаркировка товаров ИС МП.
  2. Укажем причину: «Испорчена или утеряна этикетка».
  3. В табличной части укажем старый код и закажем новый.
  4. После эмиссии нового кода система автоматически свяжет его со старым и обновит данные в ГИС МТ.

Итоги и рекомендации

Подводя итог, можно сказать следующее: загрузить коды «с хвостами» напрямую из ГИС МТ обратно в пул 1С после того, как они были отработаны, нельзя. Это защитный механизм системы.

Рассмотрим наши финальные рекомендации:

← На главную