При автоматизации торговых точек специалисты часто сталкиваются с необходимостью подключения торгового оборудования к нетиповым или сильно кастомизированным (самописанным) конфигурациям «1С:Предприятие». Одной из типичных проблем является подключение стационарного многоплоскостного лазерного сканера Metrologic 7120 Orbit USB. По умолчанию данный сканер работает в режиме эмуляции клавиатуры (USB HID), передавая данные в активное текстовое поле. Однако для корректной интеграции с учетными системами, особенно самописными решениями, требуется перевести устройство в режим эмуляции виртуального последовательного интерфейса (Virtual COM-port / RS-232).
В этой статье мы подробно разберем, почему сканер может «исчезать» из Диспетчера устройств Windows при попытке программирования, какие ошибки часто совершают администраторы при выборе драйверов и как правильно по шагам настроить оборудование для бесперебойной передачи данных в «1С».
Прежде чем перейти к пошаговому руководству, давайте проанализируем ключевые ошибки, которые совершают специалисты при попытке перевести USB-версию сканера в режим COM-порта. Понимание этих механизмов убережет вас от потери времени.
Выяснив причины возможных сбоев, перейдем к правильному, проверенному алгоритму настройки оборудования.
Если в процессе прошлых попыток настройки ваш сканер перестал подавать сигналы, сканировать штрихкоды или отображаться в Диспетчере устройств как USB-устройство, нам необходимо вернуть его к исходному рабочему состоянию:
Для создания виртуального COM-порта нам понадобятся официальные драйверы от производителя. Нам необходим пакет HSM USB Serial Driver (Honeywell Scanning and Mobility).
Рассмотрим последовательность действий для гарантированно успешной установки драйвера:
Install.bat, setup.bat или файл Install_x64.exe для 64-битных систем).После того как драйвер успешно прописался в системных библиотеках Windows, мы можем переводить интерфейс сканера в нужный режим. Нам понадобится штрихкод эмуляции последовательного порта по USB.
Для программирования Metrologic 7120 Orbit выполним следующую последовательность считывания настроечных штрихкодов из руководства:
Если всё выполнено верно, операционная система Windows мгновенно обнаружит новое устройство и автоматически привяжет к нему ранее установленный драйвер. Откройте Диспетчер устройств и разверните ветку «Порты (COM и LPT)». Там должно появиться новое виртуальное устройство, например: Honeywell USB Serial Device (COM3).
Существует старая, но до сих пор актуальная проблема: многие компоненты связи с торговым оборудованием (включая классическую библиотеку ScanOpos.dll) некорректно работают с номерами портов выше COM9. Если операционная система автоматически назначила вашему сканеру порт с номером вроде COM15 или COM22, настоятельно рекомендуется переназначить его вручную.
Разберем, как изменить номер COM-порта:
Для того чтобы ваша конфигурация «1С» понимала, что сканирование штрихкода завершено, и запускала процедуру обработки данных, сканер должен посылать в порт специальный управляющий символ окончания посылки. В большинстве систем автоматизации в качестве такого разделителя выступает символ возврата каретки — CR (Carriage Return), соответствующий нажатию клавиши Enter на клавиатуре.
Без настройки этого суффикса драйвер «1С» откроет порт, но событие получения штрихкода генерироваться не будет, так как система будет вечно ждать признака окончания строки.
Для настройки суффикса выполните следующее:
Теперь при каждом сканировании устройство будет отправлять в порт последовательность байт самого штрихкода, а в конце — символ с кодом ASCII 13 (CR).
После успешной настройки на уровне операционной системы можно переходить к подключению устройства в среде 1С. В типовых конфигурациях для этого используется «1С:Библиотека подключаемого оборудования» (БПО). В самописных решениях разработчики часто используют прямое обращение к компоненте драйвера или объекту типа ПоследовательныйПорт.
Проанализируем пример кода для работы со сканером через внешнюю компоненту в обычных формах или специализированных обработках:
Процедура ПодключитьСканерШтрихкода()
Попытка
// Загружаем внешнюю компоненту для работы с COM-портом
ЗагрузитьВнешнююКомпоненту("ScanOpos.dll");
Сканер = Новый("AddIn.Scanner");
// Настраиваем параметры подключения
Сканер.Порт = 3; // Наш виртуальный COM3, настроенный ранее
Сканер.Скорость = 9600; // Стандартная скорость обмена для Metrologic
Сканер.Суффикс = 13; // Код символа возврата каретки (CR)
// Включаем устройство
Сканер.УстройствоВключено = Истина;
Сканер.ОчиститьВход();
Сканер.ОчиститьВыход();
Сообщить("Сканер Metrologic 7120 успешно подключен на COM" + Сканер.Порт);
Исключение
Предупреждение("Не удалось инициализировать компоненту сканера штрихкода!");
КонецПопытки;
КонецПроцедуры
В современных конфигурациях на управляемых формах подключение выполняется через стандартные механизмы БПО, где вам достаточно в справочнике «Подключаемое оборудование» создать новое устройство, выбрать обработчик драйвера «1С:Сканеры штрихкода (COM)» и в параметрах указать соответствующий номер виртуального COM-порта и скорость работы (по умолчанию для Metrologic это 9600 bps).
Мы подробно рассмотрели классический ручной способ настройки сканера с помощью бумажного руководства. Однако существует более современный и удобный инструмент — сервисная утилита MetroSet2 от компании Honeywell. Если у вас возникли трудности с распечаткой штрихкодов или сканер отказывается считывать распечатанные коды из-за низкого качества печати принтера, выполните настройку через утилиту:
Используя приведенные инструкции, вы сможете быстро и безболезненно подружить сканер штрихкодов Metrologic 7120 Orbit с любой конфигурацией «1С:Предприятие», обеспечив стабильную работу торговой точки.