ОС

Искажения DataMatrix при сканировании в Office: причины и настройка

Почему сканер DataMatrix выдает разные результаты в Word, Excel, Блокноте? Причины: HID-режим, GS/FNC1, префиксы, автозамена Office. Пошаговая настройка сканера, переход на COM-порт, отключение коррекции, тест в Notepad++ для стабильного вывода.

Почему при многократном сканировании одного и того же DataMatrix-кода в Блокнот/Word/Excel получаются разные результаты? Я 17 раз просканировал один и тот же хорошо читаемый DM-код. В некоторых сканированиях пропускаются символы, в других - они заменяются; то же самое наблюдается с другим сканером на другой машине. Может ли это быть особенностью офисных приложений при быстром вводе, настройками сканера (эмуляция клавиатуры, префиксы/суффиксы), кодировкой или чем-то ещё?

Примеры 17 считанных строк:
q00000788578:0000!:19b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578;00001:019b69a2-96b9-79e4-a685-e276e150799*:0157
q00000788578;0000!019b69a2-96b9-79e4-a685-e276e150799*:0157
q00000788578:0001:019b69a2-96b9-79e4-a685-e276e1507998:157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:19b69a2-96b9-79e4-a685-e276e1507998:157
q00000788578;0001:019b69a2-96b9-79e4-a685-e276e1507998:157
q0000078857*:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e150799*;157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q0000078857*;00001:019b69a2-96b9-79e4-a685-e276e1507998;0157
q00000788578:0001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:19b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e150799*;0157
q0000078857*:0001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157

Какие возможные причины таких искажений при сканировании DataMatrix и какие шаги по диагностике и настройке сканера/ПО (кодировка, режим эмуляции клавиатуры, задержки, суффиксы/префиксы, отключение автозамен в Office) вы порекомендуете, чтобы получать стабильный корректный вывод?

При многократном сканировании одного и того же DataMatrix-кода в Блокнот, Word или Excel возникают искажения из-за настроек сканера штрихкодов — в частности, HID-режима, который игнорирует управляющие символы вроде GS (ASCII 29) и FNC1, добавляет префиксы/суффиксы или меняет символы на ;, !, *. Проблемы усугубляются автозаменой в Office, неверной раскладкой клавиатуры и кодировкой, что видно по вашим примерам: пропуски нулей, замена : на ;, * вместо 8. Чтобы добиться стабильного вывода, переключите сканер на COM-порт, отключите автокоррекцию в приложениях и протестируйте в Notepad++ с английской раскладкой.


Содержание


Почему возникают искажения при сканировании DataMatrix

Смотрите на ваши 17 строк — один код, а результаты пляшут: то q00000788578:0000!, то с ; вместо :, * вместо 8, пропуски нулей в 00001 или финальных 0157. Это классика для сканера DataMatrix, особенно с маркировкой “Честный ЗНАК”. Почему так? Сканеры в HID-режиме (эмуляция клавиатуры) не всегда передают невидимые символы вроде GS1-разделителя (Group Separator, код 29) или FNC1 (Function Code 1, код 232). Они их просто пропускают, заменяют на пробел, B или ничего — вот и “теряются” нули или меняются разделители.

А теперь представьте: вы сканируете быстро, 17 раз подряд. Сканер добавляет свои префиксы (типа ;) или суффиксы (*), а Office подхватывает и “помогает” автозаменой — меняет ! на 1 или скобки на что-то иное. Плюс раскладка: если русская, символы интерпретируются криво. Это не вина вашего “хорошо читаемого” кода — он в порядке, проблема в цепочке: сканер → ввод → приложение. По данным официальной инструкции по проверке, такие пропуски и замены — топ-жалоба при работе с GS1-128 в DataMatrix.

Но подождите, это не все. Другой сканер на другой машине дает то же? Значит, системная настройка: кодировка (UTF-8 vs ANSI), задержки ввода или даже RDP-сессия (Shift “включается” случайно). В вашем случае * вместо 8 — типичная замена FNC1, а ; — префикс сканера. Давайте разберем по полочкам.


Проблемы с режимами сканера: HID vs COM-порт

Большинство 2D-сканеров для DataMatrix по умолчанию в HID-режиме — они имитируют клавиатуру, как будто вы печатаете. Удобно для Excel, но фатально для сложных кодов. HID игнорирует управляющие символы, добавляет CR/LF (Enter) или свои хвосты. Результат? Разные строки при одном коде.

Переходите на COM-порт (SPP-режим). Здесь сканер шлет сырые данные через виртуальный порт — полный код без потерь. Минус: не работает в браузере или простом Блокноте без доп. ПО, но для теста идеал. Как в руководстве Линерис: сбросьте сканер заводским конфиг-кодом (обычно сканируете специальный баркод), включите DataMatrix + инверсные коды, переключите на SPP.

Задержки ввода — еще убийца. Быстрое сканирование перегружает буфер, символы улетают. Увеличьте задержку в настройках сканера (0.1-0.5 сек). Префиксы/суффиксы? Многие модели (Zebra, Honeywell) добавляют ; в начале или * в конце по умолчанию. Отключите: в меню сканера (триггер + питание) найдите “Prefix/Suffix” и очистите.

