Как настроить сканер штрихкодов в 1С для работы с маркировкой

· 9 мин

Содержание

Сканер исправно бьёт обычные штрихкоды, а код маркировки в 1С либо не читается, либо программа ругается Некорректный код маркировки и не даёт продать товар. Причина почти всегда одна — сканер теряет невидимый разделитель внутри Data Matrix. Настройка сканера в 1С для маркировки сводится к тому, чтобы этот символ дошёл до программы целым.

Ниже — как понять, что именно ломается, чем 2D-сканер для маркировки отличается от обычного, как настроить оборудование сервисными кодами и проверить результат прямо в 1С, не открывая Блокнот.

Механика одинакова для «1С:Бухгалтерии 8», «Управления торговлей 11.5» и «Розницы». Отличается лишь путь к рабочему месту Подключаемое оборудование — по тексту отмечаю, где смотреть.

Что читает сканер в коде маркировки

Код маркировки — это двумерный символ Data Matrix, а не привычный линейный штрихкод EAN-13. Внутри он устроен сложнее.

Полный код состоит из четырёх частей, склеенных техническими разделителями:

  • 🏷️ GTIN — код товара (14 цифр);
  • 🔑 серийный номер — уникальный для каждой единицы;
  • 🛡️ ключ проверки и код проверки (криптохвост от Честного ЗНАКа).

Между этими группами стоит служебный символ-разделитель. Именно из-за него всё и ломается.

Символ GS, ASCII 29 и FNC1 — в чём разница

Три названия — по сути один и тот же разделитель, но с разных сторон:

ТерминЧто этоГде встречается
FNC1функциональный символ стандарта GS1в самом коде Data Matrix
GS (Group Separator)как FNC1 передаётся в поток данныхна выходе сканера
ASCII 29 (0x1D)числовой код этого символав программе и утилитах

FNC1 «зашит» в картинку Data Matrix. Когда сканер расшифровывает код, он должен превратить FNC1 в символ GS с кодом ASCII 29 (шестнадцатеричное 1D) и передать его в 1С. 1С по этому разделителю понимает, где заканчивается GTIN и начинается криптохвост.

Если разделитель потерялся, 1С видит одну сплошную строку цифр и букв. Проверка кода в Честном ЗНАКе не проходит, продажа блокируется.

Почему разделитель не видно на экране

Символ GS — непечатаемый. В Блокноте, в поле ввода 1С или в браузере он выглядит как пустое место, квадратик или вообще ничем. Поэтому на глаз проверить наличие разделителя нельзя — и Блокнот для теста не годится (об этом ниже).

Почему сканер не передаёт символ GS

Самая частая поломка: сканер читает Data Matrix, что-то передаёт в 1С, но без разделителя. Вот откуда это берётся.

Режим HID «съедает» скрытый символ

Большинство сканеров по умолчанию работают в режиме HID (эмуляция клавиатуры) — сканер притворяется клавиатурой и «печатает» код в активное поле.

Проблема в том, что клавиатура не умеет нажать «символ GS» — такой клавиши физически нет. В режиме HID сканер либо выбрасывает разделитель, либо заменяет его на что-то своё. Код приходит в 1С битым.

Дешёвые и старые сканеры искажают Data Matrix

Бюджетные 2D-сканеры и старые прошивки часто:

  • ❌ не поддерживают GS1-режим вовсе;
  • ❌ передают разделитель как обычный пробел или ];
  • ❌ читают Data Matrix, но обрезают криптохвост.

Такой сканер годится для приёмки по накладной, но не для продажи маркированного товара на кассе.

Как битый код проявляется в 1С

Симптомы, по которым видно, что разделитель теряется:

  • при сканировании поле кода заполняется, но проверка выдаёт Некорректный код маркировки;
  • документ Отчёт о розничных продажах или чек не проводится;
  • в форме подбора код подсвечивается красным со статусом Не найден в ИС МП;
  • касса на разрешительном режиме отказывает в продаже.

