Рассмотрим типичную ситуацию: касса АТОЛ подключена к локальному компьютеру пользователя и отлично работает через тест драйвера. Однако при подключении к серверу 1С по RDP и попытке выполнить "Тест подключения" к этой же кассе, интерфейс 1С или утилита теста драйвера намертво зависают. При этом, если выбрать заведомо неверный COM-порт, программа выдает ошибку, но не виснет. Проанализируем, почему это происходит и как настроить оборудование для стабильной работы.
Основная причина "мертвого" зависания кроется в особенностях работы протокола RDP и драйверов торгового оборудования. Протоколы обмена данными с устройствами через COM-порт очень чувствительны к задержкам (таймингам). Драйвер отправляет команду в порт и ожидает ответ в течение строго определенного времени.
Когда вы пробрасываете COM-порт через RDP (особенно в связке с VPN), создается виртуальный канал. Передача данных по этому каналу вносит существенные и непредсказуемые задержки. В результате драйвер отправляет запрос, блокирует основной поток программы в ожидании ответа, а ответ либо теряется, либо приходит со слишком большой задержкой. Драйвер не получает ответа в установленный тайм-аут и "зависает" в вечном ожидании, увлекая за собой и программу 1С.
Важно понимать: стандартный проброс портов в RDP не гарантирует стабильную доставку данных для чувствительного оборудования, такого как ККТ или сканеры штрихкодов, работающие в режиме эмуляции COM-порта.
Наиболее правильный и стабильный способ организации удаленной работы с кассой — это отказ от проброса COM-порта в пользу сетевого подключения через специальную службу (Web-сервер), которая входит в состав драйверов АТОЛ. Разберем настройку по шагам.
Установка Web-сервера на компьютер пользователя
На локальном компьютере, к которому физически подключена касса АТОЛ, запустите установщик драйвера ККТ (в данном случае, версии 10.10.7.0). В процессе установки убедитесь, что вы поставили галочку напротив пункта "Web-сервер" или "Сервер АТОЛ". Если драйвер уже установлен, его можно переустановить в режиме изменения, добавив этот компонент.
Настройка сети на компьютере пользователя
Для стабильного соединения сервер 1С должен всегда "знать", где находится компьютер с кассой. Для этого:
192.168.1.50.16732 или 5555). Необходимо создать в Брандмауэре на компьютере пользователя разрешающее правило для входящих подключений по этому TCP-порту. Без этого правила сервер 1С просто не сможет "достучаться" до кассы.Настройка доступа к Web-серверу (при необходимости)
В некоторых версиях драйверов по умолчанию Web-сервер принимает подключения только с локального компьютера (localhost). Чтобы разрешить подключение с сервера 1С, нужно отредактировать файл настроек. Обычно это файл settings.xml, расположенный в папке с драйвером. В нем нужно найти секцию, отвечающую за разрешенные IP-адреса, и добавить туда IP-адрес вашего сервера 1С или разрешить подключения со всех адресов, указав 0.0.0.0.
Настройка драйвера в 1С на сервере
Теперь переходим к настройкам на сервере, где запущена 1С. Зайдите в раздел администрирования, где настраивается подключаемое оборудование.
192.168.1.50).16732).COM4). Это значение будет передано Web-серверу, чтобы он знал, с каким физическим портом ему работать.После этих настроек нажмите "Тест подключения". Теперь 1С будет обращаться не к "виртуальному" проброшенному порту, а напрямую по сети к службе на компьютере пользователя. Эта служба уже локально и без задержек будет взаимодействовать с кассой через COM-порт. Такой метод гораздо надежнее и решает проблему зависаний.
Если по каким-либо причинам использование Web-сервера невозможно, можно попытаться заставить работать проброс портов, но этот путь менее надежен.
Проверьте корректность проброса порта
Убедитесь, что порт действительно пробросился на сервер. Откройте на сервере "Диспетчер устройств". В разделе "Порты (COM и LPT)" вы должны увидеть свой порт. При корректном RDP-пробросе он часто имеет специфическое имя, например, COM4 for \Device\RdpDrPort\;COM4:10\tsclient\COM4. Если порт отображается просто как COM4, возможно, это локальный порт самого сервера, а не проброшенный клиентский.
Для более детальной диагностики можно использовать системную утилиту change port в командной строке сервера, которая покажет сопоставление портов.
Увеличьте тайм-ауты в настройках драйвера
Это может помочь при медленном соединении. Найдите на сервере конфигурационный файл драйвера АТОЛ (обычно это XML-файл в профиле пользователя, например, atol-dt-settings.xml). Откройте его текстовым редактором и найдите параметры, отвечающие за время ожидания (timeout). Попробуйте увеличить их значения в 2-3 раза. Это может дать драйверу больше времени на ожидание ответа по медленной сети и предотвратить зависание.
Независимо от выбранного способа подключения, обратите внимание на следующий критически важный аспект:
Соответствие версий драйверов. Очень частая причина сбоев, в том числе зависаний, — это рассогласование версий. Убедитесь, что версия компоненты интеграции, загруженной в 1С, полностью соответствует версии драйвера, установленного в системе Windows. Для этого:
1C в каталоге установки драйвера.Соблюдение этих рекомендаций, и в первую очередь переход на использование Web-сервера АТОЛ, позволит обеспечить стабильную и быструю работу кассового оборудования в удаленном режиме.