При работе с системой маркировки «Честный ЗНАК» пользователи часто сталкиваются с ситуацией, когда современный 2D-сканер, такой как Mertech 2210 P2D, вроде бы считывает код DataMatrix, но 1С выдает ошибку или не распознает марку — для исправления проблем типового функционала есть расширение для автоматизации подбора и сканирования маркировки в 1С. Типичный симптом — несоответствие длины считанной строки: вместо положенных 85 символов сканер выдает 83. В этой статье мы подробно разберем, почему это происходит, и проанализируем пошаговый алгоритм настройки оборудования для корректной работы.
Разберем ситуацию: разница в 2 символа (83 вместо 85) почти всегда означает, что сканер «съедает» скрытые управляющие символы. В структуре кода маркировки используются непечатные разделители групп данных — GS (Group Separator), имеющие ASCII-код 29. Эти символы критически важны для системы «Честный ЗНАК», так как они отделяют идентификаторы применения, например, криптохвост от основной части кода.
Когда сканер работает в режиме HID (эмуляция клавиатуры), он передает данные так, будто их печатает человек. Поскольку символа «GS» нет на стандартной клавиатуре, Windows и 1С его просто игнорируют или интерпретируют неверно. Наша задача — заставить сканер передавать эти данные в «чистом» виде.
Рассмотрим наиболее надежный способ работы торгового оборудования. В режиме COM-порта данные передаются напрямую в порт, минуя раскладку клавиатуры и системные прерывания ввода. Это исключает влияние языка ввода и гарантирует передачу всех спецсимволов.
COM5. Запомним этот номер.Если по каким-то причинам использование COM-порта невозможно (например, ограничения терминального сервера), попробуем настроить режим клавиатуры так, чтобы 1С видела разделители.
Для этого в настройках Mertech 2210 необходимо активировать эмуляцию управляющих символов. Чаще всего это реализуется через замену символа GS на функциональную клавишу, например, F12. В 1С, в настройках драйвера сканера, также нужно будет указать, что символ с кодом 29 должен интерпретироваться соответствующим образом.
Важный нюанс: при работе в режиме клавиатуры обязательно следите за тем, чтобы в момент сканирования была включена английская раскладка. Если активна русская раскладка, спецсимволы могут быть искажены или проигнорированы драйвером 1С.
Проанализируем дополнительные возможности современных моделей Mertech. Производитель добавил в прошивку специальную настройку для быстрой интеграции. Поищем в инструкции штрих-код «Режим 1С». Его сканирование автоматически устанавливает:
CR — возврат каретки);Чтобы окончательно убедиться, что проблема в сканере, а не в настройках 1С, проделаем следующий эксперимент:
Если мы увидим в тексте символы на черном фоне с надписью GS, значит сканер настроен верно и передает полную строку из 85 символов. Если же строка сплошная и ее длина 83 символа — проблема остается на уровне настроек самого устройства.
При работе с табаком или парфюмерией коды часто печатаются на блестящей пленке или имеют инверсную расцветку (светлые точки на темном фоне). Посмотрим, как улучшить качество чтения на Mertech 2210:
Если сканер был куплен давно, он может не поддерживать новые типы сжатых DataMatrix (например, прямоугольные формы). В таком случае никакие настройки суффиксов не помогут. Рекомендуется проверить версию прошивки через сервисную утилиту Mertech и при необходимости обновить ПО устройства до актуальной версии, поддерживающей последние требования ЦРПТ.
Используя приведенные выше шаги, мы сможем добиться того, чтобы каждый код маркировки попадал в 1С в полном объеме, обеспечивая корректное выбытие товаров и отсутствие проблем с контролирующими органами — для автоматизации сверки кодов при сборке и отгрузке поможет модуль проверки маркировки и сборки заказов через ТСД.