Какой сканер нужен для маркировки

Прежде чем настраивать, убедитесь, что оборудование в принципе подходит.

Минимальные требования:

  • 📷 2D-сканер (имиджер) — линейный 1D коды Data Matrix не читает физически;
  • 🔤 поддержка режима передачи GS / GS1 в прошивке;
  • 🔌 возможность переключения в режим COM-порта (эмуляция RS-232) или корректная передача GS в HID.

Ходовые модели, которые уверенно работают с маркировкой из коробки: Honeywell серий 1450g/1470g, Zebra DS2208/DS4608, АТОЛ SB2108/2109, Mercury/Mertech 2310. Ориентир по цене проводного 2D-сканера — примерно от 4 000 до 12 000 ₽.

Если у вас уже есть сканер — не спешите его менять. Сначала проверьте, умеет ли он передавать GS после настройки.

Настройка сканера сервисными кодами

Сканер настраивается не через программу, а считыванием служебных штрихкодов из инструкции производителя. Логика у всех примерно одна.

Порядок настройки сканера под маркировку
Выполнено: 0 / 6

Вариант 1. Оставить HID, но включить передачу GS

Для многих современных сканеров достаточно считать один служебный код из раздела «GS1 / Data Matrix» инструкции. После этого сканер в режиме клавиатуры начинает отдавать GS корректно.

Порядок:

  1. Найдите в инструкции штрихкод Restore Factory Defaults — считайте его.
  2. Найдите раздел про Data Matrix — убедитесь, что чтение включено.
  3. Считайте код Enable GS1 Formatting (может называться Transmit FNC1 as GS, AIM ID, Function Code).
  4. Проверьте результат прямо в 1С (см. ниже).

Вариант 2. Перевести сканер в режим COM-порта

Если в HID разделитель упорно теряется — надёжнее переключить сканер в режим виртуального COM-порта (эмуляция RS-232). В этом режиме сканер отдаёт «сырой» поток байтов, включая ASCII 29, и ничего не режет.

  1. Считайте служебный код USB COM / USB Virtual COM Port.
  2. Установите драйвер виртуального COM-порта от производителя сканера (если Windows не подхватила сам).
  3. Посмотрите номер порта в Диспетчере устройствПорты (COM и LPT).
  4. Этот же порт укажите в настройках 1С.

После смены режима на COM сканер перестаёт «печатать» в Блокнот — это нормально. Теперь его данные принимает только программа через драйвер, а не эмуляция клавиатуры.

Настройка сканера в 1С: подключаемое оборудование

Теперь связываем сканер с программой. Путь зависит от конфигурации:

  • 1С:БухгалтерияАдминистрированиеПодключаемое оборудование;
  • 1С:УТ / РозницаНСИ и администрированиеПодключаемое оборудование (или РМК).

Шаги одинаковые:

  1. Включите флажок Использовать подключаемое оборудование.
  2. Откройте список, нажмите Создать.
  3. Тип оборудования — Сканеры штрихкода.
  4. Драйвер — 1С:Сканеры штрихкода (NativeApi).
  5. Нажмите Настроить и укажите режим подключения.

Что указать в драйвере оборудования

Ключевые параметры, от которых зависит чтение маркировки:

ПараметрДля HIDДля COM
Тип подключенияКлавиатураCOM-порт
Номер портаиз Диспетчера устройств
Скорость9600 или 115200 (как в сканере)
Обработка GSВключитьВключить

После настройки нажмите Тест устройства и поднесите сканер к любому коду маркировки. В окне теста должен появиться код, а в нём — разделитель.

В свежих релизах платформы (8.3.2x) драйвер NativeApi сам распознаёт GS в потоке. Если у вас старый внешний драйвер Сканеры штрихкода (ScanOPOS) — обновите его, старые версии часто режут разделитель.

Как проверить, что символ GS передаётся

