Как подключить ККМ Атол 11Ф к 1С 7.7 на терминальном сервере в виртуальной среде

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

Подключение современного торгового оборудования, такого как онлайн-кассы Атол 11Ф, к устаревшим платформам вроде 1С 7.7 в среде терминального сервера (RDP) — задача нетривиальная. Основная сложность заключается в том, что стандартный проброс COM-портов через протокол RDP зачастую работает крайне медленно и нестабильно, что приводит к ошибкам связи, зависанию печати чеков и блокировкам фискального накопителя. Рассмотрим проверенные способы решения этой задачи, которые позволяют организовать стабильную работу кассы в виртуальной инфраструктуре (VmWare, Windows Server 2008R2/2012/2019).

Проблема стандартного проброса портов через RDP

Когда мы подключаем кассу через USB, операционная система эмулирует виртуальный COM-порт. При использовании терминального доступа системные администраторы часто пытаются "пробросить" этот порт в сессию пользователя. Однако протокол RDP не оптимизирован для передачи потоковых данных торгового оборудования. Пакеты данных могут дробиться, задерживаться или теряться, из-за чего драйвер 1С выдает ошибку "Нет связи" или "Ошибка обмена". Проанализируем более надежные архитектурные решения.

Способ 1: Использование «Сервера удаленного подключения» Атол (DTO 10)

Одним из самых современных и стабильных методов является использование функционала RPC-сервера, входящего в состав драйверов торгового оборудования Атол 10-й версии (ДТО 10). Этот метод позволяет обращаться к кассе напрямую по сети, минуя механизмы проброса RDP. Для быстрой интеграции конфигурации с этим драйвером можно использовать готовую обработку обслуживания для работы 1С 7.7 с Атол ДТО 10.

Разберем процесс настройки по шагам:

  1. На локальном компьютере, к которому физически подключена касса по USB, устанавливаем ДТО 10. При установке обязательно выбираем компонент «Сервер удаленного подключения».
  2. Запускаем службу сервера удаленного подключения. Она будет "слушать" определенный TCP-порт и транслировать команды от сервера к кассе.
  3. На терминальном сервере, где запущена 1С 7.7, в настройках драйвера указываем не локальный COM-порт, а IP-адрес клиентского компьютера и порт (по умолчанию 6220).

Важно помнить, что 1С 7.7 — это 32-битное приложение. На 64-битной версии Windows Server необходимо регистрировать именно 32-битную версию компонента драйвера. Проверим регистрацию COM-объекта командой:

regsvr32 "C:\Program Files (x86)\ATOL\Drivers10\KKT\bin\AtolDevice10.dll"

Способ 2: Использование службы FDSVC (DTO 8)

Если ваша конфигурация 1С 7.7 настроена на работу со старыми драйверами версии 8.х, можно воспользоваться аналогичным механизмом — службой FDSVC (Fiscal Device Service). Это решение часто оказывается самым простым в реализации для "семерки".

Проанализируем алгоритм настройки:

  1. На локальном ПК устанавливаем ДТО 8 и настраиваем подключение к кассе.
  2. Запускаем утилиту "Управление драйверами" и переходим на закладку "Служба". Включаем автозапуск службы и указываем порт.
  3. В 1С 7.7, в обработке обслуживания, при поиске оборудования выбираем тип подключения "Сеть" (или указываем IP-адрес в параметрах связи).

Этот метод исключает влияние качества RDP-канала на стабильность передачи фискальных данных, так как обмен идет по чистому TCP-протоколу. При необходимости можно воспользоваться готовой обработкой онлайн-кассы для 1С 7.7 с поддержкой драйверов ДТО 8 и ДТО 10.

Способ 3: Подключение через Wi-Fi или Ethernet модуль

Если модель Атол 11Ф укомплектована коммуникационным модулем (Wi-Fi или Ethernet), мы можем полностью отказаться от USB-подключения. Рассмотрим этот вариант как наиболее предпочтительный для виртуальной среды.

Выясним преимущества такого подхода: касса становится самостоятельным узлом сети. Виртуальная машина с 1С 7.7 видит кассу как сетевое устройство по её IP-адресу. В этом случае не требуются никакие дополнительные службы на клиентском ПК, а стабильность связи зависит только от локальной сети предприятия.

Нюансы передачи данных в ОФД (служба EthOverUsb)

При использовании USB-подключения кассы Атол часто создают два виртуальных COM-порта. Один используется для управления (печать чеков), а второй — для службы EthOverUsb (EoU), которая отправляет чеки в ОФД через интернет-канал компьютера.

Рассмотрим важную рекомендацию: настраивайте службу EoU локально на том ПК, к которому подключена касса. Не пытайтесь пробрасывать "порт передачи данных" на сервер. Сервер должен только отдавать команды на печать, а отправкой данных в налоговую пусть занимается локальная станция. Это значительно снижает нагрузку на терминальную сессию и предотвращает переполнение памяти ФН.

Настройка таймаутов в 1С 7.7

При работе в виртуальной среде задержки (лаги) неизбежны. Проанализируем код инициализации объекта драйвера. В параметрах связи необходимо существенно увеличить время ожидания ответа от ККМ. Если стандартный таймаут составляет 300–500 мс, то для терминальной среды рекомендуем установить значение 2000–5000 мс.

Посмотрим на пример логики подключения в 1С 7.7 (для ДТО 10):


// Создание объекта драйвера
Попытка
    Драйвер = СоздатьОбъект("AddIn.AtolDevice10");
Исключение
    Сообщить("Драйвер ДТО 10 не найден!");
    Возврат;
КонецПопытки;

// Настройка связи через RPC-сервер
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_MODEL, Строка(Драйвер.LIBFPTR_MODEL_ATOL_11F));
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_PORT, Строка(Драйвер.LIBFPTR_PORT_TCPIP));
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_IPADDRESS, "192.168.1.50"); // IP клиента
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_IPPORT, "6220");
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_TIMEOUT, "5000"); // Увеличенный таймаут
Драйвер.applySingleSettings();

Особенности для Windows Server 2019/2022

Если вы разворачиваете решение на базе современных ОС (Server 2019/2022), обратите внимание на следующие моменты:

Таким образом, мы выяснили, что наиболее стабильным решением для связки 1С 7.7 + VmWare + Атол 11Ф является уход от прямого проброса USB/COM в пользу сетевых технологий обмена данными (RPC сервер или выделенные службы драйвера). Это гарантирует быструю печать и отсутствие сбоев при передаче данных в ОФД.

← На главную