Как настроить работу онлайн-касс по 54-ФЗ в 1С:Управление торговлей 10.3 через RDP?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

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

Варианты подключения ККТ к терминальному серверу

Проанализируем основные способы физического и логического подключения контрольно-кассовой техники к сеансу 1С на сервере:

  1. Проброс локального COM-порта через RDP. Стандартный способ: локальный порт ПК (физический COM или виртуальный через USB) пробрасывается в терминальную сессию. На сервере устанавливается драйвер ККТ, настраивается опрос соответствующего порта. При узком канале связи рекомендуется снизить скорость порта в свойствах оборудования. Минус подхода — при обрыве RDP-сессии соединение с портом может не восстановиться автоматически.
  2. Прямое подключение ККТ по Ethernet / IP. Если модель кассы оснащена сетевым интерфейсом (например, Атол 22Ф, 55Ф или Штрих-М с сетевой картой), аппарат подключается напрямую в локальную сеть магазина или связывается с сервером через защищенный туннель (VPN). Программа 1С обращается к кассе по фиксированному IP-адресу без использования механизмов проброса портов RDP.
  3. Сетевой драйвер производителя или специализированные службы (FDSVC). Для моделей без Ethernet-порта можно использовать службы сетевой печати (например, входящие в состав драйверов ККТ или сервис FDSVC). Служба запускается на локальном компьютере с подключенной кассой и предоставляет сетевой доступ к устройству для терминального сервера.
  4. Подключение через RNDIS / Ethernet-over-USB. Позволяет аппарату использовать сетевой интерфейс USB для прямой передачи фискальных данных оператору (ОФД) и одновременного обмена с учетной системой.

Доработка конфигурации УТ 10.3 под требования 54-ФЗ

Рассмотрим порядок обновления программного кода, если типовая поддержка 54-ФЗ в вашей базе отсутствует из-за сильных доработок конфигурации:

  1. Перенос механизмов из актуальной типовой конфигурации. Возьмем релиз типовой УТ 10.3 с поддержкой 54-ФЗ или последнюю версию библиотеки подключаемого оборудования (БПО). Переносим общие модули интеграции с драйверами (включая ПодключаемоеОборудованиеУниверсальныйДрайверКлиент), макеты внешних компонент и формы настройки торгового оборудования.
  2. Разделение настроек оборудования по пользователям и рабочим местам. Важнейший этап для многопользовательского режима в RDP. Обязательно настраиваем хранение параметров касс с привязкой не только к компьютеру, но и к конкретному пользователю или сетевому клиенту. В противном случае при старте программы или открытии списков документов система попытается опросить и заблокировать все зарегистрированные кассы сразу, вызвав блокировки портов и ошибки доступа у остальных кассиров.
  3. Сценарий оформления документов. Стандартная логика работы продавца выглядит следующим образом:
    1. В начале смены выполняется команда открытия кассовой смены на ККТ.
    2. При приеме наличных создается документ Приходный кассовый ордер и инициируется фискализация чека.
    3. При безналичной оплате оформляется документ Оплата от покупателя платежной картой с последующей печатью чека.
    4. В конце дня выполняется закрытие смены с формированием отчета с гашением (Z-отчет).

Анализ и устранение ошибки метода ОткрытьСмену

При адаптации кода интеграции разработчики часто сталкиваются с исключением внешней компоненты при попытке открыть смену:


Результат = ОбъектДрайвера.ОткрытьСмену(ПараметрыПодключения.ИДУстройства, Кассир, НомерСмены, НомерДокумента);

Выясним возможные причины возникновения ошибки Ошибка вызова метода внешней компоненты:

  1. Неинициализированные переменные параметров. В стандарте разработки драйверов 1С параметры НомерСмены и НомерДокумента являются выходными (передаются по ссылке). Перед вызовом метода переменные должны быть объявлены и обязательно инициализированы числовым значением 0, а не иметь тип Неопределено.
  2. Формат данных кассира. В зависимости от версии стандарта и формата фискальных данных (ФФД), драйвер может требовать передачи не только строкового наименования кассира, но и структуры с ИНН кассира. Убедимся, что параметр Кассир заполнен корректно.
  3. Предварительный захват устройства. Перед вызовом фискальной операции драйвер требует предварительного успешного подключения и блокировки порта. Если процедура подключения вернула Ложь или порт занят другим процессом, метод завершается ошибкой.
  4. Разрядность платформы и компонентов. Клиент 1С в терминальном сеансе работает как 32-разрядное приложение. Убедимся, что зарегистрированы и используются именно 32-битные версии внешних компонент и драйверов ККТ.

Посмотрим на пример корректной подготовки параметров и безопасного вызова метода:


НомерСмены = 0;
НомерДокумента = 0;
Кассир = "Иванов И.И.";

Попытка
    Результат = ОбъектДрайвера.ОткрытьСмену(ПараметрыПодключения.ИДУстройства, Кассир, НомерСмены, НомерДокумента);
Исключение
    Результат = Ложь;
    ВыходныеПараметры.Очистить();
    ВыходныеПараметры.Добавить(999);
    ВыходныеПараметры.Добавить(НСтр("ru='Ошибка вызова метода ОткрытьСмену:'") + Символы.ПС + ОписаниеОшибки());
КонецПопытки;

Правильная организация архитектуры подключения и аккуратный перенос модулей БПО позволяют стабильно использовать онлайн-кассы по 54-ФЗ в терминальной среде УТ 10.3 без сбоев и конфликтов оборудования.

← На главную