При автоматизации складских процессов на платформе 1С 7.7 часто возникает задача использования терминалов сбора данных (ТСД). В условиях ограниченного бюджета или необходимости быстрой реализации, подключение ТСД на базе Android через RDP (Remote Desktop Protocol) к существующей базе 1С 7.7 является одним из жизнеспособных вариантов. Рассмотрим подробно, какие модели ТСД подходят, как настроить работу и с какими трудностями мы можем столкнуться.
Прежде всего, давайте определимся с моделями ТСД, которые подходят для нашей задачи. Основное требование — это поддержка Android и наличие стабильного RDP-клиента.
При выборе всегда рекомендуем тщательно тестировать ТСД на реальных условиях склада, прежде чем закупать партию.
Для успешной работы нам потребуется адекватный RDP-клиент на Android. Мы должны убедиться, что он обеспечивает стабильное соединение с терминальным сервером Windows, где запущена 1С 7.7. Важно проверить, пробрасывается ли звук с сервера на ТСД, так как звуковые оповещения могут быть полезны в работе.
Одним из важных аспектов при работе по RDP является вопрос лицензирования RDP-сессий. За каждую RDP-сессию на терминальный сервер требуется клиентская лицензия (CAL). Мы должны учесть это в бюджете и, при необходимости, рассмотреть альтернативные решения (например, мобильные приложения), если лицензионные затраты становятся слишком высокими.
Экран ТСД значительно меньше монитора компьютера, поэтому стандартный интерфейс 1С 7.7 будет неудобен. Мы должны разработать специализированный интерфейс:
F1-F9) и стрелки для навигации и выполнения основных операций.Для работы со сканером ТСД в RDP-сессии, как правило, используется режим разрыва клавиатуры (Keyboard Wedge). В этом режиме сканер имитирует ввод данных с обычной клавиатуры.
Это распространенный и эффективный способ обработки ввода со сканера в 1С 7.7:
CTRL+B или специальный символ). Это позволяет нам однозначно определить, что ввод поступил от сканера, а не от ручного набора..ert для ТСД мы используем процедуру ПриНажатииКнопкиКлавиатуры(). Эта процедура позволяет нам отслеживать все нажатия клавиш, включая те, что поступают от сканера.
Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши, СостояниеКлавиш)
Если КодКлавиши = 66 И СостояниеКлавиш = 2 Тогда // CTRL+B
// Включить режим ожидания штрихкода от сканера
ГлобальнаяПеременная_ОжидаемШтрихкод = Истина;
Возврат; // Префикс не обрабатываем как часть штрихкода
КонецЕсли;
Если ГлобальнаяПеременная_ОжидаемШтрихкод Тогда
// Накапливаем символы штрихкода
Если КодКлавиши = 13 Тогда // Enter (конец штрихкода)
ГлобальнаяПеременная_ОжидаемШтрихкод = Ложь;
// Здесь обрабатываем полученный штрихкод
ОбработатьШтрихкод(НакопленныйШтрихкод);
НакопленныйШтрихкод = "";
Иначе
НакопленныйШтрихкод = НакопленныйШтрихкод + Символ(КодКлавиши);
КонецЕсли;
Возврат;
КонецЕсли;
// Здесь обрабатываем обычные нажатия клавиш, не от сканера
// Например, функциональные клавиши F1-F9, стрелки, ESC
Если КодКлавиши = 113 Тогда // F2
// Выполнить действие для F2
ИначеЕсли КодКлавиши = 114 Тогда // F3
// Выполнить действие для F3
ИначеЕсли КодКлавиши = 37 Тогда // Стрелка влево
// Переход влево
ИначеЕсли КодКлавиши = 27 Тогда // ESC
// Отмена или выход
КонецЕсли;
КонецПроцедуры
Мы видим, что такой подход позволяет нам точно контролировать ввод и различать штрихкоды от ручного набора, а также эффективно использовать функциональные и курсорные клавиши.
Для простейших операций, когда нужно только сканировать, мы можем поместить на форму единственное активное поле ввода. Все штрихкоды, поступающие от сканера (в режиме Keyboard Wedge), будут автоматически вводиться в это поле. Далее мы можем отработать стандартную процедуру поля при изменении его значения или по нажатию Enter. Если нам не требуется отображать поле, мы можем сдвинуть его за пределы видимой области экрана ТСД.
Также мы можем использовать клавиатуру ТСД для ввода управляющих команд или артикулов в это же поле, например: .24 для перехода на единицу счета или ввода даты годности. Отработка таких значений происходит в зависимости от ожидаемого контекста или текущего шага процесса.
При выборе ТСД и сканера мы должны учитывать тип штрихкодов, с которыми будем работать, и требуемую скорость:
Важно понимать, что большинство современных 2D-сканеров, в том числе в ТСД, являются именно имиджевыми (на основе камеры), а не лазерными в традиционном понимании "растровой развертки". Высокопроизводительные имиджевые сканеры существуют, но они, как правило, дороже. При выборе 2D-сканера обращаем внимание на его способность считывать поврежденные, плохо напечатанные или глянцевые коды.
Хотя тема посвящена RDP, стоит упомянуть, что существуют и более современные и гибкие альтернативы, которые могут быть более эффективными в долгосрочной перспективе или при более высоком бюджете:
Этот подход предлагает несколько вариантов работы:
Данный метод обеспечивает более широкие возможности для использования нативных функций Android (например, прямого доступа к сканеру без имитации клавиатуры) и создания более современного и отзывчивого интерфейса.
Работа с ТСД на Android через RDP-подключение к 1С 7.7 вполне осуществима и может быть эффективным решением для небольших складов с ограниченным бюджетом. Мы убедились, что важно тщательно подойти к выбору модели ТСД, оптимизировать интерфейс 1С 7.7 с помощью Formex и грамотно настроить обработку ввода со сканера и функциональных клавиш в процедуре ПриНажатииКнопкиКлавиатуры(). Несмотря на то, что это не самый современный подход, он позволяет использовать проверенные технологии 1С 7.7 для автоматизации складских операций.