Почему медленно печатается чек через RDP и как это исправить?

Системный администратор Торговля и дистрибуция
← На главную

При переходе на новую версию операционной системы (например, с Windows Server 2008 на Windows Server 2012) пользователи часто сталкиваются со значительным замедлением печати чеков на фискальных регистраторах (например, АТОЛ 22Ф) в терминальной сессии Remote Desktop Protocol (RDP). Замер производительности в 1С показывает, что основные задержки происходят во время выполнения команд драйвера, таких как объект.драйвер.открытьчек() и объект.драйвер.закрытьчек(). Выясним причины возникновения такой проблемы и разберем по шагам варианты ее решения.

Причины задержек при пробросе COM-портов через RDP

Проанализируем техническую сторону работы оборудования через удаленный рабочий стол. При пробитии чека платформа 1С последовательно вызывает десятки команд драйвера ККТ. Если касса подключена к локальному компьютеру по последовательному порту (COM или эмуляции USB-COM) и перенаправлена на терминальный сервер средствами RDP, вызовы выполняются синхронно:

  1. Сервер отправляет одну команду драйвера на локальный ПК.
  2. Локальный ПК передает команду устройству и ожидает ответа.
  3. Ответ возвращается по сети на терминальный сервер, после чего 1С отправляет следующую команду.

Даже при небольшом сетевом пинге (RTT) суммарное время выполнения цепочки вызовов увеличивается в десятки раз. Начиная с Windows Server 2012, подсистема виртуальных каналов RDP (RDPDR) работает иначе с временными задержками и пакетами, что при нестабильном или асинхронном интернет-канале приводит к зависанию потока ввода-вывода виртуального COM-порта.

Способ 1. Отказ от проброса COM-портов и переход на сетевой режим

Наиболее эффективным решением является исключение механизмов проброса последовательных портов RDP и организация прямого сетевого взаимодействия с фискальным регистратором.

  1. Использование службы FDSVC или Web-сервера АТОЛ (ДТО 10):

    Установим драйвер ККТ непосредственно на локальный рабочий ПК кассира и запустим службу сетевого вещания. 1С, работая на удаленном сервере, сможет обращаться к кассе по сетевому протоколу HTTP (JSON API) или через службу драйвера напрямую по IP-адресу локальной машины, полностью минуя стандартный проброс портов mstsc.exe.

  2. Организация VPN-канала:

    Создадим единую частную сеть (VPN) между терминальным сервером и локальной сетью кассового места (с помощью программных средств или роутеров). В таком случае оборудование становится доступно по прямому IP-адресу в сети.

Способ 2. Настройка и оптимизация протокола RDP на сервере и клиенте

Если изменить архитектуру подключения ККТ не представляется возможным, оптимизируем работу самого терминального соединения.

  1. Обновление RDP-клиента:

    Убедимся, что на локальных рабочих станциях установлены актуальные обновления RDP-клиента. Обновление протокола RDP повышает стабильность виртуальных каналов перенаправления ресурсов.

  2. Отключение протокола UDP для RDP-сессий:

    По умолчанию в Windows Server 2012 используется гибридный режим TCP/UDP. На нестабильных каналах связи потери UDP-пакетов вызывают задержки виртуального COM-порта. Для отключения UDP на стороне клиента или через групповые политики найдем и активируем параметр fClientDisableUDP или политику «Отключить UDP на клиенте».

  3. Отключение сетевой разгрузки (TCP Task Offload):

    В реестре терминального сервера перейдем в ветку:

    HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    Создадим параметр типа DWORD с именем DisableTaskOffload и присвоим ему значение 1. Это устраняет аппаратные сбои при обработке трафика перенаправленных ресурсов.

Способ 3. Дополнительные настройки электропитания и драйверов

Посмотрим на локальные настройки порта и оборудования:

  1. Настройка энергосбережения:

    В диспетчере устройств локального ПК откроем свойства используемого COM-порта или корневого USB-концентратора. На вкладке «Управление электропитанием» снимем галочку «Разрешить отключение этого устройства для экономии энергии».

  2. Обновление драйвера ККТ:

    Установим свежие официальные драйверы оборудования АТОЛ как на локальном ПК, так и на терминальном сервере. Современные версии драйверов содержат оптимизированные алгоритмы взаимодействия с онлайн-кассами.

← На главную