Работа с торговым оборудованием в терминальном режиме (через RDP) часто преподносит неприятные сюрпризы. Типичная ситуация: системный администратор проверяет наличие портов командой change port /query, видит проброшенный COM-порт кассы, но стоит только драйверу Атол или базе 1С попытаться инициализировать устройство, как порт «отваливается» и исчезает из системы до перезахода пользователя в сессию. Особенно часто это встречается на старых операционных системах, таких как Windows Server 2003, но проблема актуальна и для современных версий.
В этой статье мы подробно разберем, почему штатный механизм проброса портов Microsoft Remote Desktop Protocol (RDP) дает сбои при работе с ККТ, и изучим пошаговые инструкции по настройке альтернативных, более надежных способов связи.
Прежде чем переходить к настройке, проанализируем ситуацию и поймем механику возникновения ошибки. Штатный проброс COM-портов в RDP создавался для передачи простых данных (например, для весов или сканеров штрихкода в режиме эмуляции клавиатуры). Драйвер ККТ работает иначе: он требует высокоскоростного обмена данными в реальном времени с минимальными задержками.
Основные причины сбоев:
Это один из самых стабильных методов для касс Атол, не имеющих физического Ethernet-порта. Мы превратим USB-подключение в сетевое, что позволит серверу 1С обращаться к кассе по IP-адресу, полностью игнорируя нестабильный проброс портов RDP.
Рассмотрим алгоритм настройки:
EoU).EthOverUsb. В настройках службы укажите номер порта, который зарезервирован под передачу данных в ОФД.Современные драйверы Атол 10-й версии содержат встроенную службу веб-сервера. Это, пожалуй, самый прогрессивный метод работы в терминальной среде. Мы исключаем зависимость от версии Windows Server (будь то 2003 или 2022) и качества проброса портов.
Разберем ситуацию по шагам:
Если штатные средства Атол по каким-то причинам не подходят, воспользуемся эмулятором стороннего производителя. Посмотрим на пример настройки VSPE для создания надежного туннеля.
На локальном ПК (где касса на COM3):
Local TCP port укажите, например, 5555.Source serial port выберите COM3 (порт вашей кассы).На сервере (RDP):
Remote TCP host введите IP-адрес вашего локального компьютера.Remote TCP port укажите 5555.Virtual serial port выберите свободный номер порта, например COM10.В настройках 1С на сервере выберите COM10. Для системы этот порт будет выглядеть как локальный, хотя данные будут передаваться по TCP-протоколу, который гораздо надежнее стандартного механизма RDP.
Проанализируем еще один важный момент, который часто упускают. Даже при использовании VSPE или EoU, физический порт на локальном ПК может «засыпать». Чтобы это предотвратить, выполним следующие действия:
Если вы столкнулись с проблемой на Windows Server 2003, важно понимать, что стек протокола RDP версии 5.2 крайне нестабильно работает с современным торговым оборудованием. В этой ОС механизмы изоляции сессий и обработки виртуальных прерываний несовершенны. Если переход на современную ОС невозможен, единственным гарантированным решением будет отказ от проброса портов в пользу Ethernet-подключения кассы (если модель поддерживает установку коммуникационного модуля Wi-Fi/LAN) или использование платных утилит типа USB Network Gate, которые пробрасывают устройство на физическом уровне (USB-шина), а не на логическом (COM-порт).
Подводя итог, можно сказать: для стабильной работы ККТ Атол через RDP следует максимально уходить от стандартного проброса ресурсов в настройках подключения удаленного рабочего стола. Использование сетевых интерфейсов (EoU, Веб-сервер или VSPE) превращает нестабильное соединение в надежный канал передачи данных.