Подключение современного фискального регистратора, работающего по требованиям 54-ФЗ, к платформе 1С 7.7 в сеансе удаленного рабочего стола (RDP) часто вызывает сложности. Пользователи и администраторы сталкиваются с тем, что в меню Сервис — Параметры пропадает привычная вкладка торгового оборудования, а при попытке обращения к кассе возникает ошибка о том, что объект не определен. Разберем по шагам причины такого поведения платформы и построим правильную схему настройки оборудования.
Почему пропадает вкладка настройки оборудования в меню Сервис — Параметры
При использовании внешней компоненты ATOL_KKM_1C82_54FZ.dll многие обращают внимание на исчезновение интерфейса настройки ККТ. Выясним причину этого явления: данная библиотека создана под стандарт подключаемого оборудования платформы 1С:Предприятие 8 и не реализует старый интерфейс интеграции с диалоговым окном 1С 7.7. Это штатное поведение системы. Параметры связи с аппаратом (номер порта, скорость, пароли) в таком случае задаются либо непосредственно в коде внешней обработки обслуживания, либо вызываются через специальное окно драйвера методами самого объекта.
Причины ошибки инициализации объекта и методы их устранения
Если при попытке выполнить код обращения к кассе платформа сообщает, что объект не определен, проанализируем следующие ключевые моменты:
Регистрация 32-разрядной компоненты в 64-битной Windows: платформа 1С 7.7 работает исключительно в 32-разрядном адресном пространстве. На сервере Windows Server (x64) стандартная регистрация через системную утилиту по умолчанию может завершиться неудачей для 32-битного клиента. Зарегистрируем библиотеку строго через утилиту из каталога SysWOW64, выполнив в командной строке от имени администратора команду:C:\Windows\SysWOW64\regsvr32.exe "C:\PathToDll\ATOL_KKM_1C82_54FZ.dll"
Отсутствие необходимых пакетов Visual C++ Redistributable: драйверы и компоненты АТОЛ требуют наличия соответствующих библиотек среды выполнения Microsoft Visual C++ (x86). Установим пакеты x86 на терминальный сервер, иначе операционная система не сможет загрузить зависимые модули библиотеки.
Проверка программного идентификатора: убедимся, что при создании объекта используется правильный ProgID. Проверим код инициализации кассы во внешней обработке. Посмотрим на типовой пример корректного создания и проверки объекта:
Попытка
ДрайверККТ = СоздатьОбъект("AddIn.ATOL_KKM_1C82_54FZ");
Исключение
Сообщить("Не удалось создать объект драйвера ККТ: " + ОписаниеОшибки(), "!");
Возврат;
КонецПопытки;
Запуск от имени администратора: при первичной инициализации и сохранении настроек в системном реестре запустим ярлык 1С 7.7 на сервере один раз с повышенными привилегиями (пункт «Запуск от имени администратора»). Это позволит корректно прописать все ветки реестра, к которым у обычного терминального пользователя может отсутствовать доступ.
Порядок настройки подключения через перенаправление портов (RDP)
Разберем классический вариант настройки кассы с пробросом COM-порта из локальной сессии кассира на терминальный сервер:
Локальная установка: установим драйверы АТОЛ на физическом компьютере кассира, к которому аппаратно подключен фискальный регистратор. Определим назначенный виртуальный номер порта и скорость обмена (по умолчанию для современных ККТ АТОЛ используется скорость 115200 бод).
Настройка RDP-клиента: в свойствах подключения удаленного рабочего стола перейдем на вкладку локальных ресурсов и убедимся, что включен проброс последовательных (последовательные порты / COM-порты).
Диагностика на сервере: после входа в терминальную сессию проверим факт проброса порта. Для этого откроем командную строку на сервере и выполним системную команду:change port /queryУбедимся, что локальный порт сопоставлен с виртуальным портом в сессии пользователя.
Служба передачи данных в ОФД (EthernetOverUSB): обратим внимание на важный нюанс. При подключении кассы по USB в системе образуется два порта: один для команд фискализации, второй для передачи чеков в ОФД. Служба передачи данных (EoU) должна обязательно работать локально на ПК кассира, пробрасывать в терминал порт обмена с ОФД не требуется.
Альтернативные и более стабильные схемы работы
Перенаправление последовательных портов через протокол RDP при высокой скорости обмена данными может приводить к нестабильности, задержкам и таймаутам. Если модель кассы — АТОЛ 55Ф, рассмотрим альтернативные варианты подключения:
Прямое сетевое подключение по TCP/IP (Ethernet): касса АТОЛ 55Ф оснащена интерфейсом Ethernet. Переведем устройство в режим обмена по сети и присвоим ему постоянный IP-адрес. В настройках торгового оборудования в 1С укажем подключение через TCP-сокет (IP-адрес и порт). В этом случае терминальный сервер обращается к фискальному регистратору напрямую по локальной сети компании, минуя ненадежные механизмы проброса портов RDP.
Использование сетевого сервера драйвера: на рабочей станции кассира запускается служба сетевого драйвера ККТ. Платформа 1С 7.7 на сервере связывается с этой службой по сети, а служба самостоятельно управляет подключением к локальному порту ККТ.