Как настроить 2D-сканер для корректного считывания символа GS в DataMatrix кодах "Честного знака"?

Системный администратор 1С v8.3 (Управляемые формы) Управленческий учет Торговля и дистрибуция
← На главную

Начнем с анализа распространенной проблемы, с которой сталкиваются многие пользователи и системные администраторы при работе с системой маркировки "Честный знак" и 2D-сканерами штрих-кодов. Нередко сканер считывает DataMatrix код, но при этом пропускает или некорректно передает спецсимвол "GS" (Group Separator, ASCII 29), что приводит к ошибкам в обработке данных в учетных системах, таких как 1С — для этой задачи есть обработка устранения ошибок сканирования маркировки в 1С.

Мы рассмотрим эту проблему подробно, выясним ее причины и предложим пошаговые решения, основанные на опыте коллег и общедоступной информации.

Символ GS и его значение в маркировке "Честного знака"

Для начала, давайте разберемся, что такое символ GS и почему он так важен. Символ GS (Group Separator) с ASCII-кодом 29 используется в DataMatrix кодах маркировки "Честного знака" для разделения различных групп данных внутри одного кода. Например, он отделяет код товара (GTIN) от серийного номера, а также другие обязательные поля.

Корректное считывание и передача символа GS критически важны (поможет инструмент локального распознавания DataMatrix и штрихкодов), так как без него учетная система не сможет правильно разобрать DataMatrix код на составляющие части. Это приведет к ошибкам при приемке, отгрузке или выбытии маркированных товаров, и, как следствие, к проблемам во взаимодействии с системой "Честный знак".

Причины возникновения проблемы с передачей символа GS

Мы выяснили, что проблема с потерей или некорректной передачей символа GS может возникать по нескольким основным причинам. Разберем их подробнее:

  1. Технические особенности передачи данных в режиме эмуляции клавиатуры (HID): Символ GS не имеет прямого соответствия на стандартной клавиатуре. В режиме HID сканер эмулирует нажатия клавиш. Если сканер не настроен на специальное преобразование GS (например, в последовательность ALT+0029 или ALT+29 на цифровой клавиатуре), операционная система или приложение может просто игнорировать или отбрасывать этот управляющий символ.
  2. Настройки самого сканера: Многие сканеры "из коробки" могут быть не настроены на передачу символа GS. Для этого требуются специальные настройки, которые активируются путем считывания управляющих штрих-кодов из инструкции или с сайта производителя.
  3. Особенности работы через RDP (удаленный рабочий стол): При использовании RDP проблема с передачей управляющих символов может усугубляться, поскольку RDP имеет свои механизмы обработки низкоуровневых событий клавиатуры.
  4. Обработка данных в приложениях (например, 1С): Даже если сканер корректно передал GS, некоторые поля ввода в приложениях (текстовые поля на формах) могут автоматически "отбрасывать" непечатаемые символы, в то время как при сохранении в базу данных они могут сохраняться.

Пошаговые решения и рекомендации по настройке сканера

Теперь, когда мы понимаем природу проблемы, давайте перейдем к конкретным шагам по ее устранению.

Настройка самого сканера для передачи GS

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

  1. Поиск и использование управляющих штрих-кодов:

    В первую очередь, мы должны найти инструкцию к вашему сканеру. Многие производители, особенно для 2D-сканеров, включают в нее специальные управляющие штрих-коды. Эти штрих-коды предназначены для изменения настроек сканера.

    Если бумажная инструкция отсутствует, рекомендуется поискать ее на официальном сайте производителя. Часто там же можно найти дополнительные документы или утилиты для настройки. Например, для некоторых моделей (как упомянутый Honeywell) такие коды необходимо скачивать с сайта.

  2. Включение передачи символа GS:

    После нахождения инструкций, нам нужно найти раздел, касающийся передачи управляющих или специальных символов. Ищите настройки типа "GS Transmission", "Enable Group Separator", "Transmit ASCII 29" или аналогичные. Обычно это делается в два шага:

    • Считывание штрих-кода для входа в режим настройки (например, "Enter Setup").
    • Считывание штрих-кода, который активирует передачу символа GS.

    Некоторые сканеры могут предложить опцию замены символа GS на другой, например, на тильду (~). Это может быть полезно, если ваша учетная система настроена на распознавание такого заменителя.

    Мы также знаем, что "умные сканеры" или специализированное ПО могут преобразовывать GS в последовательность нажатий ALT+29 (на цифровой клавиатуре), что позволяет браузеру или текстовому редактору корректно его отображать. Вы можете проверить это самостоятельно: зажмите клавишу ALT, затем на цифровой части клавиатуры последовательно нажмите 2, затем 9. Отпустите ALT. Вы должны увидеть символ GS (часто отображается как стрелка влево-вправо или другой непечатаемый символ). Если сканер может быть настроен на такую эмуляцию, это идеальный вариант для режима HID.

  3. Пример настройки для сканеров KEFAR KR-S8 и RADALL RD-S8:

    Рассмотрим конкретный случай сканера KR-S8, который был упомянут в обсуждении. Опыт пользователей показывает, что для таких распространенных, но иногда "недокументированных" моделей, требуется поиск специфического софта или управляющих кодов. Была найдена папка с необходимым ПО и управляющими кодами для включения символа GS для KR-S8. Это подтверждает, что даже для бюджетных сканеров решение существует, просто его нужно найти. В данном случае, нужно будет найти и считать специальные штрих-коды из этого пакета, чтобы активировать передачу GS.

