Приветствуем вас! В процессе автоматизации складского учета часто возникает задача быстрого наполнения информационной базы штрихкодами номенклатуры. Представьте ситуацию: у вас развернута конфигурация 1С:Управление торговлей 10.3 (работающая на обычных формах платформы 1С:Предприятие), а на складе имеется терминал сбора данных (ТСД), например, модель GlobalPOS GP-C5000 под управлением операционной системы Android 5.1. Перед вами встает логичный вопрос: можно ли использовать этот ТСД как обычный беспроводной сканер штрихкодов, чтобы кладовщик мог подходить к товару на складе, сканировать код, и он автоматически записывался в карточку номенклатуры в 1С на компьютере?
В этой статье мы подробно разберем, как решить эту задачу. Мы рассмотрим несколько эффективных способов интеграции — от простых бесплатных утилит-эмуляторов до профессиональных решений автоматизации склада. Выясним технические нюансы настройки самого ТСД и особенности его сопряжения с платформой 1С.
Терминал сбора данных — это не просто сканер штрихкодов, а полноценный миникомпьютер со своей операционной системой. По умолчанию, когда вы нажимаете кнопку сканирования на ТСД, встроенный лазерный или светодиодный модуль считывает штрихкод и передает его во внутреннее приложение терминала (например, во встроенную утилиту тестирования или текстовый редактор). Компьютер, на котором запущена 1С, об этом событии ничего не знает.
Чтобы штрихкод передавался в 1С на вашем ПК, нам нужно решить две задачи:
Рассмотрим подробнее, как это реализовать на практике.
Прежде чем приступать к установке программ связи на компьютер, необходимо правильно настроить модуль сканирования на самом устройстве GP-C5000 или любом другом Android-ТСД. Нам нужно добиться того, чтобы при сканировании штрихкод автоматически "печатался" в любое активное текстовое поле на экране терминала.
Выполним по шагам настройку на ТСД:
Scanner, Barcode, Scan Settings или ScanWedge.Intent (передача данных через внутренние сообщения Android). Нам необходимо переключить этот параметр в режим Keyboard Emulation (Эмуляция клавиатуры) или Keystroke (Посимвольный ввод).Enter, CR (Carriage Return) или LF (Line Feed). В некоторых утилитах достаточно просто поставить галочку напротив пункта Add Enter или Send Enter key.Проанализируем ситуацию: как связать ТСД с компьютером, чтобы штрихкоды попадали в активное окно 1С? Для этого существует два основных пути.
Этот вариант подходит, если 1С запущена локально на компьютере, к которому у кладовщика есть визуальный доступ. Мы используем связку из мобильного приложения на ТСД и серверной утилиты на ПК. Этот софт перехватывает штрихкоды, отправленные с ТСД по Wi-Fi или Bluetooth, и имитирует их ввод на клавиатуре компьютера (Keyboard Wedge).
Рассмотрим проверенные программные продукты, которые стабильно работают на старых версиях Android (включая версию 5.1):
Если ваша 1С:УТ 10.3 запущена на удаленном сервере терминалов через RDP, обычная эмуляция клавиатуры может работать со сбоями (символы могут "теряться" или передаваться с задержкой из-за сетевых задержек). В этом случае стандартный клавиатурный ввод малоэффективен.
Для терминалов марки GlobalPOS, поставляемых дистрибьютором «Сканкод», существует штатное надежное решение:
ReaderConfig) настраивается передача данных по протоколу TCP на определенный IP-адрес и порт.Если мы используем режим эмуляции клавиатуры (Способ А), то 1С должна быть готова к приему данных. Настроим торговое оборудование в конфигурации "Управление торговлей 10.3":
1С:Сканер штрихкода (или драйвер АТОЛ, если используются старые версии драйверов).COM3).#13, что соответствует клавише Enter).Для понимания того, как 1С обрабатывает это событие в кодовой базе обычных форм, посмотрим на пример процедуры обработки внешнего события в модуле формы:
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// Проверим, что событие пришло от сканера штрихкодов
Если ПолучитьЭкземплярПравОборудования().ЭтоПолучениеШтрихкода(Событие) Тогда
ОчиститьСообщения();
ШтрихкодДанные = СокрЛП(Данные);
// Выполняем поиск номенклатуры по считанному штрихкоду
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Штрихкоды.Владелец КАК Номенклатура,
| Штрихкоды.ЕдиницаИзмерения
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.Штрихкод = &Штрихкод";
Запрос.УстановитьПараметр("Штрихкод", ШтрихкодДанные);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Сообщить("Штрихкод " + ШтрихкодДанные + " не найден в базе данных! Вы можете привязать его к текущему товару.");
Иначе
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("Найден товар: " + Выборка.Номенклатура);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Использование ТСД в качестве "глупого" беспроводного сканера имеет очевидный минус: экран устройства никак не используется, а кладовщику приходится постоянно бегать к монитору компьютера, чтобы проверять, правильно ли считался код и не возникли ли ошибки в 1С. Чтобы сделать работу комфортной и исключить ошибки "человеческого фактора", мы рекомендуем рассмотреть внедрение специализированных мобильных клиентов для 1С:
Таким образом, мы детально разобрали, как решить проблему интеграции ТСД GlobalPOS GP-C5000 на Android 5.1 с базой 1С:УТ 10.3. Выберите наиболее подходящий для вашего склада способ — от простой эмуляции до полноценного мобильного клиента — и настройте систему для быстрой и безошибочной работы склада!