Как пробросить сканер штрихкодов через двойное подключение RDP в 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При организации удаленной работы складов и филиалов часто встречается архитектура с несколькими промежуточными узлами: рабочий компьютер склада подключается к первому терминальному серверу, а с него выполняется вход на следующий сервер, где развернута рабочая база 1С. В таких сценариях стандартное перенаправление портов перестает работать на втором шаге цепочки.

Разберем причины возникновения этой проблемы и рассмотрим проверенные технические решения для стабильной работы сканера штрихкодов в среде 1С.

Почему не работает каскадный проброс COM-портов в RDP

Проанализируем механику работы протокола удаленного рабочего стола. Когда мы подключаемся с локального компьютера склада к первому удаленному серверу с включенной опцией проброса портов, служба RDP создает виртуальное устройство перенаправления вида \\tsclient\COMx.

Ограничения стандартного механизма RDP проявляются следующим образом:

  1. Отсутствие аппаратного сопоставления: Перенаправленный порт не является полноценным физическим COM-портом в операционной системе первой удаленной машины. Это интерфейс виртуального канала терминальной сессии.
  2. Блокировка повторного захвата: Клиент RDP, запущенный внутри уже существующей сессии удаленного рабочего стола, не может захватить псевдопорт \\tsclient\COMx и повторно передать его в следующую сессию (эффект Multi-hop).
  3. Потеря управляющих сигналов: Даже если порт удается зарегистрировать в реестре или назначить через системные утилиты, драйверы оборудования 1С не получают необходимые сигналы готовности и прерывания от сканера.

Решение 1. Перевод сканера в режим эмуляции клавиатуры (HID)

Рассмотрим самый простой способ, который снимает необходимость в пробросе виртуальных последовательных портов через RDP-сессии. Большинство современных и программируемых сканеров штрихкодов поддерживают режим HID-клавиатуры.

Разберем по шагам, как перевести сканер в нужный режим:

  1. Найдем сервисную инструкцию (руководство по быстрой настройке / User Manual) к конкретной модели сканера.
  2. Отсканируем специальный управляющий штрихкод: USB HID Keyboard или USB Keyboard Emulation.
  3. Если конфигурация 1С требует автоматического распознавания события сканирования, настроим на сканере суффикс (обычно символ возврата каретки CR / Enter или специальный префикс/суффикс F7).
  4. Проверим ввод в обычном текстовом редакторе на локальном ПК склада: сканер должен печатать штрихкод так же, как обычная клавиатура.
  5. В сессии 1С на удаленном сервере настроим драйвер оборудования «1С:Сканеры штрихкода (эмуляция клавиатуры)» или оставим обработку события по префиксу/суффиксу.

В этом случае клавиатурный ввод передается через стандартный поток RDP-клиента без каких-либо сложностей с пробросом COM-портов через промежуточные узлы.

Решение 2. Запуск тонкого клиента 1С на локальном компьютере

Проанализируем штатный подход платформы 1С:Предприятие 8. Отказ от каскадного терминального доступа в пользу прямого сетевого подключения к базе полностью решает вопрос с оборудованием.

Посмотрим на порядок реализации:

  1. На конечном сервере настраиваем публикацию информационной базы на веб-сервере (IIS или Apache) по защищенному протоколу HTTPS либо открываем доступ к серверу 1С:Предприятия.
  2. На рабочем компьютере склада устанавливаем платформу 1С:Предприятие в режиме Тонкий клиент.
  3. Подключаем тонкий клиент напрямую к опубликованной базе данных.
  4. Настраиваем сканер штрихкодов в базе 1С локально на складе, указав его физический виртуальный порт COM7.

В этом сценарии все компоненты драйверов работают локально с реальным COM-портом, а в базу данных передаются готовые обработанные события платформы.

Решение 3. Использование службы «Сервер оборудования 1С»

Если прямой запуск тонкого клиента на складе невозможен, используем механизм удаленной работы с оборудованием из состава «Библиотеки подключаемого оборудования» (БПО).

Разберем настройку по шагам:

  1. На компьютере склада устанавливаем и запускаем службу Сервер оборудования 1С (компонента БПО).
  2. Подключаем сканер штрихкодов к службе локально через порт COM7.
  3. На удаленном сервере, где запущена информационная база 1С, при добавлении подключаемого оборудования выбираем работу через удаленный сервер оборудования.
  4. Указываем IP-адрес или сетевое имя складского компьютера и порт службы оборудования.

Связь между 1С и сканером осуществляется по протоколу TCP/IP напрямую, минуя промежуточную терминальную сессию.

Решение 4. Перенаправление COM-порта по сети (Serial over IP / USB over IP)

Если требуется сохранить логику работы через COM-порт в терминальной 1С без перестройки архитектуры базы, применим специализированное программное обеспечение для трансляции портов по TCP/IP:

  1. Serial over Ethernet: На ПК склада устанавливаем серверную часть программы, транслирующую трафик с COM7 в TCP-порт. На целевом сервере (удаленка 2) запускаем клиентскую часть, которая создает локальный виртуальный COM-порт и подключается к складскому ПК через локальную сеть или VPN.
  2. USB over IP: Программа захватывает USB-контроллер сканера на складской машине и подключает его на конечном сервере как физическое USB-устройство.

Решение 5. Переход на единую RDP-сессию через VPN или RDP Gateway

Часто схема «Удаленка 1 -> Удаленка 2» создается исключительно для преодоления сетевых экранов и разграничения доступа.

Выясним, как оптимизировать этот маршрут:

  1. Настраиваем защищенный VPN-канал (WireGuard, OpenVPN, IPsec) между складом и сетью конечного сервера.
  2. Либо разворачиваем роль Шлюз удаленных рабочих столов (Remote Desktop Gateway) на базе первой удаленной машины.
  3. Подключаемся с компьютера склада напрямую к конечному серверу в одну сессию RDP через шлюз.
  4. В параметрах подключения включаем проброс последовательных портов: в единственной RDP-сессии виртуальный COM7 успешно сопоставляется и определяется драйвером 1С.
← На главную