Как настроить сканер 2D-штрихкодов Honeywell Voyager 1450g для работы с ЕГАИС в 1С:Розница

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

При настройке торгового оборудования для работы с маркировкой и акцизным алкоголем (ЕГАИС) часто возникает ситуация, когда сканер штрихкодов Honeywell Voyager 1450g (или 1400g) успешно проходит тест в настройках подключаемого оборудования 1С, но данные в документы и форму рабочего места кассира (РМК) не поступают. Разберем подробно причины такого поведения оборудования и рассмотрим эффективные способы решения этой проблемы.

Выясняем причины проблемы со считыванием штрихкодов

В стандартном режиме работы по USB сканер эмулирует обычную клавиатуру (USB HID). При сканировании кода в этом режиме символы передаются в активное поле ввода. В 1С:Рознице это приводит к тому, что оператору приходится каждый раз нажимать комбинацию клавиш (например, Alt+F7) для вызова окна ввода штрихкода. Чтобы избавиться от лишних действий, сканер переводят в режим эмуляции COM-порта или режим HID POS, позволяющие платформе 1С перехватывать внешнее событие напрямую.

Однако при переходе на виртуальный COM-порт пользователи сталкиваются со следующими сложностями:

  1. Отсутствие или некорректная настройка суффикса: Если сканер не передает завершающий символ (суффикс, например, #13 / CR или значение None), внешняя компонента 1С не получает сигнал о завершении чтения и не генерирует внешнее событие.
  2. Использование стандартного драйвера Windows: Если операционная система назначила сканеру базовый системный драйвер «USB Serial Device» (CDC-ACM), внешняя компонента 1С может не получать события. Для стабильной работы требуется физический драйвер Honeywell HSM USB Serial Driver.
  3. Высокий номер COM-порта: Внешние компоненты 1С некоторых версий корректно перехватывают данные только с портов с номерами от COM1 до COM9. Если Windows назначила порт с более высоким номером (например, COM12), сканер пройдет тест, но считывание в формах работать не будет.

Способ 1. Настройка эмуляции COM-порта и драйвера NativeApi

Рассмотрим по шагам правильный алгоритм настройки сканера в режиме виртуального COM-порта:

  1. Перевод сканера в COM-режим: Переведите устройство в режим эмуляции COM-порта с помощью считывания управляющего штрихкода «USB Serial» из инструкции к сканеру или через специализированную утилиту EZConfig for Scanning.
  2. Установка правильного драйвера в ОС: Убедитесь в Диспетчере устройств Windows, что для виртуального COM-порта установлен официальный драйвер производителя (Honeywell HSM USB Serial Driver), а не стандартный драйвер Microsoft.
  3. Проверка номера порта: В свойствах устройства в Windows проверьте номер назначенного порта. При необходимости измените его вручную на свободен номер в диапазоне COM1–COM9.
  4. Настройка оборудования в 1С:Розница: В разделе подключаемого оборудования выберите устройство с драйвером 1С:Сканеры штрихкода (NativeApi). В настройках укажите соответствующий COM-порт.
  5. Корректировка суффикса: В параметрах драйвера в 1С задайте значение суффикса 13 (перевод каретки CR). Если в самом сканере суффикс отменен, очистите поле суффикса до значения (None).

Способ 2. Подключение в режиме USB HID POS

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

Сканеры Honeywell поддерживают спец-режим USB HID POS. При его активации сканер перестает имитировать нажатия клавиш клавиатуры и начинает передавать данные через специальный интерфейс HID POS, генерируя внешнее событие в 1С.

  1. Считайте управляющий штрихкод перевода сканера в режим USB HID POS из руководства по эксплуатации оборудования.
  2. В 1С:Рознице добавьте новое подключаемое оборудование и укажите драйвер 1С:Сканеры штрихкода (NativeApi).
  3. В настройках параметров подключения выберите тип Клавиатура или HID-устройство.

Главное преимущество этого способа — полная независимость от текущей раскладки клавиатуры Windows (русская/английская) и отсутствие необходимости подбирать COM-драйверы под конкретную версию ОС.

Решение ошибки «Индекс находится за границами массива» при сканировании марок

Разберем ситуацию, когда при сканировании двумерных кодов DataMatrix или акцизных марок ЕГАИС в 1С появляется критическая ошибка Индекс находится за границами массива.

Эта ошибка возникает на уровне кода конфигурации 1С при попытке разобрать прочитанный штрихкод на составляющие элементы. Алгоритмы обработки марок завязаны на строго определенную длину строки и наличие спецсимволов-разделителей (Group Separator / GS, код ASCII 29).

Посмотрим, как исправить эту проблему:

  1. В настройках сканера через EZConfig или управляющие штрихкоды активируйте полноценную передачу спецсимволов GS (ASCII 29) для кодов DataMatrix.
  2. Если сканер работает в режиме клавиатурной эмуляции, включите режим трансляции спецсимволов (параметр CTRL+X Mode) и задайте межсимвольную задержку (Inter-character Delay) в районе 10–20 мс, чтобы буфер платформы 1С успевал принимать длинные строки без потери символов.
  3. Обновите конфигурацию 1С:Розница до актуального релиза, где алгоритмы работы с маркировкой содержат проверки длины полученных массивов.
← На главную