Как подключить сканер штрихкода к мобильному клиенту 1С на терминале сбора данных?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Подключение сканера штрихкода к мобильному клиенту 1С на Android-устройствах часто вызывает затруднения, так как мобильный клиент — это не мобильное приложение, и стандартные механизмы интеграции оборудования требуют тонкой настройки. Разберем по шагам, как решить эту задачу с помощью интеграции внешней компоненты.

Понимание методов передачи данных от сканера

Прежде чем приступать к настройке, важно выяснить, как именно ваш терминал сбора данных (ТСД) передает отсканированный код в систему. Существует три основных способа:

  1. Режим эмуляции клавиатуры (Keyboard Wedge): Сканер работает как внешняя клавиатура. Данные попадают в поле ввода, где стоит фокус. Этот метод неудобен тем, что требует наличия активного поля ввода и не позволяет программно отлавливать события сканирования в фоновом режиме.
  2. Собственные SDK производителя: Некоторые вендоры предлагают специализированные приложения, но они редко имеют готовые коннекторы для 1С.
  3. Broadcast (Широковещательные сообщения): Самый надежный способ для ТСД. Приложение-драйвер «слушает» системные сообщения Android и транслирует их в 1С через механизм ВнешнееСобытие. Именно этот путь мы и рассмотрим.

Интеграция драйвера в конфигурацию

Для того чтобы мобильный клиент «увидел» сканер, недостаточно просто загрузить файл драйвера в режиме предприятия. Необходимо интегрировать его непосредственно в состав вашей конфигурации.

  1. Создайте в дереве метаданных общий макет с типом Двоичные данные и загрузите в него архив с вашей внешней компонентой.
  2. В справочнике ДрайверыОборудования добавьте предопределенный элемент, который будет отвечать за ваш сканер.
  3. В перечислении ОбработчикиДрайверовПодключаемогоОборудования создайте новое значение для корректной идентификации драйвера системой.
  4. Используйте метод Справочники.ДрайверыОборудования.ЗаполнитьПредопределенныйЭлемент для регистрации драйвера в системе.

Важный момент: драйвер должен быть скомпилирован под архитектуру процессора вашего ТСД (arm или arm64). Если установка завершается с ошибкой «Компонента не найдена», проверьте архитектуру устройства.

Настройка параметров Broadcast

После успешной установки драйвера в мобильном клиенте необходимо настроить параметры передачи данных. Откройте карточку подключенного оборудования и укажите настройки Action Name и Extra Data. Эти параметры уникальны для каждого производителя ТСД. Вы можете найти их в системных настройках сканера на самом устройстве (например, в приложении DataWedge для Zebra или аналогичных утилитах для АТОЛ).

Пример программной обработки события сканирования в модуле формы выглядит следующим образом:


// Обработка данных, полученных от сканера
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
    Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
        ОбработатьШтрихкоды(МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр));
    КонецЕсли;
КонецЕсли;

Почему не удается установить драйвер?

Если при попытке установки компоненты вы получаете сообщение об ошибке, проанализируйте следующие причины:

Использование внешней компоненты для перехвата Broadcast-сообщений позволяет превратить сканирование штрихкода в полноценное событие ВнешнееСобытие, которое корректно обрабатывается кодом 1С вне зависимости от фокуса ввода. Это делает работу с мобильным клиентом максимально близкой к работе со стационарным рабочим местом.

← На главную