При эксплуатации контрольно-кассовой техники в терминальной среде (RDP) классическое подключение через виртуальные или физические COM-порты нередко сопровождается сбоями, зависаниями сессий и потерей связи с устройством. Использование сетевого интерфейса Ethernet на фискальных регистраторах (например, Атол 55Ф) позволяет отказаться от капризных виртуальных портов и обращаться к кассе напрямую по протоколу TCP/IP. Рассмотрим особенности сетевого подключения ККТ, требования к безопасности и специфику интеграции с платформой «1С:Предприятие 7.7».
Фискальные регистраторы с аппаратным портом Ethernet работают в локальной сети как TCP-серверы. Проанализируем базовые параметры сетевого интерфейса:
192.168.10.1 или получает его по протоколу DHCP. Для стабильной работы в терминальной среде настоятельно рекомендуется задать постоянный статический IP-адрес из подсети предприятия либо настроить резервирование адреса по уникальному MAC-адресу на DHCP-сервере маршрутизатора.5555.Разберем вопрос организации доступа, если терминальный сервер 1С и кассовый аппарат находятся в разных сегментах сети или удалены друг от друга через интернет:
5555 фискального регистратора наружу в сеть Интернет. Кассовые протоколы не рассчитаны на публичный доступ, и обычный пароль оператора не защищает от перехвата пакетов или злонамеренных манипуляций с фискальным накопителем.Выясним ключевую техническую особенность сетевого модуля ККТ: устройство способно одновременно поддерживать только одно активное TCP-соединение. Если один пользователь или фоновый процесс монопольно захватывает кассу, все остальные сеансы будут получать ошибку тайм-аута или занятости устройства.
Для предотвращения взаимных блокировок в многопользовательской среде терминала необходимо использовать принцип пакетного подключения: обработка обслуживания в 1С должна открывать логическое соединение с ККТ только непосредственно в момент печати фискального чека или снятия отчета (X/Z-отчета) и сразу же закрывать/освобождать соединение после завершения операции.
Типовые конфигурации платформы «1С:Предприятие 7.7» (включая конфигурацию «Торговля и склад 7.7») изначально не содержат полей для указания сетевых параметров (IP-адреса и TCP-порта) в стандартных формах настройки торгового оборудования. Интеграция выполняется через доработанную внешнюю обработку обслуживания (ERT), которая взаимодействует с 32-разрядной (x86) COM-библиотекой драйвера ККТ.
Посмотрим на типовую логику программной инициализации сетевого подключения через объект драйвера в коде внешней обработки:
// Создаем объект драйвера ККТ
Драйвер = СоздатьОбъект("AddIn.FprnM45");
// Настройка подключения по TCP/IP
Драйвер.DeviceEnabled = 0;
Драйвер.Port = 1004; // Режим работы по TCP/IP (Ethernet)
Драйвер.IPAddress = "192.168.1.150"; // Статический IP-адрес кассы
Драйвер.IPPort = 5555; // Сетевой порт ККТ
Драйвер.Timeout = 3000; // Таймаут ожидания ответа в мс
// Установка логического соединения
Драйвер.DeviceEnabled = 1;
Если Драйвер.ResultCode <> 0 Тогда
Предупреждение("Ошибка подключения к кассе: " + Драйвер.ResultDescription);
Иначе
// Выполнение операций печати чека
// ...
// Обязательное освобождение сетевого соединения
Драйвер.DeviceEnabled = 0;
КонецЕсли;
Если прокладка кабеля Ethernet к кассе затруднена, либо касса физически подключена по интерфейсу USB к локальному компьютеру кассира, можно использовать специализированный сервис удаленного подключения или локальный веб-сервер печати. В этом случае сеанс 1С 7.7 на терминальном сервере передает данные чека по протоколу HTTP/HTTPS локальной службе, которая взаимодействует с кассой локально. Это также позволяет полностью уйти от зависаний, присущих стандартному пробросу COM-портов через протокол RDP.