При интеграции терминалов сбора данных (ТСД) китайского производства, таких как Caribe (модели PL-40L, PL-45L, PL-50L), программисты часто сталкиваются с проблемой отсутствия четкой документации. Основная задача при подключении такого устройства к мобильному приложению на платформе «1С:Предприятие» — правильно настроить передачу данных от сканирующего модуля в приложение через механизм Broadcast Intent. В этой статье мы подробно разберем, как найти нужные параметры, какой драйвер использовать и на какие нюансы прошивки стоит обратить внимание.
Для начала проанализируем, как именно 1С получает данные от сканера на Android-устройстве. В отличие от Windows-терминалов, где часто использовались DLL, в среде Android взаимодействие происходит через системные сообщения (Intents). Рассмотрим основные составляющие:
.so). Специализированный драйвер именно «под Caribe» обычно не требуется — достаточно стандартного драйвера «1С:Сканеры штрихкода (NativeApi)», который входит в состав БПО (Библиотеки подключаемого оборудования).Проанализируем наиболее часто встречающиеся настройки для устройств серии Caribe PL. Опытным путем и через разбор конфигурационных файлов было выяснено, что китайские производители часто допускают опечатки в именах полей, которые становятся критически важными при настройке.
Рассмотрим стандартный набор параметров, который подходит для большинства моделей Caribe:
scan.rcv.messagebarocode (обратите внимание на лишнюю букву «o» в середине — это не ошибка в статье, а реальное имя поля в прошивке).codetypeЕсли указанные выше параметры не приносят результата, попробуем альтернативный вариант, который встречается в более новых версиях прошивок:
com.android.server.scannerservice.broadcastscannerdataВыясним причину, по которой 1С может не реагировать на сканирование, даже если параметры указаны верно. Проблема часто кроется в настройках самого Android. На ТСД Caribe всегда предустановлено приложение (обычно называется Scanner, Keyboard Emulator или Scan Settings). Разберем шаги по его настройке:
ВнешнееСобытие в 1С не сработает.Если документации нет, а стандартные строки не подходят, мы можем самостоятельно «расковырять» устройство и посмотреть, какие события оно генерирует. Для этого воспользуемся Android Studio и инструментом Logcat. Рассмотрим этот процесс по шагам:
scan или barcode.Action и Extra.Посмотрим на пример того, как программно могут быть заданы параметры в коде мобильного приложения при инициализации оборудования. Выясним, как сопоставить программные настройки с физическим устройством:
// Пример настройки параметров для ТСД Caribe серии PL
Если Устройство = "Caribe_PL" Тогда
ПараметрыПодключения = Новый Структура;
ПараметрыПодключения.Вставить("ActionName", "scan.rcv.message");
ПараметрыПодключения.Вставить("BarcodeData", "barocode"); // Тот самый "barocode" с опечаткой
ПараметрыПодключения.Вставить("DataType", "String");
КонецЕсли;
Важно помнить, что поле данных иногда может передаваться не как строка, а как массив байтов. Если при сканировании вы получаете пустую строку или «кракозябры», попробуем изменить тип данных в настройках драйвера 1С на Byte или проверить кодировку в приложении сканера (рекомендуется UTF-8).
Разберем вопрос, где взять сам файл драйвера. Для Caribe не нужно искать специфический драйвер на китайских сайтах. Мы рекомендуем извлечь актуальную версию драйвера из последних релизов Библиотеки подключаемого оборудования (БПО) или из типового приложения «1С:Кладовщик».
Драйвер представляет собой макет в конфигурации, внутри которого находится zip-архив с библиотеками .so для разных архитектур процессоров (arm64-v8a, armeabi-v7a). При установке мобильного приложения на ТСД платформа 1С сама выберет нужную библиотеку из макета.
Важный совет: При настройке ТСД в интерфейсе 1С (в справочнике «Подключаемое оборудование») выбирайте тип оборудования «Сканер штрихкода» и драйвер «1С:Сканеры штрихкода (NativeApi)». Все специфические настройки (Action Name) вносятся непосредственно в форму настройки этого драйвера.
Таким образом, настройка китайского ТСД Caribe сводится к правильному подбору имен событий Broadcast и переключению режима работы сканера в системных настройках Android. Использование стандартных компонентов 1С обеспечивает стабильную работу даже с таким специфическим оборудованием.