Как подключить онлайн-кассу Атол FPrint-22ПТК к 1С и настроить работу с драйвером?

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

При переходе на онлайн-кассы по требованиям 54-ФЗ разработчики часто сталкиваются с задачей интеграции новых фискальных регистраторов (например, Атол FPrint-22ПТК или Атол 22Ф) в нетиповые или устаревшие конфигурации платформы 1С:Предприятие. В процессе подключения стандартной внешней компоненты возникают ошибки загрузки библиотеки, неочевидные моменты с получением дескриптора устройства (DeviceID), а также вопросы организации тестовой печати чеков без расхода боевого фискального накопителя.

Разберем по шагам, как правильно зарегистрировать внешнюю компоненту в 64-битной операционной системе, устранить ошибку создания COM-объекта, взаимодействовать с драйвером и подготовить рабочее место к тестированию.

Причина ошибки «НеизвестныйОбъект» и правильная регистрация библиотеки

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


ЗагрузитьВнешнююКомпоненту("C:\Drivers\FprnM1C82_54FZ.dll");
ФР = Новый("AddIn.ATOL_KKM_1C82_54FZ");

Если после выполнения этого фрагмента платформа возвращает ошибку создания объекта или значение НеизвестныйОбъект, выясним причину такого поведения. Платформа 1С:Предприятие версии 8.1 является 32-разрядным приложением (x86). При работе в 64-битных версиях Windows системный вызов стандартного средства регистрации пытается обработать библиотеку через 64-битный утилизатор из каталога System32, что приводит к ошибке несовместимости архитектур.

Для корректной работы 32-битной компоненты FprnM1C82_54FZ.dll ее необходимо регистрировать с использованием 32-битной версии утилиты regsvr32.exe, расположенной в каталоге SysWOW64. Выполним правильную последовательность действий:

  1. Скопируем файл FprnM1C82_54FZ.dll в системную папку C:\Windows\SysWOW64.
  2. Создадим командный пакетный файл (bat-файл) следующего содержания:

cd C:\Windows\SysWOW64
regsvr32.exe FprnM1C82_54FZ.dll
  1. Запустим созданный bat-файл обязательно с правами Администратора (через контекстное меню «Запуск от имени администратора»).

После успешной регистрации библиотека регистрирует программный идентификатор в реестре Windows, и конструктор Новый("AddIn.ATOL_KKM_1C82_54FZ") начинает корректно создавать экземпляр объекта.

Как получить идентификатор устройства (DeviceID)?

После создания объекта драйвера разработчики часто задаются вопросом, откуда взять строковый или числовой параметр DeviceID, требуемый методами PrintXReport(DeviceID), OpenCheck(DeviceID, ...) и другими сервисными функциями.

Проанализируем архитектуру библиотеки FprnM1C82_54FZ.dll. Данная компонента создана компанией Атол строго по спецификации стандарта «1С:Совместимо» для Библиотеки подключаемого оборудования (БПО). В этой архитектуре идентификатор устройства не является статическим номером кассы, серийным номером или портом подключения. Это динамический дескриптор открытой сессии.

Рассмотрим типовую схему получения DeviceID:

  1. Вызываем метод подключения устройства (например, Подключить() или функцию открытия канала связи).
  2. В метод передаются параметры подключения кассы (номер COM-порта, скорость, таймаут) и пустая переменная для записи результата.
  3. Драйвер самостоятельно генерирует уникальный идентификатор открытой сессии связи с кассой и возвращает его в качестве выходного параметра в переданную переменную.
  4. Все последующие команды (печать отчетов без гашения, открытие чека, фискализация) в качестве первого аргумента принимают именно этот полученный дескриптор.

Чтобы увидеть реализацию этого механизма на практике, полезно открыть типовую конфигурацию «Управление торговлей 10.3» или «Розница» и изучить общий модуль ПодключаемоеОборудованиеАтолФискальныеРегистраторы, обратив особое внимание на экспортную функцию ПодключитьУстройство.

Альтернативный вариант: прямое взаимодействие через родной COM-объект ДТО

Поскольку компонента FprnM1C82_54FZ.dll рассчитана на работу по стандарту БПО через сложные пакеты XML, ее внедрение в самописную конфигурацию на платформе 8.1 требует написания объемных процедур формирования фискальных XML-структур. В старых конфигурациях гораздо проще и надежнее использовать прямое подключение через родной драйвер торгового оборудования (ДТО) Атол без промежуточной БПО-обертки.

В зависимости от версии установленных драйверов можно создать COM-объект напрямую:


// Для ДТО версии 8:
Драйвер = Новый COMОбъект("AddIn.FprnM45");

// Для современного ДТО версии 10:
Драйвер = Новый COMОбъект("AddIn.Fptr10");

Преимущество прямого подключения заключается в том, что вам не требуется передавать и контролировать DeviceID или собирать сложные XML-документы. Настройка параметров связи, открытие фискального чека, добавление товарных позиций и закрытие смены выполняются прямыми методами и свойствами самого драйвера производителя по его официальной документации.

Организация тестовой печати чеков и работа с фискальным накопителем

При отладке кассового модуля возникает вопрос: как проверить печать чеков и корректность пробития сумм, не испортив кассу и отчетность?

Разберем основные правила тестирования под требования 54-ФЗ:

  1. Нельзя использовать боевой фискальный накопитель (ФН): Если в аппарат установлен новый, еще не активированный боевой ФН, касса вернет ошибку при любой попытке открыть фискальный чек. Если же боевой ФН уже активирован (фискализирован), все пробитые тестовые чеки попадут в налоговые органы и закроют смену с реальными суммами, отменить которые программно задним числом невозможно.
  2. ЭКЛЗ от старых касс не подходят: Блоки электронной контрольной ленты защищенной (ЭКЛЗ) от кассовых аппаратов старого образца принципиально несовместимы с онлайн-кассами по разъемам, протоколам шифрования и логике взаимодействия.
  3. Использование МГМ-ФН: Для полноценной отладки в сервисных центрах или у дистрибьюторов приобретается МГМ (массогабаритный макет фискального накопителя). Он аппаратно совместим с ККТ, имеет тестовые номера (серия 9999...), поддерживает многократную перерегистрацию и сброс, а также позволяет пробивать любые учебные чеки с отправкой данных в тестовые песочницы ОФД.
  4. Программный эмулятор 1С: Если физического МГМ нет, логику учетной системы на стороне 1С можно отладить с помощью внешней компоненты «Эмулятор ККТ с передачей данных». Она принимает те же команды и пакеты, формируя результат в виде экранной формы или текстового документа без физического устройства.

Важные настройки аппарата Атол FPrint-22ПТК / 22Ф

При подключении кассы к ПК обратите внимание на технические нюансы:

  1. Прошивка кассы: Для взаимодействия с обновленными драйверами внутреннее программное обеспечение кассы должно поддерживать протокол обмена «АТОЛ 3.0».
  2. Служба EthernetOverUsb: При подключении через интерфейс USB в диспетчере устройств Windows появляются два виртуальных COM-порта. Один порт выделяется для команд управления из 1С, а второй задействуется фоновой системной службой EthernetOverUsb (EoU) для автоматической отправки фискальных документов оператору фискальных данных (ОФД). Служба должна быть установлена и постоянно запущена на рабочем месте кассира.
← На главную