При работе с терминалами сбора данных на базе Android, такими как Inventory 4095, пользователи часто сталкиваются с тем, что сканер не интегрируется с мобильной платформой 1С «из коробки». Обычно устройство работает только в собственном приложении производителя, а в 1С либо ничего не происходит, либо требуется сложная настройка. Давайте разберем, как решить эту задачу и настроить корректное взаимодействие оборудования с вашей мобильной конфигурацией.
Самый простой, но наименее профессиональный способ — использование режима эмуляции клавиатуры. В настройках самого ТСД необходимо найти параметры сканирования и активировать опцию вывода данных как нажатий клавиш (Keyboard Wedge). При таком подходе, когда вы сканируете штрихкод, терминал просто «печатает» его в активное поле ввода в 1С.
Недостатки метода:
Профессиональный подход к интеграции — это перехват системных широковещательных сообщений (Broadcast), которые генерирует ОС Android после успешного считывания кода. Это позволяет приложению 1С «ловить» данные даже без фокуса на конкретном поле ввода.
Шаги для настройки:
starter.apk или специализированные библиотеки типа libhjh-gpio.so. Их установка обычно выполняется через ADB (Android Debug Bridge). Эти файлы обеспечивают работу службы, которая рассылает сообщения (бродкастит) о факте сканирования.Intent Action (имя события) и Intent Extra (имя переменной, в которой лежит штрихкод).Библиотеки подключаемого оборудования (БПО). В настройках сканера в 1С выбирайте драйвер, поддерживающий Broadcast-режим. Если встроенные средства не справляются, используйте внешние компоненты, способные «подписаться» на системные сообщения Android.После того как вы настроили сервис, который транслирует сообщения, в 1С вам необходимо обработать полученные данные. Для этого используется процедура ОбработкаВнешнегоСобытия.
Разберем пример того, как это выглядит логически в коде 1С:
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
// Данные содержат считанный штрихкод, пришедший через Broadcast
Если Источник = \"ScannerBroadcast\" Тогда
Сообщить(\"Отсканирован код: \" + Данные);
// Добавьте здесь логику поиска товара по штрихкоду
КонецЕсли;
КонецПроцедуры
Обратите внимание: если стандартные компоненты 1С не видят ваше устройство, рассмотрите использование специализированных сторонних разработок (внешних компонент) для Android, которые умеют регистрировать BroadcastReceiver непосредственно внутри мобильного приложения 1С. Это позволяет перехватывать системные интенты (Intents) от сканера и передавать их в 1С как события.
Если вы новичок в настройке сканеров на ТСД, придерживайтесь следующего алгоритма:
Intent Action «выплевывает» сканер при считывании кода. Это поможет настроить 1С под конкретную прошивку вашего устройства.Работа с ТСД Inventory 4095 через Broadcast — это самый стабильный путь, который позволит вашему приложению работать так же быстро и корректно, как в промышленном складском ПО.