Почему чеки АТОЛ стали печататься по 5-10 минут через RDP после обновления, и как это исправить?

Системный администратор 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

Рассмотрим очень распространенную ситуацию, с которой сталкиваются многие системные администраторы и специалисты 1С, которым часто требуется удаленное подключение к другим компьютерам для настройки и обслуживания оборудования. У вас есть удаленная торговая точка, подключенная к центральному серверу через терминальный доступ. На точке стоит кассовый аппарат (ККТ), который проброшен на сервер через COM-порт. Все работало годами, но после плановой замены фискального накопителя (ФН) и обновления прошивки ККТ специалистом из ЦТО печать чеков превратилась в пытку, занимая от 5 до 10 минут.

Первая мысль — виноват медленный интернет или старый компьютер на точке. Однако тесты скорости показывают приемлемые цифры, а замена ПК, как показывает практика, кардинально ситуацию не меняет. Давайте вместе разберемся, в чем истинная причина проблемы и какие есть надежные способы ее решения.

Выясним причину: почему все работало раньше, а теперь тормозит?

Ключевое событие, которое вызвало проблему, — это обновление кассы на платформу 5.0 и переход на использование Драйверов Торгового Оборудования (ДТО) версии 10. Именно это изменение кардинально повлияло на способ обмена данными между 1С и кассой.

  1. Изменение протокола обмена. Старые драйверы (например, ДТО8) работали по принципу "отправил и забыл". 1С формировала команду на печать, отправляла ее одним пакетом в COM-порт, и касса начинала печатать. Этот метод был не очень чувствителен к задержкам в сети (пингу).

    Новый протокол, используемый в ДТО10 и платформе 5.0, является "диалоговым" или "чатти" (chatty). Теперь для печати чека система ведет активный диалог с кассой: отправляет небольшую порцию данных, ждет подтверждения, отправляет следующую, снова ждет подтверждения, и так десятки, а то и сотни раз за один чек. Это необходимо для корректной поддержки маркировки, внедрения разрешительного режима на кассах, новых форматов фискальных данных (ФФД) и более строгого контроля за состоянием ККТ.

  2. Проблема проброса COM-порта через RDP. Технология перенаправления COM-портов в RDP не была рассчитана на такой интенсивный обмен мелкими пакетами. Каждый микро-запрос от сервера к кассе и ответ от нее проходят долгий путь: Сервер 1С -> RDP-канал -> Удаленный ПК -> Драйвер на удаленном ПК -> Физический COM/USB порт -> Касса. И затем ответ идет в обратном порядке. Задержка в сети (пинг), например, в 40 мс, умножается на огромное количество таких "диалоговых" пакетов, в результате чего миллисекунды превращаются в минуты.

  3. "Раздувание" трафика. Как верно подметили на форуме, иногда драйвер на сервере формирует не просто текстовые команды, а графическое представление чека, которое затем пытается "протолкнуть" через RDP на удаленный принтер. В этом случае объем данных может вырасти с десятков килобайт до нескольких мегабайт, что дополнительно замедляет процесс на медленных каналах.

Итог: Проблема не в скорости интернета как таковой, а в сочетании высокой задержки (пинга) и нового "разговорчивого" протокола. Если вовремя не принять меры, могут возникнуть серьезные проблемы с чеками при закрытии месяца и повседневной торговле.

Переходим на сетевое подключение: пошаговые решения

Чтобы решить проблему, нам нужно полностью отказаться от механизма проброса COM-порта средствами RDP и наладить прямое сетевое взаимодействие между 1С на сервере и кассой на удаленной точке. Рассмотрим три основных способа.

Решение 1: Прямое подключение по TCP/IP (если ККТ имеет Ethernet/Wi-Fi)

Это самый надежный и производительный метод. Он подходит, если ваша модель ККТ (например, АТОЛ 55Ф) имеет встроенный Ethernet-порт или если в нее можно установить дополнительный модуль связи (например, Wi-Fi модуль для АТОЛ 30Ф).

Шаг 1. Подключите кассу к локальной сети на удаленной точке (к роутеру) и настройте на ней статический IP-адрес, например, 192.168.1.123.

Шаг 2. Организуйте доступ к кассе с сервера. Есть два варианта:

Шаг 3. Настройте драйвер на сервере. В настройках торгового оборудования для вашей кассы измените тип подключения с COM на TCP/IP. В качестве адреса укажите IP-адрес, по которому касса доступна с сервера, и порт (5555).

Решение 2: Использование "Сервера удаленного подключения" АТОЛ (универсальный метод)

Этот способ идеален, если ваша касса подключена к удаленному компьютеру по USB и не имеет сетевых интерфейсов. В составе ДТО10 есть специальная утилита, которая превращает локальную USB-кассу в сетевую.

Проанализируем по шагам, как это настроить:

  1. На удаленном ПК (к которому подключена касса):

    • Установите Драйверы Торгового Оборудования (ДТО) версии 10.
    • Найдите и запустите утилиту "Сервер удаленного подключения" (может также называться RPC-сервер).
    • В настройках утилиты выберите COM-порт, к которому подключена касса.
    • Укажите сетевой порт, который будет "слушать" эта служба, например, 6220.
    • Запустите сервер и убедитесь, что он работает. Возможно, потребуется добавить его в исключения брандмауэра Windows.
  2. На терминальном сервере (где запущена 1С):

    • Откройте настройки торгового оборудования в 1С или утилиту "Тест драйвера ККТ".
    • Выберите вашу кассу и в параметрах подключения укажите тип TCP/IP.
    • В поле "Адрес" введите локальный или внешний IP-адрес удаленного компьютера.
    • В поле "Порт" укажите тот порт, который вы задали в "Сервере удаленного подключения" (в нашем примере — 6220).
    • Сохраните настройки и проверьте связь с устройством.

Теперь обмен данными будет идти напрямую по сети, минуя "бутылочное горлышко" в виде проброса COM-порта через RDP. Скорость печати вернется к нормальным значениям.

Решение 3: Сторонние утилиты для "проброса" COM-порта по TCP/IP

Если по каким-то причинам фирменная утилита от АТОЛ не работает, существуют аналогичные программы от сторонних разработчиков. Они работают по тому же принципу: на удаленном компьютере запускается программа-сервер, которая "захватывает" физический COM-порт и предоставляет к нему доступ по сети. На терминальном сервере настраивается виртуальный COM-порт, который подключается к этому TCP-серверу.

Вне зависимости от выбранного сетевого метода, главный вывод остается неизменным: для стабильной и быстрой работы современных ККТ в удаленных сценариях необходимо полностью исключить проброс COM-портов через RDP и перейти на прямое сетевое взаимодействие.

← На главную