Как подключить онлайн-кассу АТОЛ 55Ф к 1С:Торговля и Склад 7.7 в терминальном режиме RDP

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

Подключение современного фискального регистратора, работающего по требованиям 54-ФЗ, к платформе 1С 7.7 в сеансе удаленного рабочего стола (RDP) часто вызывает сложности. Пользователи и администраторы сталкиваются с тем, что в меню Сервис — Параметры пропадает привычная вкладка торгового оборудования, а при попытке обращения к кассе возникает ошибка о том, что объект не определен. Разберем по шагам причины такого поведения платформы и построим правильную схему настройки оборудования.

Почему пропадает вкладка настройки оборудования в меню Сервис — Параметры

При использовании внешней компоненты ATOL_KKM_1C82_54FZ.dll многие обращают внимание на исчезновение интерфейса настройки ККТ. Выясним причину этого явления: данная библиотека создана под стандарт подключаемого оборудования платформы 1С:Предприятие 8 и не реализует старый интерфейс интеграции с диалоговым окном 1С 7.7. Это штатное поведение системы. Параметры связи с аппаратом (номер порта, скорость, пароли) в таком случае задаются либо непосредственно в коде внешней обработки обслуживания, либо вызываются через специальное окно драйвера методами самого объекта.

Причины ошибки инициализации объекта и методы их устранения

Если при попытке выполнить код обращения к кассе платформа сообщает, что объект не определен, проанализируем следующие ключевые моменты:

  1. Регистрация 32-разрядной компоненты в 64-битной Windows: платформа 1С 7.7 работает исключительно в 32-разрядном адресном пространстве. На сервере Windows Server (x64) стандартная регистрация через системную утилиту по умолчанию может завершиться неудачей для 32-битного клиента. Зарегистрируем библиотеку строго через утилиту из каталога SysWOW64, выполнив в командной строке от имени администратора команду:C:\Windows\SysWOW64\regsvr32.exe "C:\PathToDll\ATOL_KKM_1C82_54FZ.dll"
  2. Отсутствие необходимых пакетов Visual C++ Redistributable: драйверы и компоненты АТОЛ требуют наличия соответствующих библиотек среды выполнения Microsoft Visual C++ (x86). Установим пакеты x86 на терминальный сервер, иначе операционная система не сможет загрузить зависимые модули библиотеки.
  3. Проверка программного идентификатора: убедимся, что при создании объекта используется правильный ProgID. Проверим код инициализации кассы во внешней обработке. Посмотрим на типовой пример корректного создания и проверки объекта:
    
    Попытка
        ДрайверККТ = СоздатьОбъект("AddIn.ATOL_KKM_1C82_54FZ");
    Исключение
        Сообщить("Не удалось создать объект драйвера ККТ: " + ОписаниеОшибки(), "!");
        Возврат;
    КонецПопытки;
    
  4. Запуск от имени администратора: при первичной инициализации и сохранении настроек в системном реестре запустим ярлык 1С 7.7 на сервере один раз с повышенными привилегиями (пункт «Запуск от имени администратора»). Это позволит корректно прописать все ветки реестра, к которым у обычного терминального пользователя может отсутствовать доступ.

Порядок настройки подключения через перенаправление портов (RDP)

Разберем классический вариант настройки кассы с пробросом COM-порта из локальной сессии кассира на терминальный сервер:

  1. Локальная установка: установим драйверы АТОЛ на физическом компьютере кассира, к которому аппаратно подключен фискальный регистратор. Определим назначенный виртуальный номер порта и скорость обмена (по умолчанию для современных ККТ АТОЛ используется скорость 115200 бод).
  2. Настройка RDP-клиента: в свойствах подключения удаленного рабочего стола перейдем на вкладку локальных ресурсов и убедимся, что включен проброс последовательных (последовательные порты / COM-порты).
  3. Диагностика на сервере: после входа в терминальную сессию проверим факт проброса порта. Для этого откроем командную строку на сервере и выполним системную команду:change port /queryУбедимся, что локальный порт сопоставлен с виртуальным портом в сессии пользователя.
  4. Служба передачи данных в ОФД (EthernetOverUSB): обратим внимание на важный нюанс. При подключении кассы по USB в системе образуется два порта: один для команд фискализации, второй для передачи чеков в ОФД. Служба передачи данных (EoU) должна обязательно работать локально на ПК кассира, пробрасывать в терминал порт обмена с ОФД не требуется.

Альтернативные и более стабильные схемы работы

Перенаправление последовательных портов через протокол RDP при высокой скорости обмена данными может приводить к нестабильности, задержкам и таймаутам. Если модель кассы — АТОЛ 55Ф, рассмотрим альтернативные варианты подключения:

  1. Прямое сетевое подключение по TCP/IP (Ethernet): касса АТОЛ 55Ф оснащена интерфейсом Ethernet. Переведем устройство в режим обмена по сети и присвоим ему постоянный IP-адрес. В настройках торгового оборудования в 1С укажем подключение через TCP-сокет (IP-адрес и порт). В этом случае терминальный сервер обращается к фискальному регистратору напрямую по локальной сети компании, минуя ненадежные механизмы проброса портов RDP.
  2. Использование сетевого сервера драйвера: на рабочей станции кассира запускается служба сетевого драйвера ККТ. Платформа 1С 7.7 на сервере связывается с этой службой по сети, а служба самостоятельно управляет подключением к локальному порту ККТ.
← На главную