А если сканер не пикает на DataMatrix? Проверьте фотосенсор — низкое разрешение или отключены инверсные коды (черный на белом).


Управляющие символы GS и FNC1 в DataMatrix-кодах

Ваш код — GS1-128 в DataMatrix: q00000788578[GS]00001[GS]019b69a2…[GS]0157. GS (невидимый, Alt+029) разделяет поля, FNC1 в начале сигнализирует “это GS1”. HID-сканеры их не видят: GS улетает — поля сливаются, 0000! вместо 00001. * или 8 — попытка передать FNC1 (232 в decimal).

В базе GBS.Market рекомендуют: задайте заменитель GS, например ] или |, в настройках сканера. Или используйте F8-режим (GS как функциональная клавиша). В Cleverence описывают ошибки D001-D011: без FNC1 код не парсится, скобки вокруг AI добавляются зря.

Решение: в Notepad++ (Вид → Показать символы → Все символы) GS виден как точка или □. Сканируйте 20 раз — если стабильно, сканер ок. Если нет, прошивка устарела — обновите с сайта производителя.


Автозамена и кодировка в Office-приложениях

Office — мастер подстав. Автозамена меняет : на ;, ! на 1, автодополнение добавляет пробелы. В Excel ячейки иногда обрезают по длине. Ваши примеры кричат об этом: 0157 то с 0, то без — автокоррекция цифр?

Отключите: Word/Excel → Файл → Параметры → Проверка → Автозамена → все галочки off. Проверка → Орфография → Автодополнение → отключить. Сохраняйте в UTF-8 (Файл → Сохранить как → Кодировка UTF-8). Раскладка: Win + Пробел → English (US).

Быстрый ввод? Office не поспевает — добавьте паузу Enter после кода в сканере. RDP? Форум PlanetaExcel предупреждает: Shift “застревает”, меняя регистр. Локальная машина — тест.

Тест: Блокнот в UTF-8, английская клавиатура. Стабильно? Office виноват.


Как диагностировать сканер DataMatrix

Начните просто. Шаг 1: тест на сайте Честный ЗНАК /barcode/ или Evotor-тест. Сканируйте ваш код — если веб видит правильно, аппарат ок.

Шаг 2: Notepad++ , 30 сканов подряд. Вид → Отображение символов → Управляющие. Нет GS? HID виноват.

Шаг 3: Проверьте модель — заводской код (сканируйте конфиг-баркод). Поддержка DataMatrix? В инструкции Markirovka: освещение ровное, угол 45°, код не поврежден.

Шаг 4: GBS-тест: Файл → Настройки → Оборудование → Проверить 2D-сканер. Или Линерис-диагностика: SPP vs HID.

Если два сканера одинаково косячат — ПО/ОС. Win10+? Обновите USB-драйверы.


Настройка сканера штрихкодов шаг за шагом

  1. Сброс: Сканируйте заводской баркод (в мануале).

  2. Режим: HID → COM/SPP. Триггер + Scan → меню → Transmit → SPP.

  3. Префиксы/суффиксы: Очистить. GS-замена: на ] или пробел.

  4. Задержки: Inter-character 20ms, Transmit 100ms.

  5. Коды: DataMatrix on, Inverse on, GS1 on.

  6. Прошивка: С сайта (Zebra Utility или Honeywell).

  7. Office: Автозамена off, UTF-8, ENG-раскладка.

  8. Тест: 50 сканов в Notepad++. 100% match? Готово.

В Cleverence добавьте: отключите прерывания клавиш, контрольные суммы on.


Тестирование и дополнительные рекомендации

После настроек — батч-тест: 100 сканов вашего кода + тестовый ( (01)12345678901234(17)20251230 ). В 1C? Настройка сканера штрихкодов в 1С: параметры → Delay 0.2с.

Не помогает? Купите сканер GS1 DataMatrix (Newland, Datalogic) — они заточены под маркировку. Избегайте дешевых — не читают FNC1.

Освещение: матовый свет, без бликов. RDP off. Для продакшена — софт вроде Клеверенс с парсингом.

С таким подходом стабильность 99%. Вы пробовали COM? Расскажите в комментах.


Источники

  1. Проверка сканера Data Matrix: инструкция
  2. Возможные проблемы и методы их устранения
  3. Проверка 2D сканера на готовность к работе с маркировкой
  4. Ошибки в DataMatrix и GS1-128
  5. Редкие ошибки при сканировании кодов DataMatrix в Excel

Заключение

Искажения в сканере DataMatrix при повторных сканированиях — комбо HID-режима, GS/FNC1-игнора, префиксов и Office-автозамены, но фиксится за 15 минут: COM-порт, очистка суффиксов, UTF-8 + ENG-раскладка. Тестируйте в Notepad++, отключайте коррекцию — и ваши 17 строк сольются в одну. Для “Честный ЗНАК” это must-have, иначе штрафы. Главный takeaway: не игнорируйте прошивку и задержки — они решают 80% бед. Удачи с настройкой!

Авторы
Проверено модерацией
Модерация
Искажения DataMatrix при сканировании в Office: причины и настройка