Разработка мобильных решений на платформе 1С для терминалов сбора данных (ТСД), таких как Zebra TC26, часто сопровождается трудностями при интеграции аппаратного сканера. Мы рассмотрим пошагово, как заставить сканер работать в вашей конфигурации, используя два основных подхода: эмуляцию клавиатуры и метод событийного ввода (Intent).
Это самый простой и надежный способ. Большинство современных ТСД на Android позволяют настроить встроенный сканер так, чтобы он «печатал» считанный штрихкод в активное текстовое поле, имитируя нажатия клавиш на физической клавиатуре.
DataWedge на вашем терминале Zebra.Profile0).Keystroke output и активируйте его.Basic data formatting включена опция «Send ENTER key», чтобы после считывания штрихкода в 1С автоматически срабатывало событие завершения ввода.Преимущества: Вам не нужно устанавливать дополнительные драйверы, внешние компоненты или настраивать ПодключаемоеОборудование. Достаточно того, чтобы на форме мобильного приложения был элемент управления, в который можно передать фокус ввода.
Если специфика вашей задачи требует, чтобы сканер работал «в фоне» (независимо от того, где сейчас стоит курсор), необходимо использовать технологию Intent. Это более сложный путь, требующий настройки взаимодействия через сервис DataWedge.
Рассмотрим, как настроить передачу данных:
DataWedge перейдите в Profile0.Intent output.Intent action укажите уникальное имя действия, например, com.dwexample.action.Intent delivery установите режим Broadcast intent.ОбработкаОповещения.Пример программной реализации обработки событий в модуле формы:
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Штрихкод" Или ИмяСобытия = "Barcode" Тогда
ОбработатьШтрихкод(Параметр);
Иначе
Сообщить("Получены данные: " + Параметр);
КонецЕсли;
КонецПроцедуры
Если вы пытаетесь использовать стандартную Библиотеку подключаемого оборудования (БПО) и сталкиваетесь с ошибкой «Установка внешней компоненты не выполнена», проанализируем возможные причины:
NativeApi компонентов, скомпилированных специально под архитектуру ARM. Убедитесь, что используете актуальные версии драйверов.Для успешной интеграции рекомендуем следовать алгоритму:
ПодключаемоеОборудование выберите тип Устройство ввода. Если стандартный драйвер 1С:Сканер штрихкода не встает, попробуйте вариант с эмуляцией клавиатуры — он избавляет от зависимости от конкретного драйвера.ПриОткрытии формы корректно вызывается МенеджерОборудованияКлиент.ПодключитьОборудованиеПоИдентификатору.Если ни один из методов не дает результата, попробуйте обновить версию мобильной платформы на самом ТСД (файл 1cem-arm.apk). Часто ошибки регистрации компонент связаны с устаревшим «движком» платформы, который не может корректно обработать вызовы библиотек.