Как подключить онлайн-кассу ШТРИХ-М-01Ф в 1С через RDP и решить проблему с недоступностью COM-порта?

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

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

В этой статье мы подробно разберем, почему возникает данная проблема, и рассмотрим проверенные практические методы её решения — от устранения конфликтов монопольного доступа до полной перенастройки оборудования на работу по сетевому протоколу TCP/IP через VPN-туннель.

Почему возникает ошибка «COM-порт недоступен» при RDP-подключении?

Для начала давайте проанализируем физические и программные причины, из-за которых 1С теряет связь с кассой ККТ «Штрих-М-01Ф» при работе в терминальной сессии:

  1. Конфликт монопольного доступа. Драйвер ККТ «Штрих-М» работает с портами монопольно. Если на сервере или на локальной машине открыта сервисная утилита «Тест драйвера ФР» (даже если она свернута в трей), она захватывает COM-порт. В результате 1С при попытке обратиться к кассе получает отказ операционной системы, так как порт уже занят другим процессом.
  2. Разница в разрядности платформы 1С и драйвера. Если на сервере установлена 64-битная версия платформы 1С:Предприятие, она физически не сможет инициализировать 32-битную внешнюю компоненту драйвера ККТ. Программа будет выдавать стандартную ошибку связи с портом, хотя сам порт корректно проброшен в сессию.
  3. Таймауты при работе через нестабильный интернет. При использовании мобильного интернета (например, 3G/4G-модемов от сотовых операторов) пакеты данных могут задерживаться. Протокол RDP чувствителен к задержкам. При отправке команды на печать чека драйвер 1С ждет ответа от ККТ определенное количество миллисекунд. Если ответ задерживается из-за высокого пинга, соединение разрывается с ошибкой доступности порта.
  4. Сбои механизма перенаправления портов RDP. Стандартный проброс портов в клиенте mstsc.exe не всегда стабильно работает с виртуальными COM-портами, созданными USB-драйверами (Vcom). При переподключении сессии порты могут менять свои номера или «отваливаться» на уровне операционной системы сервера.

Ниже мы подробно разберем пошаговые алгоритмы устранения каждой из этих проблем.

Решение 1. Устранение конфликтов монопольного доступа и проверка разрядности

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

  1. Убедитесь, что на клиентском компьютере и на сервере RDP полностью закрыта программа «Тест драйвера ФР».
  2. Откройте Диспетчер задач на сервере и проверьте, не завис ли процесс drvfrT.exe или аналогичные процессы драйвера в сессиях других пользователей. При необходимости завершите их принудительно.
  3. В параметрах подключения ККТ в самой 1С обязательно проверьте, что номер COM-порта точно соответствует номеру, назначенному вашему локальному устройству в текущей RDP-сессии. Проверить сопоставление портов на сервере можно через командную строку, выполнив команду:

change port /query

Команда выведет список всех подключенных портов и их соответствие клиентским устройствам. Вы должны увидеть строку вида: COM3 = \Device\RdpDrPort\;COM3:4\tsclient\COM3.

Также необходимо проверить корректность регистрации библиотек драйвера в системе. Если компонента ККТ не зарегистрирована должным образом для всех пользователей терминала, 1С не сможет к ней обратиться. Для решения этой проблемы запустите командную строку от имени Администратора на сервере и выполните принудительную регистрацию библиотеки drvfr.dll:

regsvr32 "C:\Program Files (x86)\Shtrih-M\DrvFR 4.15\Bin\drvfr.dll"

После успешной регистрации перезапустите сеанс 1С и повторите попытку подключения устройства.

Решение 2. Настройка увеличенных таймаутов в 1С

Если касса работает через мобильное подключение (например, через беспроводные точки доступа), стандартного времени ожидания ответа от ККТ часто не хватает. Чтобы исправить это, нам необходимо скорректировать настройки связи непосредственно в параметрах подключения ККТ в 1С:

  1. Перейдите в раздел «Администрирование» -> «Подключаемое оборудование».
  2. Откройте карточку настройки вашей ККТ.
  3. Найдите параметр «Таймаут» (или «Пауза в миллисекундах»). По умолчанию там может быть установлено значение в районе 100–300 мс.
  4. Увеличьте это значение до 1500–3000 мс в зависимости от качества связи на удаленной точке.

