В складской логистике и торговле часто возникает задача сканирования штрихкодов на удалении от рабочего места оператора. Стандартные проводные сканеры ограничены длиной кабеля, а обычные радиосканеры или Bluetooth-устройства имеют ограниченный радиус действия. В таких ситуациях возникает необходимость использовать терминал сбора данных (ТСД) исключительно как удаленный сканер: оператор считывает код, и данные автоматически передаются в информационную базу 1С по сети Wi-Fi без необходимости совершать лишние действия в интерфейсе (выбирать документы, нажимать кнопки подтверждения и перемещаться по меню).
Разберем основные технические решения для реализации такого режима работы, а также проанализируем аппаратные ограничения при работе в неотапливаемых или холодных помещениях.
Большинство современных и классических ТСД (на базе Android, Windows CE или Windows Mobile) оснащены встроенными низкоуровневыми системными утилитами работы со сканирующим модулем. У различных производителей они называются по-разному: DataWedge у Zebra/Motorola, ScanWedge или ScanPal у Honeywell, фирменные сервисы у Urovo, Chainway, CipherLab и других.
Эти системные службы позволяют передавать считанный штрихкод без разработки пользовательского интерфейса следующими способами:
Рассмотрим гибкий архитектурный подход, позволяющий исключить разработку тяжелых мобильных приложений. Мы можем поднять на стороне конфигурации 1С легковесный HTTP-сервис, а на ТСД использовать простейшую HTML/JS-страницу в полноэкранном браузере либо минимальную утилиту фоновой отправки.
Разберем логику работы такого решения по шагам:
HTTPСервисы с шаблоном URL, принимающим POST-запрос с данными штрихкода.Посмотрим на пример реализации метода HTTP-сервиса в 1С:
Функция ПринятьШтрихкодPOST(Запрос)
СтрокаШтрихкода = Запрос.ПолучитьТелоКакСтроку();
Если ЗначениеЗаполнено(СтрокаШтрихкода) Тогда
// Обработка штрихкода: запись в регистр или буфер обмена
ЗаписьРегистра = РегистрыСведений.БуферСканирования.СоздатьМенеджерЗаписи();
ЗаписьРегистра.Период = ТекущаяДатаСеанса();
ЗаписьРегистра.Штрихкод = СокрЛП(СтрокаШтрихкода);
ЗаписьРегистра.Обработан = Ложь;
ЗаписьРегистра.Записать();
Ответ = Новый HTTPСервисОтвет(200);
Ответ.УстановитьТелоИзСтроки("OK");
Иначе
Ответ = Новый HTTPСервисОтвет(400);
Ответ.УстановитьТелоИзСтроки("Empty Data");
КонецЕсли;
Возврат Ответ;
КонецФункции
Если требуется подключить ТСД к типовой конфигурации 1С через стандартную Библиотеку подключаемого оборудования (БПО), оптимально использовать специализированные драйверы трансляции штрихкодов.
При таком подходе на компьютере с 1С разворачивается серверная служба, эмулирующая виртуальный COM-порт, а на ТСД устанавливается легковесный клиент. Клиент перехватывает нажатие аппаратной кнопки сканирования и отправляет пакет по Wi-Fi на ПК. 1С воспринимает такое устройство как обычный COM-сканер штрихкодов, вызывая предопределенное внешнее событие ОбработкаВнешнегоСобытия.
Также можно воспользоваться готовыми программными платформами (например, решениями от Клеверенс или специализированными мобильными приложениями 1С), переведя их в режим простого сбора данных без вывода лишних диалоговых окон.
Если функционал полноценного терминала с операционной системой Android или Windows избыточен, альтернативой является датаколлектор (накопительный сканер с Wi-Fi или Bluetooth). Это устройство визуально напоминает компактный сканер, но содержит внутреннюю память и модуль беспроводной связи. Датаколлектор накапливает штрихкоды во внутренней энергонезависимой памяти и при появлении зоны покрытия Wi-Fi автоматически выгружает весь массив данных в файл или напрямую в базу 1С.
Эксплуатация портативной электроники и компьютеров в неотапливаемых складах или холодильных камерах сопряжена со специфическими техническими проблемами: