Разработка мобильных приложений для автоматизации складского учета — задача, требующая высокой скорости реакции интерфейса и надежного считывания данных. Часто разработчики сталкиваются с дилеммой: писать нативное приложение на Java/Kotlin или использовать мобильную платформу 1С. Выбор 1С оправдан скоростью разработки, но возникает вопрос интеграции с аппаратными сканерами ТСД (например, Атол, Urovo или CipherLab). В этой статье мы подробно разберем, как «подружить» мобильную платформу 1С с профессиональным оборудованием.
Рассмотрим основные методы, которые позволяют получать данные со сканера в мобильном приложении 1С. Выбор метода зависит от модели устройства и требований к стабильности работы.
Проанализируем каждый из этих вариантов подробнее, чтобы вы могли выбрать оптимальный путь для вашего проекта.
Для устройств марки Atol (Smart.Lite, Smart.Pro, Smart.Slim) и большинства современных китайских ТСД этот метод является «золотым стандартом». Разберем по шагам, как это настроить.
Шаг 1: Настройка самого ТСД. В меню Android найдите приложение для настройки сканера (часто называется «Scanner», «ScanSettings» или «Settings»). В разделе «Output Mode» или «Transmit mode» необходимо выбрать Intent Output. Далее нужно задать параметры:
com.1c.mobile.barcodescan.barcode_string или data).Шаг 2: Написание кода в 1С. Рассмотрим, как перехватить это событие в мобильном приложении. Для этого используется механизм внешних событий. Проанализируем пример кода для инициализации подписки на события:
// В модуле управляемого приложения или в форме
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Подключаем обработчик для перехвата Intent-сообщений
// Актуально для работы с внешними компонентами, перехватывающими Android события
ДобавитьОбработчикОжидания("ПроверитьСобытияСканера", 0.1);
КонецПроцедуры
Однако более современным способом является использование специализированных внешних компонент, которые позволяют реализовать метод ОбработкаВнешнегоСобытия. Выясним причину, почему это лучше: такой подход позволяет приложению получать данные, даже если фокус не установлен в конкретное текстовое поле.
Компания 1С активно развивает «1С:Библиотеку подключаемого оборудования для мобильных платформ». В ней уже реализована поддержка многих популярных брендов. Рассмотрим ситуацию с устройствами Atol.
Хотя в официальных списках чаще фигурируют RightScan или Сканкод, устройства Atol отлично работают через универсальный драйвер «1С:Сканер штрихкода (NativeApi)». Рассмотрим алгоритм подключения:
Важно помнить, что мобильная платформа 1С постоянно обновляется. Например, в последних версиях был существенно обновлен драйвер для устройств Urovo и CipherLab. Посмотрим на список поддерживаемых технологий в последних релизах: драйверы разрабатываются по технологии NativeApi версии 1.2, что гарантирует их высокую производительность на мобильных устройствах.
Рассмотрим этот метод только как резервный. При его настройке ТСД просто «вставляет» символы штрихкода в то место, где стоит курсор.
Проблемы этого метода:
Если вы все же решили использовать этот метод, обязательно настройте в утилите сканирования префикс и суффикс (например, символ Enter в конце), чтобы 1С могла понять, когда ввод данных завершен.
Выясним важный нюанс архитектуры. Работа со сканером будет отличаться в зависимости от того, что вы используете:
Мобильное приложение: Работает автономно. База данных находится прямо на ТСД. В этом случае вы имеете полный контроль над внешними компонентами и можете подключать любые .so или .jar библиотеки через механизм расширения мобильной платформы.
Мобильный клиент: Это онлайн-подключение к вашей основной базе. Здесь работа со сканером ТСД реализована максимально близко к тому, как это работает в настольной версии 1С. Настройка оборудования производится на стороне сервера в справочнике «Подключаемое оборудование».
Если вы планируете приобрести ТСД Atol (например, популярный Smart.Lite), примите во внимание следующие рекомендации:
Проанализируем типовой код обработки данных, поступивших от сканера через внешнее событие:
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// Источник обычно указывает на устройство или драйвер
// Событие обычно имеет значение "Barcode"
Если Событие = "Barcode" Или Событие = "Штрихкод" Тогда
Штрихкод = СокрЛП(Данные);
ОбработатьСчитанныйШтрихкод(Штрихкод);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьСчитанныйШтрихкод(Знач Штрихкод)
// Здесь реализуем логику поиска товара в базе
// Например, поиск в ТЧ документа или открытие карточки товара
ПараметрыПоиска = Новый Структура("Штрихкод", Штрихкод);
// ... логика поиска
КонецПроцедуры
Подводя итог, можно с уверенностью сказать: ТСД Атол на Android отлично работает с мобильной платформой 1С. Не стоит бояться «не взлетит» — современные механизмы Broadcast Intent и поддержка NativeApi делают интеграцию прозрачной и надежной. Главное — отойти от примитивной эмуляции клавиатуры в пользу системных событий, что обеспечит вашему приложению профессиональную скорость и стабильность работы.