Это позволит драйверу ККТ ожидать ответа от устройства дольше, не прерывая сессию печати аварийно при возникновении кратковременных задержек в передаче пакетов через RDP-канал.

Решение 3. Переход на сетевое подключение ККТ через TCP-сокет

Самым надежным и профессиональным решением при работе в терминальной среде является полный отказ от проброса COM-портов. Мы переведем ККТ «Штрих-М-01Ф» в режим работы по TCP-сокету. При таком подходе касса общается с сервером напрямую по сети через IP-адрес и порт (по умолчанию порт 7778).

Для реализации этого сценария нам не обязательно иметь белый статический IP-адрес на стороне клиента. Мы организуем безопасный VPN-канал между удаленной точкой и сервером.

Рассмотрим этот процесс по шагам.

Шаг 1. Настройка сетевого интерфейса на кассе

У кассы «Штрих-М-01Ф» имеется физический сетевой порт RJ-45 (Ethernet). Подключите ККТ кабелем напрямую к роутеру на удаленной точке. Если возможности протянуть кабель нет, можно использовать режим RNDIS (Ethernet over USB), при котором касса подключается по USB, но эмулирует сетевую карту в операционной системе клиентского ПК.

Для настройки сетевых параметров ККТ:

  1. Запустите локально на клиентском компьютере «Тест драйвера ФР».
  2. Установите связь с кассой по COM-порту.
  3. Перейдите в раздел «Таблицы» и откройте Таблицу №21 «Сетевые адреса».
  4. Задайте кассе свободный статический IP-адрес из вашей локальной подсети (например, 192.168.1.150), маску подсети (255.255.255.0) и адрес шлюза (роутера).
  5. Сохраните изменения и перезагрузите кассу.

Шаг 2. Объединение сервера и клиента в единую VPN-сеть

Поскольку удаленные клиенты работают через мобильный интернет без возможности проброса портов (NAT) на роутерах, мы настроим VPN-соединение, где сервером будет выступать наш RDP-сервер (или офисный маршрутизатор с белым IP-адресом):

  1. Настройте VPN-сервер (например, WireGuard, OpenVPN или L2TP) на стороне офиса, где расположен сервер 1С.
  2. На удаленном клиентском компьютере запустите VPN-клиент и установите соединение с сервером.
  3. После успешного подключения клиентский ПК получит виртуальный IP-адрес в подсети VPN (например, 10.8.0.2), а сервер будет иметь адрес 10.8.0.1.

Теперь нам нужно настроить маршрутизацию, чтобы сервер 1С мог отправлять пакеты на IP-адрес кассы (192.168.1.150), находящейся за клиентским ПК. На сервере 1С добавьте статический маршрут через командную строку от имени Администратора:

route add 192.168.1.0 mask 255.255.255.0 10.8.0.2 -p

Где 192.168.1.0 — локальная подсеть удаленного клиента, а 10.8.0.2 — IP-адрес этого клиента внутри VPN-сети. Параметр -p делает маршрут постоянным (он не пропадет после перезагрузки сервера).

Шаг 3. Настройка подключения в 1С

После настройки маршрутизации касса становится доступна непосредственно с сервера 1С. Проверить это можно обычной командой ping 192.168.1.150 из командной строки сервера.

Переходим к настройке торгового оборудования в информационной базе 1С:

  1. В 1С откройте настройки ККТ с передачей данных.
  2. В поле «Тип подключения» выберите значение «TCP сокет» (или «Сетевое подключение»).
  3. В поле «IP-адрес» укажите адрес кассы: 192.168.1.150.
  4. В поле «Порт» укажите стандартный сетевой порт ККТ «Штрих-М»: 7778.
  5. Нажмите кнопку «Тест устройства».

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

← На главную