Как настроить сканирование штрихкодов на ТСД Zebra в мобильном приложении 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Разработка мобильных решений на платформе 1С для терминалов сбора данных (ТСД), таких как Zebra TC26, часто сопровождается трудностями при интеграции аппаратного сканера. Мы рассмотрим пошагово, как заставить сканер работать в вашей конфигурации, используя два основных подхода: эмуляцию клавиатуры и метод событийного ввода (Intent).

Вариант 1: Режим эмуляции клавиатуры (рекомендуемый)

Это самый простой и надежный способ. Большинство современных ТСД на Android позволяют настроить встроенный сканер так, чтобы он «печатал» считанный штрихкод в активное текстовое поле, имитируя нажатия клавиш на физической клавиатуре.

  1. Откройте утилиту DataWedge на вашем терминале Zebra.
  2. Перейдите в настройки профиля (например, Profile0).
  3. Найдите раздел Keystroke output и активируйте его.
  4. Убедитесь, что в настройках Basic data formatting включена опция «Send ENTER key», чтобы после считывания штрихкода в 1С автоматически срабатывало событие завершения ввода.

Преимущества: Вам не нужно устанавливать дополнительные драйверы, внешние компоненты или настраивать ПодключаемоеОборудование. Достаточно того, чтобы на форме мобильного приложения был элемент управления, в который можно передать фокус ввода.

Вариант 2: Использование событий (Intent)

Если специфика вашей задачи требует, чтобы сканер работал «в фоне» (независимо от того, где сейчас стоит курсор), необходимо использовать технологию Intent. Это более сложный путь, требующий настройки взаимодействия через сервис DataWedge.

Рассмотрим, как настроить передачу данных:

  1. В приложении DataWedge перейдите в Profile0.
  2. Активируйте Intent output.
  3. В поле Intent action укажите уникальное имя действия, например, com.dwexample.action.
  4. В Intent delivery установите режим Broadcast intent.
  5. В настройках вашей конфигурации 1С обеспечьте получение событий через обработчик ОбработкаОповещения.

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


&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    Если ИмяСобытия = "Штрихкод" Или ИмяСобытия = "Barcode" Тогда
        ОбработатьШтрихкод(Параметр);
    Иначе
        Сообщить("Получены данные: " + Параметр);
    КонецЕсли;
КонецПроцедуры

Почему возникают проблемы с компонентами?

Если вы пытаетесь использовать стандартную Библиотеку подключаемого оборудования (БПО) и сталкиваетесь с ошибкой «Установка внешней компоненты не выполнена», проанализируем возможные причины:

Практические советы по отладке

Для успешной интеграции рекомендуем следовать алгоритму:

  1. Проверка сканера вне 1С: Откройте любое приложение «Блокнот» на терминале. Если при нажатии на кнопку сканирования данные появляются в тексте — значит, проблема не в железе, а в настройках 1С.
  2. Подключение оборудования: Если вы используете БПО, в справочнике ПодключаемоеОборудование выберите тип Устройство ввода. Если стандартный драйвер 1С:Сканер штрихкода не встает, попробуйте вариант с эмуляцией клавиатуры — он избавляет от зависимости от конкретного драйвера.
  3. Инициализация: Убедитесь, что в процедуре ПриОткрытии формы корректно вызывается МенеджерОборудованияКлиент.ПодключитьОборудованиеПоИдентификатору.

Если ни один из методов не дает результата, попробуйте обновить версию мобильной платформы на самом ТСД (файл 1cem-arm.apk). Часто ошибки регистрации компонент связаны с устаревшим «движком» платформы, который не может корректно обработать вызовы библиотек.

← На главную