Сканер не читает DataMatrix: как выбрать и настроить 2D-сканер

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

Коротко

  • Код маркировки «Честного знака» — двумерный код DataMatrix. Линейный (1D) сканер, в том числе лазерный, его не прочитает, и настройками это не исправить: нужен 2D-сканер.
  • Внутри кода есть невидимый служебный символ-разделитель GS. Если сканер его теряет, код на экране выглядит почти правильно, но касса его не принимает.
  • В режиме эмуляции клавиатуры на результат влияют раскладка и Caps Lock: при русской раскладке латинские буквы кода превращаются в кириллицу.
  • Что именно передаёт сканер, видно в текстовом редакторе. Это первая проверка, с неё стоит начинать.
  • Настройки сканера обычно меняют, сканируя служебные штрихкоды из руководства к своей модели.

Почему DataMatrix читает не каждый сканер

Обычный штрихкод на упаковке (EAN) — это ряд вертикальных полос. Чтобы его прочитать, достаточно провести по нему одной линией, так и работают лазерные и линейные сканеры. DataMatrix устроен иначе: это квадрат из мелких точек, информация в нём записана и по горизонтали, и по вертикали. Прочитать его можно только целиком, «сфотографировав». Поэтому для маркировки нужен 2D-сканер (его ещё называют имиджером или фотосканером). Он читает и двумерные коды, и привычные штрихкоды, так что старый сканер после замены не понадобится.

Код маркировки — это не просто номер. В нём записаны код товара, индивидуальный серийный номер экземпляра и криптографическая часть (код проверки), по которой система подтверждает подлинность. Части отделены друг от друга служебным символом GS (Group Separator). На экране его не видно, но касса и «Честный знак» проверяют код целиком, поэтому потеря разделителя или замена одной буквы делает код недействительным.

Ещё одна частая ситуация: на упаковке два кода — обычный штрихкод и DataMatrix. 2D-сканер читает тот, который первым попал в поле зрения. Если кассовая программа ждёт код маркировки, а сканер прочитал штрихкод, продажа не пойдёт. Прикройте штрихкод пальцем или поднесите к сканеру именно квадратный код.

Первая проверка: что сканер передаёт на самом деле

  1. Закройте кассовую программу или сверните её и откройте текстовый редактор, например Блокнот. Поставьте курсор в пустое окно.
  2. Отсканируйте код маркировки с упаковки.
  3. Если не появилось ничего — сканер не прочитал код или не передал его. Проверьте, что он вообще работает, отсканировав обычный штрихкод.
  4. Если строка появилась, посмотрите на неё внимательно. Для большинства товарных групп она начинается с цифр 01 и кода товара. Русских букв в коде маркировки быть не должно: если они есть, виновата раскладка. Если включён Caps Lock, большие и маленькие латинские буквы поменяются местами, а это тоже искажает код.
  5. Чтобы увидеть разделитель GS, используйте редактор, который показывает служебные символы, например Notepad++: там на месте разделителя появляется значок «GS». В обычном Блокноте он не отображается, поэтому его отсутствие там ни о чём не говорит.

Если в редакторе код приходит целиком, с разделителями и без искажений, сканер настроен правильно, и искать причину нужно в кассовой программе или кассе.

Что видите и что с этим делать

Что видите Частая причина Что сделать
Обычные штрихкоды читаются, на квадратный код сканер не реагирует Сканер линейный (1D) Заменить на 2D-сканер. Настройкой это не исправляется
2D-сканер не реагирует на DataMatrix Чтение этого типа кодов выключено в настройках Включить DataMatrix служебным штрихкодом из руководства или сбросить сканер к заводским настройкам
В коде русские буквы вместо латинских Эмуляция клавиатуры и включённая русская раскладка Переключить раскладку на английскую или перевести сканер в режим, не зависящий от раскладки, если его поддерживает кассовая программа
Большие и маленькие буквы перепутаны Включён Caps Lock Выключить Caps Lock. У многих моделей есть настройка, при которой сканер не зависит от его состояния
Код выглядит правильно, но касса его не принимает Потерян разделитель GS Настроить передачу GS так, как требует кассовая программа, или перейти на режим виртуального COM-порта
Код вставился, но программа ничего не делает Сканер не отправляет Enter после кода Включить в настройках сканера суффикс Enter (CR)
Читает через раз, долго «прицеливается» Блики на плёнке, изогнутая поверхность, мелкий или плохо пропечатанный код, неудачное расстояние Менять угол и расстояние, разгладить упаковку, проверить на другом товаре. Если код повреждён, это вопрос к поставщику
Беспроводной сканер теряет символы или срабатывает с задержкой Разряжен аккумулятор, сканер далеко от базы Зарядить, проверить рядом с базой, сравнить с работой по проводу

