При работе с маркировкой лекарственных препаратов (МДЛП) и других товарных групп пользователи часто сталкиваются с тем, что сканер штрих-кодов считывает двухмерные коды DataMatrix некорректно. Символы могут искажаться, заменяться русскими буквами, а в конце кода могут появляться «странные» знаки, например, знак равенства (=). Попытки программно отрезать эти символы или сбросить сканер до заводских настроек обычно не приносят результата.
В этой статье мы подробно разберем, почему возникают такие проблемы при работе со сканером Honeywell Voyager 1450g, выясним природу «лишних» символов в конце штрих-кода и пошагово настроим оборудование для корректной передачи данных в «1С:Предприятие».
Проанализируем структуру штрих-кода маркировки. Код формата GS1 DataMatrix, применяемый в системах МДЛП и «Честный ЗНАК», состоит из нескольких обязательных групп данных:
Криптографическая часть кода (криптохвост) шифруется по стандарту Base64. В этой кодировке знак равенства (=) является стандартным техническим символом заполнения (padding), завершающим строку.
Важно понимать: этот хвост и знак равенства в конце не являются ошибкой сканера или результатом сбоя прошивки. Это легитимная и обязательная часть кода маркировки. Если вы попытаетесь принудительно удалить эти символы на уровне настроек сканера или в кодовой базе 1С, государственная информационная система маркировки не сможет верифицировать этот код, и документ будет отклонен с ошибкой. Для быстрой проверки корректности и статуса считанных кодов в системе маркировки подойдёт обработка для запроса информации о кодах маркировки в «Честном Знаке».
По умолчанию большинство сканеров поставляются настроенными в режим эмуляции клавиатуры (USB HID). При сканировании маркировки в этом режиме мы неизбежно сталкиваемся с двумя критическими проблемами:
F8). В результате 1С «склеивает» все поля в одну нечитаемую строку.Для решения этих проблем лучшим и наиболее надежным способом является перевод сканера в режим эмуляции виртуального COM-порта (USB-COM).
Рассмотрим последовательность действий для перевода сканера Honeywell 1450g в режим работы по виртуальному последовательному порту. Если просто отсканировать штрих-код переключения режима, сканер может перестать реагировать на штрих-коды и передавать данные на ПК, так как операционной системе потребуется специализированный драйвер.
Выполним процедуру правильно по шагам:
Перед физическим переключением сканера необходимо подготовить операционную систему компьютера:
Install-x64.bat или аналогичный исполняемый файл для вашей разрядности ОС) обязательно от имени администратора.Теперь подготовим само устройство к передаче данных по новому протоколу:
Проанализируем результат в операционной системе. Откройте Диспетчер устройств Windows и разверните ветку «Порты (COM и LPT)». Там должно появиться новое устройство, например: Honeywell USB Serial Device (COM3). Запомните номер выделенного COM-порта (в нашем примере это COM3).
Перейдем к настройке интеграции торгового оборудования в информационной базе «1С:Предприятие»:
COM3).13 (символ возврата каретки CR, чтобы 1С понимала завершение ввода кода).Бывают ситуации, когда по техническим причинам (например, при работе в терминальном сессионном режиме RDP, где проброс COM-портов затруднен) необходимо оставить сканер работать в режиме эмуляции клавиатуры. Выясним, как заставить сканер Honeywell корректно передавать спецсимволы в режиме клавиатуры.
Для этого нам понадобится настроить сканер на передачу символа GS через альтернативную комбинацию клавиш:
Alt + 029 на цифровой клавиатуре (NumPad).#29 или соответствующую комбинацию, которую ожидает драйвер.Этот способ позволяет избавиться от склеивания полей внутри DataMatrix даже при работе в обычном клавиатурном режиме, однако мы все равно настоятельно рекомендуем использовать эмуляцию COM-порта как наиболее стабильное решение. Для одновременной работы COM-сканера в нескольких базах или сессиях 1С можно использовать утилиту для перенаправления данных RS232 сканера в клавиатурный ввод.
Если ваш сканер Honeywell 1450g успешно передает данные, но испытывает трудности при считывании мелких, блеклых или напечатанных на блестящем блистере кодов DataMatrix, выполните следующие действия:
CP000109BAA). Обновления прошивок существенно улучшают математические алгоритмы распознавания поврежденных двухмерных штрих-кодов.Настроив сканер по приведенным инструкциям, вы обеспечите стабильное и безошибочное распознавание кодов маркировки МДЛП в любых конфигурациях 1С.