Почему номенклатура не распознается как маркируемая и как правильно заполнить Пул кодов маркировки СУЗ?

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

При работе с системой маркировки «Честный ЗНАК» в программах 1С:Управление торговлей, ERP или Комплексная автоматизация пользователи часто сталкиваются с ситуацией, когда некоторые позиции номенклатуры ведут себя некорректно: система не видит в них признака маркировки, а регистр Пул кодов маркировки СУЗ остается пустым. В этой статье мы подробно разберем механизмы работы системы маркировки, выясним, что на самом деле влияет на «узнаваемость» товара программой, и научимся правильно работать с техническими регистрами СУЗ.

Разберем причину: что определяет «маркируемость» товара?

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

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

  1. Откроем карточку проблемной номенклатуры и перейдем в её «Вид номенклатуры».
  2. Проверим поле «Особенность учета». Для маркируемых товаров там должно стоять соответствующее значение (например, «Товары из натурального меха», «Обувная продукция», «Табачная продукция» и так далее).
  3. Убедимся, что установлена корректная дата начала обязательной маркировки в настройках интеграции с ИС МП. Если текущая дата меньше даты начала мониторинга категории, система будет считать товар обычным.

Таким образом, регистр Пул кодов маркировки СУЗ является лишь «складом» для временного хранения полученных марок, но он никак не влияет на логику поведения карточки товара в документах.

Что такое Пул кодов маркировки СУЗ и как он заполняется?

Проанализируем назначение этого регистра. Пул кодов маркировки СУЗ — это техническое хранилище для кодов формата DataMatrix, которые уже эмитированы (выпущены) станцией управления заказами (СУЗ), но еще не были нанесены на товар или распечатаны.

Рассмотрим механизм автоматического заполнения этого регистра:

Заполнение происходит строго через цепочку документов обмена с «Честным ЗНАКом». Основным документом-инициатором является Заказ на эмиссию кодов маркировки СУЗ. Процесс выглядит следующим образом:

  1. Создается документ «Заказ на эмиссию», где указывается номенклатура и количество необходимых кодов.
  2. Документ отправляется в ГИС МТ.
  3. После того как СУЗ сформирует коды, статус документа в 1С изменится на «Коды маркировки эмитированы».
  4. В этот момент система автоматически загружает полученные DataMatrix в регистр Пул кодов маркировки СУЗ.

Важно помнить: вы не должны заполнять этот регистр вручную или сторонними обработками. Каждая запись в нем жестко привязана к идентификатору заказа (Order ID), который знает СУЗ. Ручное вмешательство приведет к тому, что вы не сможете корректно отчитаться о нанесении этих кодов.

Жизненный цикл кода внутри системы

Чтобы понять, почему в регистре могут отсутствовать данные по конкретным позициям, разберем путь кода маркировки внутри базы данных 1С:

  1. Эмиссия: Код попадает в Пул кодов маркировки СУЗ. На этом этапе он считается свободным и готовым к использованию.
  2. Печать или Нанесение: Когда вы открываете форму печати этикеток или создаете документ Маркировка товаров ИС МП с операцией «Отчет о нанесении», система «забирает» код из пула.
  3. Перемещение: Как только код привязывается к конкретной упаковке или печатается, запись из регистра Пул кодов маркировки СУЗ удаляется. Вместо этого создается запись в регистре Штрихкоды упаковок и товаров.

Выясним причину отсутствия данных: Если по вашим трем позициям в регистре пусто, это означает одно из двух: либо коды для них еще не были заказаны (эмитированы), либо они уже были распечатаны/использованы и перешли в категорию маркированных упаковок.

Технические нюансы: почему коды не попадают в пул?

Рассмотрим ситуации, когда заказ выполнен, но регистр остается пустым:

1. Ошибки сопоставления GTIN: Записи в пуле привязаны к коду товара (GTIN). Если вы изменили GTIN в карточке номенклатуры после того, как заказали коды, 1С не сможет сопоставить старые коды из пула с «новой» карточкой товара. Проверьте актуальность штрихкодов в справочнике Номенклатура.

2. Разные организации: Коды маркировки в пуле всегда привязаны к конкретной организации-владельцу. Если вы заказали коды на «Организацию А», а пытаетесь увидеть их в контексте «Организации Б», регистр будет пуст.

3. Регламентные задания: В типовых конфигурациях работают регламентные задания, которые могут очищать устаревшие коды из пула, если они не были использованы в течение установленного срока (например, если коды были заказаны, но не оплачены в СУЗ, или вышел срок их жизни).

Как правильно «дозаполнить» данные?

Если вам действительно необходимо наполнить пул кодов для работы, мы рекомендуем использовать только штатные механизмы:

Рассмотрим пример того, как программно проверить наличие свободных кодов в пуле (информация для разработчиков):


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

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

Если данный запрос возвращает пустой результат, значит, системе просто нечего предлагать для маркировки. В этом случае необходимо инициировать новый процесс эмиссии через интерфейс ИС МП в вашей программе.

Подведем итог: Не бойтесь отсутствия данных в регистре Пул кодов маркировки СУЗ, если товар уже промаркирован. Но всегда проверяйте Вид номенклатуры, так как именно он является «фундаментом» для правильной работы механизмов маркировки в 1С. Помните, что ручное редактирование технических регистров СУЗ — это крайняя мера, которая может привести к рассинхронизации данных с государственными серверами.

← На главную