Как подключить терминал эквайринга Pax SP30 к 1С через RDP: решение проблемы «Нет связи с банком»

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

Часто при автоматизации розничной торговли возникает потребность подключить банковский терминал (например, Pax SP30 от Сбербанка) к программе 1С:Управление торговлей (УТ 10.3), которая работает на удаленном сервере через RDP. Ситуация классическая: при подключении терминала к локальному компьютеру и тестировании оплата проходит корректно. Но стоит только перенести папку с драйверами на сервер, настроить проброс COM-порта и попытаться пробить чек в 1С, как терминал выдает ошибку «Нет связи с банком», хотя сумма к оплате на экран устройства выводится. Проанализируем эту ситуацию и разберем по шагам, как добиться стабильной работы эквайринга в терминальной сессии. Для этой задачи в УТ 10.3 можно применить модифицированную обработку обслуживания терминала Сбербанка, в которой реализована возможность гибкого указания пути к необходимым библиотекам.

Проверка и настройка проброса COM-портов в RDP

Для начала убедимся, что COM-порт, к которому физически подключен терминал, корректно передается в удаленную сессию. В настройках клиента RDP на вкладке «Локальные ресурсы» обязательно должна стоять галочка напротив пункта «Порты».

Рассмотрим, как проверить доступность порта непосредственно на сервере терминалов. Для этого откроем командную строку (cmd) в RDP-сессии и выполним команду:

change port /query

Эта команда покажет список всех активных COM-портов. Найдите в списке примапленный порт терминала. Затем попробуйте запустить опрос устройства (например, через утилиту Сбербанка) и снова выполните команду проверки. Если порт пропадает из списка, значит, связь нестабильна и COM-порт «отваливается» в процессе передачи данных.

Также обратим внимание на скорость порта. В диспетчере устройств на локальном ПК скорость часто по умолчанию равна 9600. Убедитесь, что в конфигурационном файле драйвера Сбербанка (pinpad.ini) на сервере установлена аналогичная скорость, а не завышенная (например, 115200), так как на высоких скоростях виртуальные порты в RDP могут терять пакеты.

Тонкая настройка конфигурации pinpad.ini

Перейдем к настройке конфигурационного файла pinpad.ini, который находится в рабочей папке Сбербанка (обычно это C:\sc552). Откроем этот файл на сервере и проанализируем параметры.

Обязательно укажите примапленный COM-порт. Но кроме самого порта, при работе через RDP нам понадобятся дополнительные параметры, которые помогут стабилизировать связь драйвера с оборудованием:

  1. ForcePort=1 — этот параметр заставляет драйвер игнорировать некоторые системные проверки состояния порта, что критически важно при использовании виртуального или проброшенного COM-порта.
  2. ComReadTimeout — в условиях RDP сетевые задержки могут быть выше, чем при локальном подключении. Увеличьте таймаут чтения, чтобы драйвер не сбрасывал соединение раньше времени.
  3. ShowResultDialog=0 — отключает системные всплывающие окна драйвера, которые иногда блокируют поток передачи данных в фоновом режиме RDP-сессии.

Выбор стабильной версии библиотек (UPOS) Сбербанка

Рассмотрим одну из самых неочевидных проблем, из-за которой терминалы Pax (и другие устройства Сбербанка) отказываются работать через RDP. Как показывает практика, последние версии пакета sc552 (UPOS) могут работать с проброшенными портами менее стабильно, чем их предшественники.

Если вы столкнулись с ошибкой связи, попробуйте использовать более старый вариант папки sc552, например, версии 33.00.10 или 33.17.03 (а иногда и версии ниже 31.00). Зачастую распаковка старой версии библиотеки решает проблему: драйвер начинает видеть банк, и терминал работает без сбоев. После успешного запуска на старой версии некоторые системные администраторы доустанавливают новую версию поверх старой, и конфигурация продолжает работать корректно.

Настройка электропитания и реестра

Выясним причину внезапных отключений порта. Часто проблема кроется не в 1С и не в RDP, а в настройках энергосбережения локального компьютера.

На локальном ПК зайдите в Диспетчер устройств. Найдите USB-концентраторы и сам COM-порт терминала (он обычно эмулируется через USB-VCOM). В свойствах каждого из них перейдите на вкладку «Управление электропитанием» и снимите галочку с пункта «Разрешить отключение этого устройства для экономии энергии». Иначе Windows может приостановить питание порта, что мгновенно разрушит RDP-соединение терминала.

На стороне самого сервера (RDP-хоста) иногда требуется настройка реестра. В ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd можно добавить или изменить параметр FilterSendMessageTimeout, увеличив время ожидания отклика локального устройства.

Альтернативные способы проброса COM-портов

Если стандартный механизм проброса портов RDP (через клиент Подключения к удаленному рабочему столу) работает нестабильно, существуют альтернативные программные решения. Рассмотрим популярные утилиты для проброса COM-портов по сети (через TCP/IP):

Если же сам терминал поддерживает работу по Ethernet, лучшим решением будет подключить его напрямую к локальной сети. В этом случае в pinpad.ini нужно будет прописать не COM-порт, а IP-адрес терминала (параметры HostIP и HostPort). Это навсегда избавит вас от проблем с RDP-пробросом. Для реализации стабильного сетевого взаимодействия также подойдёт веб-драйвер эквайринга Сбербанка для работы через сеть, обеспечивающий независимость от проброса портов в терминальной сессии.

Тестирование и проверка прав доступа

Не пытайтесь сразу тестировать работу в 1С. Все проверки нужно проводить на сервере терминалов, используя утилиты, входящие в состав пакета Сбербанка. Запустите UPOS_Test или LoadParm.exe.

В утилите тестирования укажите рабочий каталог (например, C:\sc552) и примапленный COM-порт. Перейдите на закладку транзакций и попробуйте выполнить сверку итогов или тестовую оплату. Если утилита отрабатывает без ошибок (появляются сообщения вроде «Связь установлена»), то можно переходить к настройке торгового оборудования в 1С.

Напоследок проверим права доступа. Служба или пользователь терминальной сессии, под которым запущена 1С:УТ, должен иметь полные права на чтение и запись в директорию C:\sc552 (или ту папку, где лежат библиотеки sb_pilot.dll). В процессе работы драйвер создает временные файлы и логи, и отсутствие прав приведет к зависанию оплаты.

Выполнив все вышеописанные шаги — от правильного проброса порта и подбора рабочей версии библиотеки до настройки таймаутов — вы обеспечите надежную работу терминала эквайринга Pax SP30 с 1С через RDP без раздражающих обрывов связи с банком.

← На главную