Почему 1С требует полный код маркировки табака с МРЦ и как это исправить?

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

При работе с табачной продукцией в программах 1С:Розница 2.3.6 и выше, а также в актуальных релизах 1С:Управление торговлей, пользователи часто сталкиваются с ошибкой: «Невозможно добавить табачную продукцию. Требуется полный код маркировки, включая МРЦ». Эта ситуация блокирует продажи и вызывает массу вопросов, так как визуально код на пачке кажется полным. Разберем детально причины возникновения этой ошибки и алгоритм ее решения.

Проанализируем структуру кода маркировки

Для начала нам необходимо понять, что именно ищет программа в считанном штрихкоде. Табачная марка формата DataMatrix — это не просто набор символов, а структурированная последовательность данных по стандарту GS1. Рассмотрим составные части кода для пачки сигарет:

  1. 01 (GTIN): Глобальный номер товарной продукции (14 цифр).
  2. 21 (Серийный номер): Индивидуальный номер упаковки (7 символов).
  3. 8005 (МРЦ): Максимальная розничная цена (4 символа).
  4. 93 (Код проверки): Так называемый «криптохвост» (4 символа).

Проблема «Требуется полный код» чаще всего означает, что 1С не смогла найти в считанной строке идентификатор применения 8005. Если программа получает строку, где есть только GTIN и серийный номер, она считает такой код неполным и запрещает продажу.

Выясним причину: диагностика через «Блокнот»

Прежде чем менять настройки в 1С, нам нужно определить, на каком этапе теряются данные. Проведем простой эксперимент: откройте на рабочем столе обычный текстовый редактор («Блокнот») и отсканируйте в него проблемную пачку сигарет.

Проанализируем результат:

Решение 1: Настройка сканера и передача символа FNC1

Одной из скрытых причин является отсутствие передачи управляющего символа FNC1 (или GS с кодом ASCII 29). Этот символ служит разделителем между блоками данных в коде DataMatrix. Если сканер настроен в режиме эмуляции клавиатуры (HID), он часто пропускает эти непечатные символы, превращая код в «кашу», которую 1С не может корректно распарсить.

Рассмотрим шаги по исправлению:

  1. Переведите сканер в режим USB-COM (эмуляция COM-порта). Для этого необходимо отсканировать специальный управляющий штрихкод из инструкции к вашему сканеру.
  2. В настройках 1С (Администрирование — Подключаемое оборудование) измените тип подключения сканера на соответствующий COM-порт.
  3. Убедитесь, что в параметрах драйвера в 1С установлен правильный префикс и суффикс (обычно суффикс 13 или CR).

Решение 2: Проверка типа номенклатуры и настроек ИС МП

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

Решение 3: Обновление драйверов и ККТ

Если сканер передает верные данные, но ошибка возникает в момент пробития чека, проанализируем состояние кассового софта. Для корректной передачи марки в ОФД требуются современные теги (например, 1162 или 2108). Если прошивка ККТ устарела, она может «отбрасывать» часть кода при попытке формирования фискального признака.

Рекомендуется обновить драйвер устройства 1С до последней версии (например, 10.X для АТОЛ или соответствующие версии для Штрих-М). Старые версии драйверов не умели работать с переменной длиной DataMatrix, которая характерна для табака с МРЦ.

Особенности работы с блоками и пачками

Заметим важный нюанс: часто блоки сигарет добавляются в документ без проблем, а отдельные пачки — нет. Это происходит потому, что код на блоке является агрегированным. В нем может не содержаться явного упоминания МРЦ в строке самого кода, так как система Честный Знак знает цену через привязку к вложенным пачкам. Если пачки из этого блока не принимаются, значит, сканер настроен на чтение упрощенных кодов и игнорирует расширенную структуру DataMatrix.

Пример анализа кода

Посмотрим на пример того, как должен выглядеть «правильный» код в диагностическом окне или блокноте при включенных спецсимволах:

010460123456789021ABC1234<GS>800501500093ABCD

Где <GS> — это тот самый невидимый символ разделителя. Если вместо него вы видите просто слитый текст или символы обрываются на серийном номере, необходимо сбросить настройки сканера к заводским и настроить его заново на чтение Data Matrix с поддержкой GS1.

Таким образом, для решения проблемы мы должны действовать комплексно: сначала проверить физический вывод данных со сканера в блокнот, затем настроить передачу спецсимволов через режим COM-порта и в завершение убедиться, что карточка товара в 1С соответствует категории маркируемой табачной продукции.

← На главную