Разработка мобильных рабочих мест на платформе 1С — один из самых популярных способов автоматизации складов, розничных точек и производственных цехов. Зачастую покупка полноценного промышленного терминала сбора данных (ТСД) экономически нецелесообразна, особенно если нужно оперативно развернуть несколько десятков рабочих мест. В таких ситуациях отличной альтернативой выступает связка обычного смартфона или планшета на Android с внешним беспроводным сканером штрихкодов.
В этой статье мы подробно разберем, как выбрать беспроводной сканер для мобильной платформы 1С, как правильно подключить его через Библиотеку подключаемого оборудования (БПО), рассмотрим технические нюансы различных режимов работы оборудования и решим проблемы с эргономикой мобильного рабочего места.
В качестве проверенного и доступного решения отлично зарекомендовал себя беспроводной 2D-сканер штрихкода Mertech (Mercury) CL-2300 P2D BLE Dongle USB. На рынке существует путаница из-за наличия аббревиатуры "USB" и слова "Dongle" в его названии, что часто вводит разработчиков в заблуждение, заставляя думать, что сканер исключительно проводной.
Выясним причину этой путаницы. Данная модель поставляется с USB-приемником (донглом) или зарядной подставкой, которые подключаются к обычному компьютеру. Однако сам сканер оснащен модулем Bluetooth Low Energy (BLE). Это позволяет отвязать его от комплектного свистка и подключить напрямую к любому мобильному устройству под управлением Android или iOS. Модель является полноценным беспроводным 2D-сканером, который прекрасно считывает коды маркировки "Честный Знак", ЕГАИС, а также стандартные штрихкоды формата DataMatrix, PDF417 и 1D-коды.
Для того чтобы подключить сканер Mertech (или аналогичный Bluetooth-сканер) напрямую к смартфону или планшету, необходимо перевести его в режим сопряжения. Разберем этот процесс по шагам:
Важное примечание по совместимости: при выборе мобильного устройства (особенно ультрабюджетного сегмента) обращайте внимание на версию операционной системы Android и версию встроенного Bluetooth-модуля. На совсем устаревших или урезанных версиях Android дешевые китайские планшеты могут "не видеть" сканер в режиме BLE. Рекомендуется использовать устройства с версией Android не ниже 8.0 и поддержкой Bluetooth 4.2/5.0.
После сопряжения сканера со смартфоном нам нужно передать считанные данные в мобильное приложение 1С. Существует два принципиально разных подхода к интеграции оборудования.
Режим клавиатуры (HID - Human Interface Device). В этом режиме операционная система смартфона воспринимает сканер как обычную беспроводную физическую клавиатуру. Когда вы сканируете штрихкод, устройство мгновенно "печатает" его символы в то поле, где сейчас находится фокус ввода (курсор), и автоматически посылает символ перевода строки (Enter).
Хотя этот режим очень прост в настройке и не требует специальных драйверов в 1С, мы крайне не рекомендуем использовать его для профессиональной работы. Проанализируем основные недостатки режима клавиатуры:
Режим работы через БПО (Внешнее событие). Это наиболее правильный и надежный вариант интеграции. В мобильной Библиотеке подключаемого оборудования 1С используется специализированный драйвер "1С:Сканер штрихкода" (Native-компонента). При такой настройке данные передаются напрямую в платформу 1С асинхронно, генерируя предопределенное событие ВнешнееСобытие.
В этом случае оператору абсолютно не важно, где находится фокус ввода на экране смартфона. Мобильное приложение перехватит штрихкод в фоновом режиме, мгновенно обработает его, обновит количество в документе и подаст звуковой сигнал об успешном считывании.
Для того чтобы мобильное приложение корректно реагировало на сигналы от подключенного через БПО сканера, мы должны прописать логику обработки в модуле управляемой формы или в модуле приложения. Посмотрим на практический пример реализации обработки внешнего события в 1С:
&НаКлиенте
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
// Проверяем, что событие пришло от сканера штрихкодов
Если ПолучитьНизкоуровневоеИмяСобытия(Событие) = "BarCode" Тогда
ШтрихкодОчищенный = СокрЛП(Данные);
// Передаем полученный штрихкод в логику поиска товара
ОбработатьШтрихкодНаКлиенте(ШтрихкодОчищенный);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьШтрихкодНаКлиенте(Знач ТекущийШтрихкод)
// Здесь мы описываем логику поиска номенклатуры в локальной базе мобильного устройства
// или отправляем запрос на веб-сервер основной базы 1С
ПараметрыПоиска = Новый Структура("Штрихкод", ТекущийШтрихкод);
РезультатПоиска = НайтиТоварПоШтрихкодуНаСервере(ПараметрыПоиска);
Если РезультатПоиска.ТоварНайден Тогда
// Добавляем строку в табличную часть или увеличиваем количество
ДобавитьТоварВДокумент(РезультатПоиска.Номенклатура, 1);
ПоказатьОповещениеПользователя("Товар добавлен", , РезультатПоиска.ПредставлениеТовара, Истина);
Иначе
ВызватьЗвуковойСигналПредупреждения();
ПоказатьПредупреждение(, "Штрихкод " + ТекущийШтрихкод + " не найден в базе данных!");
КонецЕсли;
КонецПроцедуры
Применение асинхронных вызовов и обработчиков внешних событий позволяет добиться высокой скорости работы складского персонала, сопоставимой со скоростью работы классических ТСД.
Если оператор будет постоянно держать в одной руке смартфон, а в другой сканер, его производительность быстро упадет, а риск выронить и разбить дорогое оборудование вырастет в разы. Рассмотрим подробнее несколько проверенных вариантов компоновки оборудования, превращающих смартфон и сканер в единое удобное рабочее пространство:
Проанализировав все эти варианты, вы сможете подобрать оптимальное сочетание цены, надежности и удобства, которое решит конкретно ваши бизнес-задачи по автоматизации учета с использованием мобильной платформы 1С.