Выбор режима подключения сканера к компьютеру

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

  1. Режим эмуляции COM-порта:

    Обсудим, почему этот режим часто предпочтительнее для работы с маркировкой. В режиме COM-порта сканер передает данные как последовательный поток символов. Этот метод обычно более надежен для передачи управляющих символов, таких как GS, поскольку система обрабатывает их как часть данных, а не как события клавиатуры. Для работы в 1С или других системах может потребоваться установка драйвера виртуального COM-порта и соответствующая настройка в программе. Для настройки оборудования можно использовать инструкцию по переводу 2D-сканера в режим эмуляции COM-порта.

    Мы настоятельно рекомендуем попробовать перевести сканер в режим COM-порта, особенно если вы сталкиваетесь с проблемами в режиме HID или работаете через RDP.

  2. Режим эмуляции клавиатуры (HID):

    Разберем особенности работы в этом режиме. Режим HID (Human Interface Device) удобен, так как не требует дополнительных драйверов и сканер работает "из коробки" как обычная клавиатура. Однако, как мы уже говорили, именно в этом режиме чаще всего возникают проблемы с символом GS, если сканер не настроен на его специальное преобразование в ALT+29.

    Для сайта "Честного знака" и некоторых веб-приложений часто требуется именно HID-режим. В таких случаях убедитесь, что ваш сканер не только читает DataMatrix, но и настроен на корректную передачу GS в виде ALT+29.

Особенности работы через удаленный рабочий стол (RDP)

Работа со сканерами через RDP может создавать дополнительные сложности из-за специфики передачи данных.

  1. Настройка клиента RDP:

    Мы выяснили, что одна из проблем с RDP заключалась в некорректной передаче сочетаний клавиш. Для решения этой проблемы, особенно если сканер работает в HID-режиме, необходимо проверить и изменить настройку клиента RDP на "Использовать сочетания клавиш Windows - на этом компьютере". Эта настройка позволяет локальному компьютеру (с подключенным сканером) обрабатывать некоторые сочетания клавиш, которые иначе могли бы быть перехвачены удаленным сервером.

  2. Рекомендации для RDP:

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

Обработка данных в 1С и других учетных системах

Даже если сканер настроен идеально, особенности работы учетной системы могут влиять на видимость и обработку символа GS.

  1. Поведение полей ввода:

    Следует учитывать, что текстовые поля для редактирования строк в интерфейсе 1С (на формах) могут "отбрасывать" или не отображать управляющие символы, такие как GS. Однако это не означает, что символ потерян. При сохранении данных в строковое поле базы данных 1С, спецсимволы могут корректно сохраняться. Для проверки необходимо снять DataMatrix код и поместить его в строковое поле в базе данных, а не только в поле для редактирования на форме.

  2. Доработка конфигурации 1С:

    Для полноценной работы с маркировкой, особенно при получении данных в виде одной строки DataMatrix, может потребоваться доработка конфигурации 1С. Мы рекомендуем реализовать логику, которая будет парсить входящую строку по символу GS. Для автоматизации этой задачи есть инструмент проверки и инвентаризации маркировки для 1С. Например, можно настроить 1С так, чтобы она искала символ GS (Символы.РазделительГрупп) и разделяла строку на необходимые части. Некоторые пользователи находят решение в замене символа GS на читаемые символы в скобках (например, [gs]) на уровне сканера, а затем парсят строку по этой последовательности в 1С. Это может упростить отладку, но требует внимательной работы с остальными специальными символами.

Выбор и покупка 2D-сканера

Если существующие сканеры не поддаются настройке, или вы планируете приобрести новое оборудование, мы дадим рекомендации по выбору.

  1. Рекомендованные модели:

    Мы рекомендуем ориентироваться на 2D-сканеры, которые официально внесены в реестр или рекомендованы системой "Честный знак". Эти сканеры, как правило, имеют подтвержденную совместимость и необходимые настройки для работы с маркировкой. Модель "G-SENCE IS1402BT HD", упомянутая в обсуждении, является одним из таких примеров.

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

  2. Что уточнить перед покупкой:

    Прежде чем совершить покупку, обязательно уточните у продавца или производителя, поддерживает ли конкретная модель сканера корректную передачу символа GS в режиме HID (если вы планируете использовать его) и по COM-порту. Запросите наличие инструкций по настройке GS.

Дополнительные советы

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

  1. Обновление прошивки сканера:

    Иногда производители выпускают обновления прошивки для своих сканеров, которые могут исправлять ошибки, связанные с передачей специальных символов, или добавлять новые опции настройки. Мы рекомендуем проверить наличие актуальных прошивок на сайте производителя вашего сканера.

  2. Тестирование считывания символа GS:

    Чтобы убедиться в корректности настроек сканера, используйте простой текстовый редактор, который способен отображать непечатаемые символы (например, Notepad++ с включенным отображением всех символов). Отсканируйте код DataMatrix и внимательно проверьте, появился ли символ GS (в этом поможет сервис проверки и сверки кодов маркировки). Как мы уже упоминали, вы можете сравнить это с ручным вводом ALT+29, чтобы понять, какой именно символ сканер передает.

Следуя этим рекомендациям и пошагово разбираясь с настройками вашего оборудования и программного обеспечения, мы уверены, что вы сможете добиться корректной работы 2D-сканера с маркировкой "Честного знака" и без проблем обрабатывать все DataMatrix коды.

← На главную