Подключение терминалов сбора данных (ТСД) к платформе 1С в терминальном режиме работы (RDP) — классическая задача складской автоматизации, которая таит в себе множество подводных камней. Администраторы и разработчики часто сталкиваются с аппаратными сбоями, рассинхронизацией раскладки клавиатуры, потерей символов при сканировании и регулярными «отвалами» проброшенных COM-портов. Рассмотрим детально все доступные варианты решения этой проблемы, проанализируем их плюсы и минусы, а также разберем по шагам наиболее стабильные схемы настройки.
Когда информационная база 1С:ERP Управление предприятием или 1С:Комплексная автоматизация развернута на сервере приложений в клиент-серверном варианте, а пользователи работают через удаленные рабочие столы (RDP), физический ТСД находится на стороне клиента. Нам необходимо передать данные сканирования штрихкодов с локального физического устройства в терминальную сессию 1С с минимальной задержкой и без искажений.
Существует три классических сценария реализации этой схемы:
Выясним причину нестабильности каждого метода и рассмотрим практические инструкции по их настройке.
---
Если ТСД подключается к локальному компьютеру (или базовой станции/кредлу) по интерфейсу USB с эмуляцией COM-порта (так называемый USB-to-Serial режим), нам необходимо корректно транслировать этот порт на терминальный сервер. Главная проблема здесь — нестабильность виртуальных каналов RDP и возможные конфликты номеров портов у разных пользователей.
Проанализируем шаги по правильной настройке этого механизма:
Шаг 1. Настройка локального драйвера и проверка связи.
Перед пробросом порта убедимся, что ТСД стабильно определяется на локальном ПК в Диспетчере устройств как COM-порт (например, COM3). Убедимся, что установлены последние версии драйверов производителя оборудования.
Шаг 2. Настройка параметров подключения RDP-клиента.
В настройках RDP-клиента (файл конфигурации .rdp) перейдем на вкладку «Локальные ресурсы», нажмем кнопку «Подробнее» в разделе «Локальные устройства и ресурсы» и установим флажок напротив пункта «Порты».
Шаг 3. Устранение коллизий номеров портов на сервере.
Если несколько складских сотрудников одновременно подключаются к серверу, и у каждого локальный ТСД «сидит» на порту COM3, в системе возникнет конфликт адресации. Для решения этой проблемы рекомендуется использовать сторонние утилиты маршрутизации COM-портов по протоколу TCP/IP (например, семейство программ FabulaTech Serial Port Redirector или аналогичные решения). Они позволяют жестко закрепить за каждым пользователем свой виртуальный порт на сервере (например, сопоставить локальный COM3 пользователя Иванов с серверным COM15).
Шаг 4. Диагностика проброса портов через CMD.
Чтобы быстро проверить, видит ли терминальный сервер проброшенные порты текущего пользователя, выполним в командной строке сервера команду:
change port /query
Система должна вернуть список соответствий, где будет четко видно, какой локальный порт сопоставлен с виртуальным портом сессии RDP.
Шаг 5. Настройка драйвера торгового оборудования в 1С.
В самой 1С при добавлении нового торгового оборудования выбираем соответствующий драйвер и указываем проброшенный порт. Важно: для компенсации сетевых задержек в настройках драйвера ТСД на стороне сервера необходимо увеличить параметр Таймаут (Timeout) до уровня 1500–2000 мс. При стандартных настройках в 300 мс 1С часто не успевает дождаться ответа от порта при высокой загруженности сети Wi-Fi.
---
Самый простой и популярный вариант подключения современных ТСД на базе Android или устаревших Windows Mobile / Windows CE — использование утилит эмуляции клавиатуры. В этом случае сканер считывает штрихкод и моментально эмулирует быстрое нажатие клавиш на клавиатуре, отправляя цифры в активное поле ввода в 1С.
Однако в RDP-сессии этот способ часто дает сбои: символы теряются из-за сетевого пинга, а латинские буквы штрихкода превращаются в русские (или наоборот), если на ПК или сервере активна другая раскладка клавиатуры.
Разберем по шагам, как настроить безошибочную эмуляцию клавиатурного ввода.
Шаг 1. Настройка утилиты сканирования на ТСД (DataWedge).
На устройствах под управлением Android (например, Zebra, Honeywell, Urovo) предустановлена утилита управления сканером. В случае устройств Zebra это программа DataWedge. Нам необходимо зайти в профиль сканирования и изменить несколько параметров:
[, а в качестве суффикса — символ перевода строки Enter или Tab. Это поможет обработчику 1С однозначно распознавать начало и конец посылки штрихкода.Ctrl+V. Это полностью исключает любые проблемы с раскладкой клавиатуры.Шаг 2. Решение проблемы с раскладкой клавиатуры на сервере RDP.
Для того чтобы сервер RDP не пытался синхронизировать локальную языковую панель ТСД с раскладкой сессии и не искажал буквы штрихкодов маркировки (например, кодов «Честный ЗНАК»), необходимо внести изменения в системный реестр терминального сервера:
regedit на сервере.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard LayoutDWORD (32 бита) с именем IgnoreRemoteKeyboardLayout и установим его значение равным 1.---
Когда складские операции требуют сложной логики (онлайн-проверка остатков, работа с ячеистым хранением, сборка заказов по приоритетам), стандартный RDP-клиент становится узким горлышком. В этом случае правильным решением будет использование специализированных платформ автоматизации мобильных рабочих мест (например, «DataMobile» от Сканпорт или продукты от компании «Клеверенс»).
Рассмотрим архитектуру такого решения:
Преимущества подхода: высокая скорость работы интерфейса на самом ТСД, полная автономность (при кратковременном отключении Wi-Fi на складе ТСД продолжает бесперебойную работу, сохраняя данные в своей локальной базе данных), готовая поддержка кодов маркировки и отсутствие необходимости пробрасывать порты по RDP.
---
Современным и наиболее технологичным стандартом автоматизации складов на платформе 1С v8.3 является полный отказ от устаревшей технологии RDP на ТСД в пользу мобильных приложений или мобильного клиента 1С.
Проанализируем процесс реализации такого подхода:
1. Публикация базы 1С на веб-сервере.
Информационная база 1С публикуется на веб-сервере (IIS или Apache). Это позволяет мобильным устройствам обращаться к базе напрямую по защищенному протоколу HTTPS.
2. Использование «1С:Мобильный клиент».
На ТСД под управлением ОС Android устанавливается официальное приложение 1С:Мобильный клиент. При запуске оно подключается к веб-серверу и открывает интерфейс 1С, оптимизированный под экраны мобильных устройств. 1С:Мобильный клиент умеет работать со встроенным сканером ТСД на системном уровне через Android-интенты (Broadcast Intents). Сканирование происходит мгновенно, без задержек и без использования клавиатурного буфера.
3. Использование HTTP-сервисов для интеграции собственного Android-клиента.
Если требуется максимальная кастомизация и быстродействие, разработчики пишут собственное мобильное приложение на Java/Kotlin/Flutter, которое обменивается данными с 1С через HTTP-сервисы в формате JSON. Рассмотрим пример простого REST API обработчика в 1С для получения данных со сканера ТСД:
Функция ПолучитьДанныеСканирования(Запрос)
// Получаем тело POST-запроса с ТСД
ДанныеСтрокой = Запрос.ПолучитьТелоКакСтроку("UTF-8");
// Читаем JSON-пакет со штрихкодом и метаданными ТСД
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ДанныеСтрокой);
ДанныеТСД = ПрочитатьJSON(Чтение);
Чтение.Закрыть();
// Производим поиск номенклатуры в базе данных
Штрихкод = ДанныеТСД.Штрихкод;
НоменклатураСсылка = РегистрыСведений.ШтрихкодыНоменклатуры.ПолучитьНоменклатуруПоШтрихкоду(Штрихкод);
// Формируем структуру ответа
СтруктураОтвета = Новый Структура;
Если ЗначениеЗаполнено(НоменклатураСсылка) Тогда
СтруктураОтвета.Вставить("Результат", "Успешно");
СтруктураОтвета.Вставить("Наименование", НоменклатураСсылка.Наименование);
СтруктураОтвета.Вставить("Код", НоменклатураСсылка.Код);
Иначе
СтруктураОтвета.Вставить("Результат", "ТоварНеНайден");
КонецЕсли;
// Отправляем JSON-ответ обратно на ТСД
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураОтвета);
СтрокаОтвета = ЗаписьJSON.Закрыть();
Ответ = Новый HTTPСервисОтвет(200);
Ответ.УстановитьТелоИзСтроки(СтрокаОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Возврат Ответ;
КонецФункции
Этот подход гарантирует 100% стабильность работы оборудования, так как физическое сканирование обрабатывается локальной операционной системой ТСД, а в 1С передается готовый, структурированный пакет данных по стандартным веб-протоколам.
---
Подводя итог, выделим ключевые правила настройки ТСД при работе с 1С:
IgnoreRemoteKeyboardLayout = 1.1С:Мобильный клиент, что кардинально снизит требования к качеству Wi-Fi покрытия и полностью избавит вас от проблем с драйверами и пробросом оборудования.