Что делать, если утерян криптохвост кода маркировки и очистился пул в 1С?

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

В процессе работы с маркировкой в 1С:Розница 3.0 или других конфигурациях пользователи часто сталкиваются с критической ситуацией: коды маркировки (КМ) были заказаны через СУЗ, введены в оборот документом «Ввод в оборот», но при этом не были распечатаны. В результате стандартных алгоритмов 1С Пул кодов маркировки СУЗ очищается, и в базе остаются только сами коды (GTIN + серийный номер), но отсутствует обязательная проверочная часть — криптохвост.

Проанализируем ситуацию: без криптохвоста невозможно сформировать корректный DataMatrix-код. При сканировании такого неполного кода мобильное приложение «Честный ЗНАК» выдаст ошибку «Сомнительный товар», а продажа на кассе будет заблокирована. Разберем по шагам, можно ли восстановить эти данные и как правильно выйти из сложившейся ситуации.

Почему невозможно сгенерировать криптохвост программно?

Выясним причину, по которой даже самый опытный программист не сможет «дописать» недостающую часть кода. Криптохвост (код проверки) — это уникальная последовательность символов, которая генерируется исключительно на стороне эмиссионного регистратора ЦРПТ (Оператора системы маркировки).

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

Способ 1: Поиск данных в Личном кабинете СУЗ и архивах

Если в 1С пул очищен, первым делом проанализируем состояние заказов непосредственно в облачном сервисе «Честного ЗНАКА». Рассмотрим последовательность действий:

  1. Зайдем в личный кабинет «Честного ЗНАКА» в раздел СУЗ (Станция управления заказами).
  2. Перейдем на вкладку «Заказы» и найдем тот самый заказ, по которому были получены проблемные коды.
  3. Проверим статус заказа. Если он еще не перемещен в архив, в системе могут быть доступны файлы выгрузки (в форматах PDF, CSV или XML).
  4. Попробуем повторно скачать эти файлы. Важно: ЦРПТ хранит сформированные коды в течение ограниченного времени (обычно до 30 дней с момента эмиссии). Если это время не истекло, вы сможете получить полные коды с криптохвостами и распечатать их заново.

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

Если внешние архивы СУЗ недоступны, проанализируем возможность восстановления данных из базы 1С. В типовых конфигурациях сведения о кодах маркировки хранятся в специализированных регистрах сведений. Если у вас настроено регулярное резервное копирование, мы можем «вытащить» данные оттуда.

Рассмотрим алгоритм действий для программиста:

  1. Развернем копию базы, созданную до момента ввода кодов в оборот (пока пул еще не был очищен).
  2. Найдем регистр сведений, отвечающий за хранение пула кодов (например, РегистрСведений.ПулКодовМаркировкиСУЗ).
  3. Напишем простую обработку по переносу данных из этого регистра из старой базы в текущую рабочую.

Пример логики запроса к регистру для поиска кодов:


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

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

Если удалось найти ПолныйКодМаркировки, значит, криптохвост спасен. Его можно использовать для повторной печати этикеток.

Способ 3: Легальная процедура перемаркировки

Если ни архивы СУЗ, ни бэкапы не помогли, остается только официальный путь. Поскольку коды уже введены в оборот, система считает товар промаркированным. Однако физически нанести корректный код мы не можем. Посмотрим, как решить это через механизмы системы:

  1. Вывод из оборота: Сначала необходимо вывести «испорченные» (некомплектные) коды из оборота. В качестве причины указываем «Брак» или «Потеря КМ». Это необходимо, чтобы ваши остатки в ГИС МТ соответствовали реальности и не произошло задвоения позиций.
  2. Заказ новых кодов: Заказываем новые коды маркировки через документ «Заказ на эмиссию».
  3. Оплата: К сожалению, за новые коды придется заплатить повторно. Это цена ошибки при нарушении бизнес-процесса печати.
  4. Перемаркировка: Если товар уже находится на складе, используем документ «Перемаркировка товаров», где указываем старый (неполный) код и привязываем к нему новый.

Как предотвратить очистку пула в будущем?

Разберем, почему 1С ведет себя именно так. В настройках интеграции с ИС МП (в разделе «Администрирование» — «Маркировка») существует опция, регулирующая хранение кодов. Проанализируем настройки:

Во-первых, проверьте флаг «Хранить коды маркировки в базе». Если он выключен, система удаляет криптохвосты сразу после того, как документ «Ввод в оборот» получает статус подтверждения от ГИС МТ. Это сделано для экономии места в базе данных, так как полные коды с криптохвостами занимают значительный объем при больших оборотах.

Во-вторых, строго соблюдайте регламент работы. Правильная последовательность действий выглядит так:

  1. Заказ кодов на эмиссию.
  2. Обязательная печать этикеток сразу после получения кодов из СУЗ.
  3. Физическая наклейка кодов на товар.
  4. Сканирование наклеенных кодов в документ «Маркировка товаров» или «Ввод в оборот».
  5. Только после подтверждения факта считывания — отправка данных в «Честный ЗНАК».

Важный совет: Если вы используете доработки или расширения, можно внедрить проверку, которая будет блокировать проведение документа «Ввод в оборот», если по данным заказа еще не было зафиксировано событие печати всех кодов из пула. Это защитит от «человеческого фактора», когда из-за спешки пропускается этап маркировки физических объектов.

Юридическая справка

Помните, что продажа товара с некорректным DataMatrix (без криптохвоста) приравнивается к торговле без маркировки. Согласно ст. 15.12 КоАП РФ, это влечет за собой административную ответственность и конфискацию товара. Поэтому затраты на повторный заказ кодов — это минимально возможные потери в сравнении с потенциальными штрафами.

← На главную