Как настроить сканер штрих-кода Honeywell 1400g в 1С:Комплексная автоматизация 2.4, если не срабатывает внешнее событие?

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

В процессе интеграции торгового оборудования с современными конфигурациями 1С, такими как Комплексная автоматизация 2.4 или ERP 2.5, специалисты часто сталкиваются с парадоксальной ситуацией: в настройках подключаемого оборудования сканер успешно проходит тест, но при сканировании в самой форме документа (например, в «Заказе клиента» или «Реализации») ничего не происходит. Внешнее событие не генерируется, и штрих-код не попадает в табличную часть.

В данной статье мы подробно проанализируем причины этой проблемы на примере модели Honeywell Voyager 1400g, разберем программные настройки 1С и аппаратные манипуляции со сканером, а также выясним, почему выбор правильного драйвера является критически важным фактором успеха.

Проверка программного кода в управляемой форме

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

Рассмотрим стандартный фрагмент кода, который должен присутствовать в модуле формы. Проанализируем процедуру ПриОткрытии. Если вы разрабатываете собственную форму или дорабатываете существующую, убедитесь, что в ней вызывается менеджер оборудования:


&НаКлиенте
Процедура ПриОткрытии(Отказ)
    // Подключение оборудования при открытии формы
    МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтаФорма, "СканерШтрихкода");
КонецПроцедуры

Этот вызов сообщает системе, что данная форма является «слушателем» для событий торгового оборудования. Если этого вызова нет, 1С просто проигнорирует поток данных от драйвера, даже если тот настроен корректно. Также важно проверить наличие обработчика ОповещениеОШтрихкоде или ОбработкаОповещения, где происходит непосредственный разбор полученных данных.

Решение проблемы через смену драйвера

Одной из самых частых причин отсутствия события в 1С является некорректная работа драйвера с конкретной версией операционной системы или платформы. Рассмотрим ситуацию автора темы: стандартный драйвер «АТОЛ» проходил тест, но не передавал данные в форму. Выясним, какие альтернативы существуют.

Как показывает практика и опыт участников сообщества, для модели Honeywell 1400g эффективными оказываются следующие варианты:

  1. Драйвер «Гексагон:Сканеры штрихкода Proton»: Несмотря на то, что бренд Proton отличается от Honeywell, протоколы передачи данных у многих сканеров схожи. В некоторых случаях именно этот драйвер обеспечивает стабильную генерацию внешнего события в 1С:Предприятии.
  2. 1С:Сканеры штрихкода (NativeApi): Это наиболее современный и рекомендуемый вариант для платформы 8.3. Драйверы NativeApi работают внутри процесса 1С, не требуют регистрации COM-объектов в реестре Windows и стабильно работают как в тонком, так и в веб-клиенте.
  3. 1С:Сканеры штрихкода (COM): Старая версия драйвера, которая может потребоваться, если NativeApi по каким-то причинам не видит порт.

Проанализируем шаги по смене драйвера: перейдите в раздел Администрирование — Подключаемое оборудование, откройте карточку вашего сканера и нажмите «Сменить драйвер». Попробуйте поочередно вышеуказанные варианты, каждый раз проверяя работу в реальном документе, а не только через кнопку «Тест устройства».

Аппаратная настройка сканера: режим эмуляции COM-порта

Для того чтобы сканер работал как полноценное торговое оборудование (генерировал событие), а не просто «печатал» символы, как клавиатура, его необходимо перевести в режим USB Serial Emulation. Рассмотрим подробнее, как это сделать правильно.

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

  1. Установите на компьютер официальный драйвер от производителя — Honeywell Scanning and Mobility (HSM) USB Serial Driver. Без этого драйвера Windows не сможет создать виртуальный COM-порт для устройства.
  2. Считайте из руководства пользователя (User Guide) управляющий штрих-код "TRMUSB130" (USB Serial Emulation).
  3. Зайдите в «Диспетчер устройств» Windows и проверьте раздел «Порты (COM и LPT)». Там должно появиться устройство Honeywell Scanning and Mobility (COMx). Запомните номер порта (например, COM3).
  4. В настройках 1С укажите именно этот номер порта и скорость 9600 (или ту, что установлена в свойствах порта в Windows).

Настройка суффиксов и префиксов

Для корректного завершения передачи данных 1С должна получить специальный символ — суффикс. Обычно это символ возврата каретки (CR). Проанализируем настройки суффикса:

В настройках 1С значение суффикса обычно указывается как 13 (десятичный код символа CR). Однако, если сканер работает нестабильно, рекомендуется добавить второй суффикс — перевод строки (LF), код 10. Таким образом, связка будет выглядеть как 13 (CR), 10 (LF).

Если вам требуется добавить специфический префикс (например, символ @, о котором спрашивали в обсуждении), это можно сделать двумя способами:

Использование режима HID POS

Если эмуляция COM-порта вызывает сложности или порт постоянно «отваливается», рассмотрим альтернативный современный режим — HID POS. Этот режим поддерживается современными версиями 1С и драйвером NativeApi.

Преимущество HID POS заключается в том, что устройству не нужен номер COM-порта. Сканер передает данные по специальному протоколу, который 1С перехватывает напрямую. Чтобы перевести Honeywell 1400g в этот режим, найдите в инструкции штрих-код "PAPBTH" (USB HID POS). После этого в 1С при настройке драйвера NativeApi в поле «Порт» выберите значение Клавиатура (или оставьте пустым, если драйвер поддерживает автопоиск устройства по ID).

Технические нюансы: USB 3.0 и электропитание

Выясним причину, по которой сканер может «засыпать» или не передавать данные после долгого простоя. Проблема часто кроется в настройках энергосбережения Windows. Разберем, как это исправить:

Откройте «Диспетчер устройств», найдите «Контроллеры USB» и для каждого «Корневого USB-концентратора» выполните следующие действия:

  1. Нажмите правую кнопку мыши — «Свойства».
  2. Перейдите на вкладку «Управление электропитанием».
  3. Снимите галочку с пункта «Разрешить отключение этого устройства для экономии энергии».

Также стоит учитывать, что модель 1400g иногда конфликтует с портами USB 3.0 (синего цвета). Если вы столкнулись с нестабильной работой, попробуйте переключить сканер в порт USB 2.0 на задней панели системного блока.

Особенности работы с маркировкой (Честный Знак)

Поскольку Honeywell 1400g является 2D-сканером, его часто используют для работы с кодами DataMatrix. Рассмотрим важный момент: для корректного чтения кодов маркировки (табак, обувь, одежда) крайне не рекомендуется использовать режим эмуляции клавиатуры. В этом режиме спецсимволы (такие как GS1 FNC1) могут подменяться или теряться в зависимости от текущей раскладки клавиатуры (RU/EN).

Обязательно используйте режим эмуляции COM-порта или HID POS. Это гарантирует, что 1С получит «чистую» строку штрих-кода в кодировке UTF-8, что критически важно для проверки кодов в системе «Честный Знак».

Подведем итог: если ваш сканер Honeywell 1400g «молчит» в 1С, сначала проверьте программное подключение в коде формы, затем попробуйте сменить драйвер на «Гексагон» или «1С:NativeApi», и убедитесь, что сканер физически переведен в режим эмуляции последовательного порта с корректно настроенным суффиксом 13 (CR).

← На главную