Подключение сканера штрихкода к мобильному клиенту 1С на Android-устройствах часто вызывает затруднения, так как мобильный клиент — это не мобильное приложение, и стандартные механизмы интеграции оборудования требуют тонкой настройки. Разберем по шагам, как решить эту задачу с помощью интеграции внешней компоненты.
Прежде чем приступать к настройке, важно выяснить, как именно ваш терминал сбора данных (ТСД) передает отсканированный код в систему. Существует три основных способа:
ВнешнееСобытие. Именно этот путь мы и рассмотрим.Для того чтобы мобильный клиент «увидел» сканер, недостаточно просто загрузить файл драйвера в режиме предприятия. Необходимо интегрировать его непосредственно в состав вашей конфигурации.
Двоичные данные и загрузите в него архив с вашей внешней компонентой.ДрайверыОборудования добавьте предопределенный элемент, который будет отвечать за ваш сканер.ОбработчикиДрайверовПодключаемогоОборудования создайте новое значение для корректной идентификации драйвера системой.Справочники.ДрайверыОборудования.ЗаполнитьПредопределенныйЭлемент для регистрации драйвера в системе.Важный момент: драйвер должен быть скомпилирован под архитектуру процессора вашего ТСД (arm или arm64). Если установка завершается с ошибкой «Компонента не найдена», проверьте архитектуру устройства.
После успешной установки драйвера в мобильном клиенте необходимо настроить параметры передачи данных. Откройте карточку подключенного оборудования и укажите настройки Action Name и Extra Data. Эти параметры уникальны для каждого производителя ТСД. Вы можете найти их в системных настройках сканера на самом устройстве (например, в приложении DataWedge для Zebra или аналогичных утилитах для АТОЛ).
Пример программной обработки события сканирования в модуле формы выглядит следующим образом:
// Обработка данных, полученных от сканера
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
ОбработатьШтрихкоды(МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр));
КонецЕсли;
КонецЕсли;
Если при попытке установки компоненты вы получаете сообщение об ошибке, проанализируйте следующие причины:
MIME-типы для передачи файлов компонентов. Если сервер не отдает файл компоненты, мобильный клиент не сможет её загрузить.Использование внешней компоненты для перехвата Broadcast-сообщений позволяет превратить сканирование штрихкода в полноценное событие ВнешнееСобытие, которое корректно обрабатывается кодом 1С вне зависимости от фокуса ввода. Это делает работу с мобильным клиентом максимально близкой к работе со стационарным рабочим местом.