При организации работы большого количества кассиров и операторов в терминальном режиме RDP часто возникает ситуация, когда торговое оборудование — сканеры штрихкодов и контрольно-кассовые машины (ККМ) — начинает самопроизвольно отключаться или пропадать из системы. В конфигурациях 1С (например, 1С:Комплексная автоматизация) торговое оборудование перестает отвечать, а терминальный сервер теряет привязку портов. Разберем детально, почему это происходит и как стабилизировать работу торгового оборудования.
Проанализируем механику работы виртуальных портов в среде Windows Server при RDP-подключениях. Основные факторы, приводящие к сбоям:
COM16 в одной сессии). В результате драйвер 1С блокируется, не понимая, к какому физическому устройству обращаться.COM33 и выше приводит к тому, что порт перестает определяться и пробрасываться.Для выявления дубликатов и зависших перенаправлений проверим состояние портов непосредственно внутри терминальной сессии пользователя. Откроем командную строку в RDP и выполним команду:
change port /query
Внимательно изучим вывод команды. Если один и тот же локальный порт (например, \Device\RdpDrPort\;COM16:2\tsclient\COM16) отображается в списке несколько раз для одного сеанса, налицо коллизия перенаправления. Простейшим и быстрым решением в этом случае является полное удаление старого ярлыка .rdp на клиентском компьютере, сброс кэшированных параметров подключения и создание ярлыка заново.
Если пересоздание ярлыка не помогло или порты продолжают конфликтовать, выполним глубокую очистку на клиентских рабочих станциях и сервере:
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
regedit), перейдем в ветку:
HKLM\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
ComDB (установим значение в 0). Это сбросит резервацию номеров и позволит системе назначать порты заново, начиная с младших номеров в диапазоне до COM32.Чтобы исключить зависимость от штатного механизма автоматического перенаправления RDP, настроим логон-скрипт (BAT-файл), выполняемый при входе пользователя в терминал. Скрипт принудительно удалит старую привязку и создаст явное подключение:
change port /d COM16
net use COM16: \\tsclient\COM16
Такой подход гарантирует, что к моменту запуска 1С порт будет смонтирован в единственном экземпляре.
Для предотвращения внезапных разрывов соединения на клиентских компьютерах отключим режим выборочной приостановки USB:
Когда количество подключенного торгового оборудования велико, проброс десятков виртуальных портов через стандартный RDP-канал создает повышенную нагрузку и остается уязвимым местом. Рассмотрим альтернативные архитектурные решения:
CR (Enter). В 1С подключается стандартный драйвер клавиатурного ввода. Это полностью устраняет потребность в COM-портах для сканеров.