При подключении сканера штрихкода Honeywell Voyager 1250g по интерфейсу USB операционная система Windows по умолчанию определяет его как стандартную USB-клавиатуру (режим USB HID). В этом режиме сканер просто эмулирует ручной ввод символов. В результате при сканировании штрихкода в программе «1С:Документооборот» (или любой другой конфигурации 1С) система не понимает, что данные получены со сканера, и пытается ввести цифры в активное текстовое поле или запустить стандартный поиск. Пользователям приходится каждый раз вручную нажимать сочетание клавиш Ctrl+Shift+Ш (или кнопку F7) для вызова диалогового окна ввода штрихкода, что делает процесс автоматизации неудобным и медленным.
В данной статье мы подробно разберем, как решить эту проблему, переведя сканер в автоматический режим работы. Мы рассмотрим два основных и наиболее эффективных метода настройки: перевод сканера в режим эмуляции последовательного (COM) порта и правильную настройку суффиксов в режиме клавиатуры с использованием современного стандартного драйвера 1С.
Прежде чем приступить к настройкам, важно зафиксировать одну ключевую деталь. Модель Honeywell Voyager 1250g представляет собой классический одномерный (1D) лазерный сканер штрихкодов. Он физически спроектирован для работы только с линейными кодами (EAN-13, Code 128 и т.д.). Данное устройство не способно считывать двухмерные (2D) штрихкоды, такие как QR-коды, PDF417 или коды DataMatrix, используемые в маркировке «Честный Знак» и ЕГАИС. Если перед вами стоит задача автоматизации учета маркированных товаров, этот сканер потребуется заменить на 2D-имиджер (например, Honeywell Voyager 1470g).
---
Этот способ является наиболее надежным профессиональным решением. В режиме эмуляции COM-порта (USB-to-Serial) сканер передает данные напрямую в выделенный виртуальный порт системы. Драйвер 1С постоянно прослушивает этот порт, перехватывает штрихкод в фоновом режиме и мгновенно открывает нужный документ или карточку, независимо от того, какое окно или поле ввода сейчас активно на экране.
Рассмотрим по шагам процесс перевода сканера Honeywell Voyager 1250g в режим виртуального COM-порта:
Honeywell Scanning and Mobility (COM5). Запомните номер выделенного COM-порта.COM5, который определился в Диспетчере устройств) и скорость передачи данных (по умолчанию для сканеров Honeywell это 9600 или 115200 bps, но при USB-эмуляции скорость регулируется автоматически виртуальным портом).---
Если по каким-то причинам вы не хотите или не можете установить виртуальный COM-драйвер в операционную систему (например, на сервере терминалов RDP, где проброс COM-портов бывает затруднен), можно оставить сканер работать в режиме клавиатуры. Однако для того чтобы 1С понимала, где заканчивается штрихкод, и не заставляла пользователя нажимать клавиши вызова поиска, необходимо настроить передачу специального символа окончания ввода — суффикса возврата каретки (клавиша Enter или код #13 / CR).
Проанализируем этот процесс шаг за шагом:
Enter.CR / Возврат каретки).50-75 мс). Этого вполне достаточно, чтобы драйвер безошибочно отделял быстрый ввод сканера от ручного набора пользователя.При такой настройке при любом сканировании документа программа 1С сама перехватит входящий поток символов, распознает в нем штрихкод по настроенному суффиксу и таймауту и автоматически откроет карточку документа без открытия промежуточных окон поиска.
---
Для того чтобы избежать ручного сканирования множества мелких штрихкодов из бумажных руководств на английском языке, разработчики Honeywell создали специализированное программное обеспечение с графическим интерфейсом — EZConfig-Scanning.
Выясним преимущества и порядок работы с этой утилитой:
---
Если вам требуется переназначить стандартные системные горячие клавиши поиска или печати штрихкодов непосредственно в конфигурации программы, мы можем сделать это через Конфигуратор 1С. Рассмотрим, как это реализовано технически.
Для переопределения сочетания клавиш поиска штрихкода выполните следующие действия:
Ctrl+Shift+Ш. Измените его на желаемое (например, на функциональную клавишу F7).F5 или F8).Для визуализации механизма обработки программного события при получении данных от торгового оборудования разберем пример типового обработчика внешнего события:
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// Проверим, что событие получено именно от сканера штрихкодов
Если Событие = "Barcode" Или Событие = "Штрихкод" Тогда
ПолученныйШтрихкод = СокрЛП(Данные);
// Вызовем процедуру поиска и открытия документа
ОбработатьПолученныйШтрихкод(ПолученныйШтрихкод);
КонецЕсли;
// Для отладки в режиме разработчика раскомментируйте строку ниже:
// Сообщить("Получены данные с устройства: " + Источник + ". Данные: " + Данные);
КонецПроцедуры
Использование связки правильно запрограммированного суффикса CR (Enter) на самом сканере и стандартного NativeApi драйвера от 1С гарантирует стабильную, быструю и корректную обработку документов в потоковом презентационном режиме без лишних ручных действий со стороны пользователей.