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

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

При работе с маркированным товаром в программе 1С:Розница 2.3 (особенно в подсистеме Честный Знак для легкой промышленности) пользователи часто сталкиваются с ситуацией, когда при сканировании кода DataMatrix в рабочем месте кассира (РМК) номенклатура определяется правильно, но индикатор марки остается красного цвета. Это означает, что система не смогла верифицировать марку как корректную. Разберем подробно причины этого поведения и способы решения проблемы на примере сканера PORT HC-40.

Анализируем техническую суть проблемы

Для начала проанализируем, что происходит «под капотом» 1С в момент сканирования. Код маркировки (DataMatrix) — это не обычная текстовая строка, а структурированный набор данных формата GS1. Он содержит идентификатор применения (AI), GTIN, серийный номер и «криптохвост» (код проверки). Эти блоки данных разделяются специальным непечатным символом GS (Group Separator, ASCII 29).

Если 1С подтягивает товар, но марка горит красным, это сигнализирует о том, что программа получила данные, но их структура нарушена. Основные причины:

  1. Сканер «съедает» спецсимволы GS при передаче данных.
  2. Сканер настроен в режиме эмуляции клавиатуры (HID), и раскладка или префикс искажают символы.
  3. Некорректно настроен суффикс (завершающий символ сканирования).
  4. Прошивка сканера не поддерживает чтение инвертированных или сложных кодов маркировки.

Шаг 1. Проверяем настройки сканера в режиме GS1 DataMatrix

Выясним причину, почему сканер может передавать данные неверно. В бюджетных моделях, таких как PORT HC-40, поддержка передачи спецсимволов FNC1 и GS часто отключена по умолчанию. Рассмотрим порядок действий для исправления:

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

Важный момент: Если в 1С:Бухгалтерия марка подбирается, а в 1С:Розница нет — это не всегда означает ошибку в программе. 1С:Розница предъявляет более строгие требования к формату считанной марки в РМК для обеспечения законодательной чистоты чека.

Шаг 2. Перевод сканера в режим виртуального COM-порта

Посмотрим на ситуацию со стороны драйверов. Режим эмуляции клавиатуры (HID) крайне зависим от текущей раскладки Windows. Если в момент сканирования включена русская раскладка, спецсимволы могут быть интерпретированы неверно.

Разберем алгоритм перевода сканера в наиболее стабильный режим:

  1. Сканируем из полной инструкции код "USB Virtual COM Port".
  2. Устанавливаем в операционной системе соответствующий драйвер от производителя PORT.
  3. В 1С, в разделе Подключаемое оборудование, меняем настройки сканера, выбирая соответствующий номер COM-порта.

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

Шаг 3. Настройка суффиксов и символов-разделителей в 1С

Проанализируем настройки драйвера внутри 1С. Часто марка остается красной, потому что система не понимает, где заканчивается код. 1С ожидает символ CR (Enter) или LF в конце строки.

Перейдем в настройки драйвера 1С:Сканеры штрихкода (NativeApi):

Рассмотрим пример настройки для режима клавиатуры. Попробуем установить суффикс CR+LF (комбинация 13 и 10). Это часто помогает, если марка считывается, но не подтверждается нажатием «виртуального» ввода. Если проблемы со сканированием начались после обновления программы, можно воспользоваться инструментами для восстановления корректной работы драйвера 1С:Сканеры штрихкода.

Шаг 4. Проверка GTIN и карточки номенклатуры

Выясним, нет ли расхождений в данных самого товара. Код маркировки содержит GTIN (14 цифр). 1С сопоставляет этот GTIN со штрихкодом, указанным в карточке номенклатуры.

Рассмотрим типичную ошибку: в карточке товара штрихкод записан как 4601234567890 (13 знаков), а в марке он записан с ведущим нулем 04601234567890.

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

  1. Убедимся, что для товара установлен правильный Тип номенклатуры (например, "Товары легкой промышленности и одежда").
  2. Проверим, что в настройках интеграции с ИС МП (Администрирование — Настройки интеграции) включен учет именно этой товарной категории.

Шаг 5. Программная отладка получения кода

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


// В обработчике внешнего события сканера
ДанныеШтрихкода = СчитатьШтрихкод(ПараметрыСобытия);
// Проверьте длину строки ДанныеШтрихкода. 
// Если она меньше 31 символа (для упрощенных марок) 
// или содержит некорректные символы вместо GS (ASCII 29),
// 1С не сможет разобрать структуру марки.

Используйте стандартную обработку "Тест устройства" в настройках оборудования 1С. При сканировании марки в поле «Результат» вы должны увидеть не просто цифры и буквы, а управляющие символы (часто отображаются как стрелочки или значки #29). В случае, если сканер не передает эти спецсимволы, можно использовать расширение для программного добавления символов GS в считанный код маркировки.

Итог решения для сканера PORT HC-40

Как показала практика, для модели PORT HC-40 решение заключается в обращении к технической поддержке производителя или поиске расширенного мануала. Необходимо считать специальный программный код, который активирует корректный режим передачи данных для 1С. В комплекте поставки этого кода обычно нет. После считывания сервисного штрихкода сканер начинает правильно передавать структуру GS1, и марка в 1С:Розница мгновенно становится зеленой.

Важное напоминание: Всегда проверяйте сканер на сайте Честного Знака в разделе "Проверка сканера". Если сайт говорит, что сканер настроен неверно, 1С:Розница тем более не сможет обработать такой код.

← На главную