Почему в 1С:Розница 2.3 возникает ошибка проверки кода маркировки при пробитии чека и как это исправить

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

При переходе на новый формат фискальных данных (ФФД 1.2) и обновлении программных продуктов 1С до актуальных версий многие пользователи сталкиваются с неприятной ситуацией: при попытке пробить чек с маркированным товаром (например, обувью) система выдает ошибку «Неполный код маркировки» или «Код маркировки не прошел проверку». При этом зачастую наблюдается странное поведение: если добавить товар через специальную форму подбора и проверки, код считывается корректно. Рассмотрим подробно, почему так происходит, и разберем по шагам способы решения этой проблемы.

Анализ причин возникновения ошибки

Проанализируем ситуацию: почему в режиме «Подбор и проверка» (через кнопку «Марки») всё работает, а при прямом сканировании в чек возникают ошибки? Дело в том, что в 1С:Розница реализованы разные алгоритмы обработки входящих данных от сканера в зависимости от контекста. При открытом окне проверки система ожидает конкретно DataMatrix и применяет более гибкие механизмы парсинга. При сканировании напрямую в корзину чека срабатывает жесткая проверка структуры кода на соответствие стандартам GS1, необходимая для формирования запроса в ОИСМ (Честный Знак) через кассовое ядро.

Выделим основные технические факторы, вызывающие сбои:

  1. Некорректная передача символа-разделителя GS1 (ASCII 29): Сканер может быть настроен так, что он «проглатывает» этот символ или заменяет его на пробел.
  2. Устаревшая версия драйвера ККТ: Версии линейки 10.10.0.0 имели баги в работе с ФФД 1.2.
  3. Таймауты связи: Проверка маркировки требует обращения кассы к серверам ИС МП, что занимает время.
  4. Конфликт версий БПО: Старые релизы библиотеки подключаемого оборудования некорректно инициализируют сессию проверки.

Шаг 1. Настройка сканера штрихкодов и передача символа GS

Выясним причину ошибки «Неполный код маркировки». По стандарту DataMatrix для маркированных товаров содержит скрытый символ-разделитель GS (Group Separator, десятичный код ASCII 29). Если сканер настроен в режиме эмуляции клавиатуры или неправильно настроен в режиме COM-порта, этот символ теряется. 1С не видит границ между идентификатором применения и криптохвостом, из-за чего считает код поврежденным.

Что необходимо сделать:

  1. Переведите сканер в режим USB-COM (Serial Emulation). Это обязательное требование для стабильной работы с маркировкой.
  2. В настройках драйвера сканера в 1С убедитесь, что префиксы и суффиксы установлены корректно (обычно суффикс — 13 (CR)).
  3. Проверьте сканер через «Тест устройства». Отсканируйте код маркировки. В строке данных вы должны увидеть символ <29> или #29. Если его нет — сканер нужно перенастроить с помощью управляющих штрихкодов или использовать расширение для передачи символа GS (ищите пункты «Enable GS1 DataMatrix» или «Format GS1»).

Шаг 2. Обновление драйвера АТОЛ и прошивки ККТ

Рассмотрим подробнее программную часть. В сообщениях часто фигурирует драйвер версии 10.10.0.0. Данная версия признана нестабильной для работы с ФФД 1.2 — решить проблемы совместимости поможет обработка интеграции ККТ АТОЛ и Штрих под ФФД 1.2. Для корректной обработки запросов [M+] необходимо обновить компоненты.

Рекомендуемые действия:

Шаг 3. Настройка таймаутов проверки в 1С

Часто проверка не проходит с первого раза, потому что система «сдается» раньше, чем получает ответ от «Честного Знака». При пробитии чека касса отправляет запрос в ОИСМ, используя механизм проверки разрешительного режима марок. По умолчанию таймаут в 1С может быть установлен на 5 секунд, чего недостаточно при нестабильном интернете или высокой нагрузке на сервера маркировки.

Разберем, как увеличить время ожидания:

  1. Зайдите в раздел Администрирование — Подключаемое оборудование.
  2. Откройте настройки вашей ККТ.
  3. Найдите параметр «Таймаут ответа от ККТ» или «Таймаут проверки КМ».
  4. Увеличьте значение до 15–30 секунд. Это позволит кассе дождаться ответа от сервера ОИСМ без прерывания операции, а для строгого контроля можно использовать запрет продажи при отсутствии ответа от Честного знака.

Шаг 4. Устранение проблем с электропитанием сканера

Если после обновления или изменения настроек сканер начинает периодически «отваливаться» (перестает реагировать на кнопку, требует переподключения кабеля), проанализируем физическое подключение. Дешифрация сложных кодов DataMatrix требует пиковой мощности от USB-порта.

Попробуйте следующие меры:

Шаг 5. Особенности конфигурации Розница 2.3

Посмотрим на версию конфигурации. Релиз 2.3.9.42 является довольно старым. В более поздних версиях (ветка 2.3.15 и выше) разработчики 1С значительно оптимизировали работу Библиотеки Подключаемого Оборудования (БПО).

Проанализируем программный механизм: при первом сканировании в чеке система может не успеть проинициализировать контекст работы с ИС МП. При повторном сканировании или через форму «Марки» сессия уже активна, поэтому всё проходит успешно. Обновление конфигурации до актуального релиза часто решает проблему «второго сканирования» за счет исправленных внутренних механизмов кэширования ответов ККТ — также для этой задачи подходит модуль подключения касс АТОЛ и ШТРИХ-М в 1С:Розница.

Пример программной логики, которая проверяется системой (условно):


// Пример логики проверки кода в БПО
РезультатПроверки = ИнтеграцияИСМП.ПроверитьКодМаркировки(СчитанныйКод, ПараметрыККТ);
Если РезультатПроверки.Статус <> "Успешно" Тогда
    // Если таймаут мал, мы попадаем сюда при первом запросе
    ВызватьИсключение "Ошибка проверки КМ: " + РезультатПроверки.ТекстОшибки;
КонецЕсли;

Резюме и рекомендации

Для стабильной работы и исключения ошибок при пробитии чеков рекомендуем придерживаться следующего чек-листа:

  1. Обновите 1С:Розница до последнего актуального релиза ветки 2.3.
  2. Обновите драйвер АТОЛ до 10.10.5.0.
  3. Настройте сканер в режим COM-порта и убедитесь в передаче символа GS (#29).
  4. Увеличьте таймауты в настройках оборудования до 30 секунд.
  5. Если проблема сохраняется только на конкретных моделях сканеров, рассмотрите возможность тестирования с устройствами, имеющими лучшую оптику (например, Mertech или Sunmi), так как качество печати кодов на обувных коробках часто бывает низким.

Соблюдение этих шагов позволит минимизировать количество ручных манипуляций кассира и обеспечит корректное выполнение требований законодательства по ФФД 1.2 — для автоматизации печати с нескольких мест пригодится решение для удаленной печати чеков с поддержкой ФФД 1.2.

← На главную