Главное правило: Блокнот для проверки не подходит. Он не показывает непечатаемые символы — вы увидите слитную строку и решите, что всё сломано, хотя GS на месте (или наоборот).

Рабочие способы проверки:

Способ 1. Прямо в 1С

Откройте Тест устройства в подключаемом оборудовании и отсканируйте код. Если 1С показывает статус Код корректен или подсвечивает поля GTIN и серийного номера раздельно — разделитель дошёл.

Способ 2. Проверка кода при подборе

Создайте документ [Заказ клиента](https://1s-83.com/1s-buhgalteriya/zakaz-klienta-v-1s.html) / Чек и отсканируйте код в поле подбора маркированной продукции. 1С сама обратится в ИС МП. Ответ В обороте означает, что код прочитан целиком.

Способ 3. Онлайн-валидатор Data Matrix

Специальные сервисы проверки кодов Data Matrix (например, инструменты внутри личного кабинета Честного ЗНАКа или сторонние GS1-валидаторы) показывают разделители явно — в виде <GS> или \x1D. Если разделитель в отчёте есть — сканер настроен верно.

Проверьте себя
Сканер настроен, но 1С пишет «Некорректный код маркировки». С чего начать проверку?
Почему для проверки кода нельзя использовать Блокнот?
Какой тип сканера обязателен для чтения кодов маркировки?

Типичные ошибки и как их лечить

Диагностика: выберите симптом

Если не помогло: альтернативы

Когда сканер настроить не удаётся, есть обходные пути:

  • 🔄 Другой сканер. Одолжите заведомо рабочую модель (Honeywell 1470g, Zebra DS2208) и проверьте на ней — так вы поймёте, дело в оборудовании или в 1С.
  • 📱 ТСД или датаколлектор. Терминал сбора данных с собственной обработкой Data Matrix передаёт коды пакетом и не теряет GS.
  • 🧑‍💻 Внешняя обработка проверки кодов. Для массовой приёмки существуют обработки, которые парсят коды из файла и сами вставляют разделитель.
  • ☎️ Поддержка производителя сканера. У большинства вендоров есть готовый лист служебных кодов «Настройка под маркировку / Честный ЗНАК» — запросите его по модели.

Не пытайтесь «дорисовать» разделитель вручную в коде — Честный ЗНАК проверяет криптоподпись, и подделанный код система отклонит.

Частые вопросы

Подойдёт ли обычный сканер штрихкодов для маркировки?
Нет. Нужен 2D-сканер (имиджер) с поддержкой Data Matrix. Линейные 1D-сканеры физически не читают квадратные коды маркировки.
Что такое символ GS и почему из-за него не работает код?
GS (Group Separator, ASCII 29) — невидимый разделитель между частями кода Data Matrix. Если сканер его не передаёт, 1С не может разобрать код и выдаёт ошибку Некорректный код маркировки.
Как включить передачу GS на сканере?
Считайте из инструкции сканера служебный штрихкод включения GS1-режима (Enable GS1, Transmit FNC1 as GS). Если не помогает — переведите сканер в режим USB COM-порта.
Почему нельзя проверять код в Блокноте?
Блокнот не отображает непечатаемый символ GS. Код будет выглядеть слитной строкой независимо от того, есть разделитель или нет. Проверяйте тестом устройства в 1С или GS1-валидатором.
В каком режиме подключать сканер — клавиатуры или COM-порта?
Начните с HID (клавиатуры) с включённым GS1. Если разделитель теряется — переключите на режим COM-порта: он передаёт сырой поток байтов и не режет GS.
Настройка сканера одинакова в Бухгалтерии и УТ?
Да. Сам сканер настраивается сервисными кодами независимо от конфигурации. В 1С отличается только путь к списку Подключаемое оборудование.

Источники

  • Честный ЗНАК — государственная система маркировки (честныйзнак.рф)
  • Стандарт GS1 для кодов Data Matrix (gs1ru.org)