Режим работы: клавиатура или COM-порт

Большинство USB-сканеров по умолчанию работают в режиме эмуляции клавиатуры. Компьютер считает, что код набрали на клавиатуре очень быстро. Драйвер не нужен, сканер работает в любой программе, но у этого режима три слабых места: раскладка, Caps Lock и символ GS, для которого на клавиатуре нет отдельной клавиши. Разные модели передают GS по-разному, а некоторые с заводскими настройками его просто пропускают.

Второй вариант — виртуальный COM-порт. Сканер подключается через тот же USB, но Windows видит его как устройство последовательного порта, и кассовая программа получает код как есть, без зависимости от раскладки. Обычно для этого нужен драйвер от производителя сканера, а в настройках кассовой программы нужно указать номер порта. Номер виден в Диспетчере устройств, в разделе «Порты (COM и LPT)».

Какой режим выбрать, решает кассовая программа. В её инструкции написано, с каким режимом она работает и как должен передаваться разделитель GS. Начинайте с этого документа, а не с настроек сканера.

Как поменять настройки сканера

  1. Найдите точное название модели на наклейке на корпусе и скачайте с сайта производителя руководство по настройке. Обычно это файл со служебными штрихкодами. У некоторых производителей есть и программа для настройки с компьютера.
  2. Если сканер раньше кто-то настраивал, начните со сброса к заводским настройкам. Для этого в руководстве есть отдельный служебный код.
  3. Убедитесь, что включено чтение DataMatrix.
  4. Выберите интерфейс, который требует кассовая программа: эмуляция клавиатуры или виртуальный COM-порт. При переходе на COM-порт установите драйвер и посмотрите номер порта в Диспетчере устройств.
  5. Настройте передачу символа GS и суффикс Enter после кода, если программа этого требует.
  6. Проверьте результат в текстовом редакторе, затем в кассовой программе на реальном маркированном товаре.

Сканируйте служебные коды только из руководства к своей модели. У разных производителей они не совпадают, и случайный служебный штрихкод может переключить сканер в неожиданный режим. Если запутались, сбросьте сканер к заводским настройкам и пройдите шаги заново.

Как выбрать 2D-сканер для маркировки

  • Двумерный, с поддержкой DataMatrix. В характеристиках должен быть указан DataMatrix (или GS1 DataMatrix), а не только «чтение QR».
  • Совместимость с вашей кассовой программой. У многих разработчиков кассового ПО есть список проверенных моделей. Купить сканер из такого списка проще, чем потом подбирать настройки.
  • Нужный режим подключения. Сканер должен уметь работать в том режиме, который требует программа, и корректно передавать GS.
  • Формат. Проводной ручной сканер — самый простой и надёжный вариант для кассы. Настольный удобен, когда покупатель или кассир подносит товар к сканеру. Беспроводной пригодится для крупного товара, приёмки и инвентаризации, но его нужно заряжать.
  • Сложные коды. Если у вас много товаров с мелкими кодами, с кодами на плёнке или на изогнутой поверхности, проверьте сканер именно на них до покупки. Если коды иногда приходится считывать с экрана телефона, убедитесь, что модель это умеет: не все делают это одинаково уверенно.

Требования к работе с маркировкой для конкретной товарной группы и инструкции оператора системы можно найти на портале «Честное сообщество» (markirovka.ru).

Сканер читает правильно, а касса всё равно не продаёт

Если в текстовом редакторе код приходит целиком, с разделителями и без искажений, дело уже не в сканере. Причина может быть в настройках кассовой программы, прошивке кассы, проверке кода в «Честном знаке» или в статусе самого кода. Это отдельная проверка, и проходить её лучше по порядку, а не перенастраивать всё сразу. Если разбираться с кассой, сканером и подключением к «Честному знаку» некогда, настройку кассы и сканера для маркировки можно поручить удалённо.

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

Можно ли оставить старый сканер штрихкодов?

Если он линейный или лазерный, для кодов маркировки — нет: он физически не может прочитать DataMatrix. Его можно оставить для товаров без маркировки, но обычно проще работать одним 2D-сканером, который читает оба вида кодов.

Можно ли сканировать коды телефоном?

Приложение «Честный знак» для смартфона показывает сведения о товаре, но не заменяет сканер на кассе. Кассовой программе нужен сканер, подключённый к ней, или встроенный сканер, если он есть в кассовом терминале.

Нужен ли драйвер для сканера?

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

На одной кассе код читается, на другой нет. Почему?

Чаще всего сканеры настроены по-разному или на компьютерах включены разные раскладки. Сравните результат сканирования одного и того же кода в текстовом редакторе на обоих рабочих местах.

Источники

Проверил: Арсений Кузнецов, в IT с 1994 года. Статья обновлена 22 октября 2026.