← На главную
При организации работы в 1С через удаленный рабочий стол (RDP) часто возникает задача подключения торгового оборудования — в частности, фискальных регистраторов и контрольно-кассовой техники (ККТ). Касса физически находится на рабочем месте кассира, а база данных 1С и терминальный сервер расположены удаленно. Проанализируем основные способы подключения оборудования, причины возможных сбоев и нюансы настройки.
Причины проблем при работе ККТ через RDP
Прежде чем переходить к вариантам подключения, разберем ключевые сложности, с которыми можно столкнуться при стандартном пробросе оборудования через терминальную сессию:
- Разрыв и переподключение RDP-сессии. При кратковременном сбое интернет-соединения сеанс пересоздает виртуальные каналы. В результате проброшенный виртуальный COM-порт может отключиться или изменить свой порядковый номер на сервере.
- Режим энергосбережения USB-портов. Операционная система локального ПК может переводить USB-переходник или контроллер в спящий режим при простое, что вызывает ошибки отклика оборудования в 1С.
- Задержки сети и таймауты (Ping). При высоком пинге или потере пакетов внешняя компонента 1С не успевает получить ответ от устройства, выдавая ошибку вида «Устройство не ответило».
- Разрядность драйверов. Разрядность внешних компонент 1С для работы с ККТ на сервере должна строго соответствовать разрядности клиентского приложения 1С (x86 или x64).
Способ 1. Стандартный проброс COM-портов средствами RDP и команды net use
Рассмотрим традиционный вариант подключения ККТ, когда фискальный регистратор подключен к локальному компьютеру через COM-порт или USB с эмуляцией COM-порта. В свойствах RDP-клиента (mstsc) предварительно включает перенаправление последовательных портов.
Чтобы зафиксировать привязку локального порта к терминальной сессии, на сервере применяется системная команда net use. Посмотрим на пример команды для проброса порта:
net use com1 \\tsclient\com1
Данная команда связывает виртуальный порт COM1 на терминальном сервере с портом COM1 клиентского компьютера. Однако при нестабильном интернет-канале или частых переподключениях сессии этот способ может требовать повторной инициализации соединения.
Способ 2. Прямое сетевое подключение ККТ (Ethernet / Wi-Fi)
Проанализируем более надежный вариант, когда касса оснащена сетевым интерфейсом Ethernet. В этом случае кассе присваивается статический IP-адрес в локальной сети кассового узла. При наличии VPN-туннеля между удаленным сервером и сетью магазина (либо при пробросе порта на роутере) программа 1С на терминальном сервере взаимодействует с кассой напрямую по IP-адресу.
При таком подходе проброс портов средствами RDP не используется, а печать чеков не зависит от состояния терминального сеанса. Главным условием успешной работы является стабильный интернет-канал с минимальными задержками.
Способ 3. Использование кассового сервера (Сервер ККМ)
Выясним, как исключить задержки печати чеков и подвисания драйверов 1С при работе через интернет. Для этого применяется архитектура с промежуточным кассовым сервером:
- На локальный ПК кассира, к которому физически подключена ККТ, устанавливается служба кассового сервера (например, Сервер ККМ).
- Служба работает на локальном компьютере и ожидает входящие сетевые команды по TCP/HTTP-протоколу.
- В 1С на терминальном сервере настраивается драйвер виртуальной ККМ, где указываются IP-адрес локального компьютера кассира и порт службы.
- Печать чека происходит путем отправки команды из 1С на кассовый сервер, который локально взаимодействует с кассой без задержек.
Важные технические настройки для стабильной работы
Разберем дополнительные настройки, которые помогают предотвратить сбои при любом выбранном способе подключения:
- Отключение энергосбережения USB. В Диспетчере устройств на локальном ПК кассира для всех USB-концентраторов и корневых устройств следует снять флаг «Разрешить отключение этого устройства для экономии энергии».
- Проверка разрядности платформы 1С. Если на терминальном сервере запущен 64-разрядный клиент 1С, внешняя компонента драйвера ККТ также должна быть 64-битной.
- Альтернатива RDP — Тонкий клиент 1С. Если работа через RDP вызывает постоянные задержки оборудования, оптимальным решением является публикация базы 1С на веб-сервере (IIS или Apache). На ПК кассира запускается Тонкий клиент 1С, а ККТ подключается напрямую к локальному компьютеру. Связь с базой осуществляется по протоколу HTTP/HTTPS, что полностью снимает проблему проброса портов.