Проблема медленной работы торгового оборудования в терминальных сессиях — одна из самых частых «головных болей» при автоматизации розницы. Типичная ситуация: при открытии чека ККМ, документа «Реализация» или окна оплаты по карте система «зависает» на 5–15 секунд. Если же отключить кассу в настройках, всё начинает летать. Проанализируем причины этой ситуации и разберем по шагам, как заставить 1С:Управление торговлей 10.3 работать быстро.
Для начала выясним причину задержек. Когда мы ставим галочку «Порты» в настройках RDP-клиента, операционная система создает виртуальный туннель для последовательного порта. Драйвер Атол 10.х при инициализации устройства (которая в УТ 10.3 происходит часто при открытии формы) отправляет десятки мелких низкоуровневых запросов к кассе для проверки состояния: наличие бумаги, статус смены, готовность ФН и так далее.
Проблема в том, что протокол RDP не оптимизирован для передачи таких коротких пакетов с подтверждением доставки. Каждый запрос ждет ответа от физической кассы на стороне клиента, проходя через сетевые задержки (latency). Даже если у вас быстрый интернет, задержка в 20–50 мс на каждый пакет суммируется, превращаясь в секунды ожидания для пользователя. Рассмотрим подробнее, как обойти это ограничение.
Это самый профессиональный и эффективный метод. Вместо того чтобы «пробрасывать» порт средствами Windows, мы заставим драйвер работать через сетевой протокол TCP/IP. Это позволит передавать данные пакетами, оптимизированными для сети.
Шаг 1. Настройка на стороне клиента (где касса подключена физически):
19524.Шаг 2. Настройка на стороне сервера (где установлена 1С):
19524.Если у клиента нет «белого» IP-адреса, мы рекомендуем развернуть виртуальную частную сеть (VPN), например, на базе ZeroTier или Tailscale. Проанализируем ситуацию: в этом случае сервер и клиент окажутся в одной виртуальной локальной сети, и сервер сможет обращаться к клиенту по внутреннему IP (например, 10.147.x.x) без сложной настройки проброса портов на роутере.
Конфигурация «Управление торговлей 10.3» построена на обычных формах, и механизмы работы с торговым оборудованием там создавались в эпоху локальных сетей. Разберем по шагам, что именно тормозит код:
В типовом коде при событии ПриОткрытии формы документа вызывается обработка обслуживания, которая выполняет метод Подключить(). Этот метод инициализирует драйвер, занимает порт и опрашивает ККТ. Проанализируем пример логики, которую стоит изменить:
// В типовой УТ 10.3 часто встречается такой вызов:
Результат = ПолучитьСерверТО().ПодключитьОбъект(КассаККМ, ИмяПараметра);
// Это вызывает задержку при каждом открытии формы документа!
Чтобы ускорить работу, программисту необходимо внести изменения в код:
ПриОткрытии непосредственно в процедуру печати чека. Тогда документ будет открываться мгновенно, а небольшая задержка произойдет только один раз — при физическом выходе чека.Иногда задержки вызваны избыточным ведением логов. Посмотрим на настройки самого драйвера:
Модель Атол 30Ф не имеет встроенного Ethernet-порта, поэтому она работает через USB-эмуляцию двух COM-портов. Один порт используется для команд печати, другой — для службы EoU (Ethernet Over USB), которая отправляет данные в ОФД. Проанализируем типичную ошибку: часто системные администраторы пытаются пробросить оба порта через RDP. Это создает конфликт очередей данных. Для стабильной работы через RDP лучше настроить службу EoU локально на компьютере кассира, а в терминальную сессию пробрасывать только основной порт управления.
Выясним причину: медленная работа в УТ 10.3 через RDP — это всегда совокупность сетевых задержек протокола и архитектуры 1С, которая слишком часто «дергает» кассу. Использование Atol Remote Server в связке с легким VPN-каналом полностью решает проблему скорости, делая работу кассира комфортной, а открытие документов — мгновенным.