Как настроить терминал сбора данных Caribe для работы с 1С?

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

При интеграции терминалов сбора данных (ТСД) китайского производства, таких как Caribe (модели PL-40L, PL-45L, PL-50L), программисты часто сталкиваются с проблемой отсутствия четкой документации. Основная задача при подключении такого устройства к мобильному приложению на платформе «1С:Предприятие» — правильно настроить передачу данных от сканирующего модуля в приложение через механизм Broadcast Intent. В этой статье мы подробно разберем, как найти нужные параметры, какой драйвер использовать и на какие нюансы прошивки стоит обратить внимание.

Разбор механизма взаимодействия: драйвер и Broadcast

Для начала проанализируем, как именно 1С получает данные от сканера на Android-устройстве. В отличие от Windows-терминалов, где часто использовались DLL, в среде Android взаимодействие происходит через системные сообщения (Intents). Рассмотрим основные составляющие:

  1. Action Name (Имя действия): Уникальный идентификатор события, которое генерирует системное приложение сканера при успешном чтении штрихкода.
  2. Extra Data (Ключ данных): Имя поля в сообщении, которое содержит непосредственно текстовую строку штрихкода.
  3. Драйвер: В мобильной платформе 1С используется Native Api компонента (файл с расширением .so). Специализированный драйвер именно «под Caribe» обычно не требуется — достаточно стандартного драйвера «1С:Сканеры штрихкода (NativeApi)», который входит в состав БПО (Библиотеки подключаемого оборудования).

Настройка параметров вещания (Broadcast) для Caribe

Проанализируем наиболее часто встречающиеся настройки для устройств серии Caribe PL. Опытным путем и через разбор конфигурационных файлов было выяснено, что китайские производители часто допускают опечатки в именах полей, которые становятся критически важными при настройке.

Рассмотрим стандартный набор параметров, который подходит для большинства моделей Caribe:

Если указанные выше параметры не приносят результата, попробуем альтернативный вариант, который встречается в более новых версиях прошивок:

Настройка системного приложения сканера на ТСД

Выясним причину, по которой 1С может не реагировать на сканирование, даже если параметры указаны верно. Проблема часто кроется в настройках самого Android. На ТСД Caribe всегда предустановлено приложение (обычно называется Scanner, Keyboard Emulator или Scan Settings). Разберем шаги по его настройке:

  1. Откроем приложение Scanner.
  2. Найдем раздел Settings или Output Mode.
  3. Переключим режим вывода с «Keyboard Mode» (эмуляция клавиатуры) на «Intent Output» или «Broadcast Output». Если оставить режим эмуляции клавиатуры, данные будут просто вставляться в активное поле ввода, и событие ВнешнееСобытие в 1С не сработает.
  4. В этом же меню проверим поля «Action» и «Extra», они должны совпадать с теми, что мы прописываем в 1С.

Как определить параметры сканера через Android Studio

Если документации нет, а стандартные строки не подходят, мы можем самостоятельно «расковырять» устройство и посмотреть, какие события оно генерирует. Для этого воспользуемся Android Studio и инструментом Logcat. Рассмотрим этот процесс по шагам:

  1. Включим на ТСД «Режим разработчика» и «Отладку по USB».
  2. Подключим устройство к компьютеру и запустим Android Studio.
  3. В окне Logcat установим фильтр по слову scan или barcode.
  4. Нажмем кнопку сканирования на устройстве.
  5. Проанализируем логи: в момент сканирования в журнале появится строка, описывающая отправку Intent. В ней будет четко видно Action и Extra.

Реализация в коде 1С

Посмотрим на пример того, как программно могут быть заданы параметры в коде мобильного приложения при инициализации оборудования. Выясним, как сопоставить программные настройки с физическим устройством:


// Пример настройки параметров для ТСД Caribe серии PL
Если Устройство = "Caribe_PL" Тогда 
    ПараметрыПодключения = Новый Структура;
    ПараметрыПодключения.Вставить("ActionName", "scan.rcv.message"); 
    ПараметрыПодключения.Вставить("BarcodeData", "barocode"); // Тот самый "barocode" с опечаткой
    ПараметрыПодключения.Вставить("DataType", "String"); 
КонецЕсли;

Важно помнить, что поле данных иногда может передаваться не как строка, а как массив байтов. Если при сканировании вы получаете пустую строку или «кракозябры», попробуем изменить тип данных в настройках драйвера 1С на Byte или проверить кодировку в приложении сканера (рекомендуется UTF-8).

Работа с драйвером (NativeApi)

Разберем вопрос, где взять сам файл драйвера. Для Caribe не нужно искать специфический драйвер на китайских сайтах. Мы рекомендуем извлечь актуальную версию драйвера из последних релизов Библиотеки подключаемого оборудования (БПО) или из типового приложения «1С:Кладовщик».

Драйвер представляет собой макет в конфигурации, внутри которого находится zip-архив с библиотеками .so для разных архитектур процессоров (arm64-v8a, armeabi-v7a). При установке мобильного приложения на ТСД платформа 1С сама выберет нужную библиотеку из макета.

Важный совет: При настройке ТСД в интерфейсе 1С (в справочнике «Подключаемое оборудование») выбирайте тип оборудования «Сканер штрихкода» и драйвер «1С:Сканеры штрихкода (NativeApi)». Все специфические настройки (Action Name) вносятся непосредственно в форму настройки этого драйвера.

Таким образом, настройка китайского ТСД Caribe сводится к правильному подбору имен событий Broadcast и переключению режима работы сканера в системных настройках Android. Использование стандартных компонентов 1С обеспечивает стабильную работу даже с таким специфическим оборудованием.

← На главную