Работа USB сканера Honeywell (Metrologic) RS 5145 в режиме эмуляции COM-порта

Работа USB сканера Honeywell (Metrologic) RS 5145 в режиме эмуляции COM-порта

Роман Осадченко No Comment
Администратору Разработчику

MS5145_P

Предыстория

После вынужденной переустановки операционной системы и повторной настройки торгового оборудования в 1С: Управление торговлей 10.3 сканер перестал подбирать товары в документе «Чек ККМ».

Собственно, все тесты сканера проходили на ура — сканер однозначно рабочий. Даже блокнот можно открыть, сканировать штрих-код — и будет выведены цифры штрих-кода. А в документе «Чек ККМ» сканер работал… как-то странно — просто переходил в другое поле по порядку (как при нажатии клавиши «Enter»). Если поле было текстовое — то выводил штрих-код. Но номенклатуру не подбирал.

То, что сканер работает в режиме эмуляции клавиатуры — понятно стало почти сразу. Да и наличие устройства «Клавиатура» в диспетчере устройств говорило о том-же.

Первое «решение» было сделано скорее от безысходности: на форме чека было выведено поле, которое должно находиться в фокусе в момент сканирования. По полученному тексту штрих-кода искался товар, и добавлялся в табличную часть документа, после чего фокус программно возвращался в поле для следующего сканирования. Но это был явно не выход.

Поиск по многочисленным форумам показал, что проблема не в сканере, а в режиме его работы. 1С просто-напросто не видит событие сканирования, если он подключен в режиме эмуляции клавиатуры (USB) — это просто ввод текста. Там-же было указано и решение — сканер нужно перевести в режим эмуляции старого и доброго COM-порта.

А вместо добавления поля в чеке для ввода штрих-кода достаточно было нажимать клавишу F7 — и в появившееся окошко сканировать код, после чего нажимать Enter. Тоже так себе «решение», кстати говоря.

Правильное решение

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

Последовательность настройки в нашем случае была такая:
1. Штрих-код сброса сканера к настройкам по умолчанию
2. Штрих-код входа/выхода в режим настройки
3. Штрих-код отключения суффикса LF (1С по умолчанию работает с одним завершающим битом, то есть нам достаточно суффикса CR)
4. Штрих-код для включения режима эмуляции COM-порта
5. Штрих-код входа/выхода в режим настройки

Затем ставим драйвера на «новое» устройство:
1. Извлечь сканер из порта USB
2. Установить драйвера на сканер (USB to COM, также идут в комплекте)
3. Перезапустить операционную систему
4. Установить сканер в порт USB (будет обнаружено и установлено новое устройство)
5. В диспетчере устройств посмотреть номер COM-порта
6. Настроить сканер в 1С, указав номер COM-порта.

Вот это — правильное решение)

Успехов вам, и быстрого решения задач)