При настройке фискальных регистраторов и онлайн-касс АТОЛ (например, АТОЛ 55Ф, 30Ф, 22Ф/FPrint-22ПТК) в программах 1С пользователи и администраторы нередко сталкиваются с системной ошибкой: «Не удалось создать COM объект Addin.FprnM45. Ошибка создания объекта драйвера АТОЛ». При этом физически касса может определяться компьютером, а тестовые утилиты из новых пакетов драйверов — успешно видеть устройство.
Разберем подробно причины такого поведения системы, выясним, почему новые драйверы не подходят для старых обработок обслуживания, и рассмотрим пошаговые сценарии решения проблемы.
Проанализируем архитектуру интеграции торгового оборудования. Идентификатор Addin.FprnM45 — это зарегистрированный в реестре Windows программный идентификатор (ProgID) COM-объекта драйвера ККМ линейки АТОЛ: Драйверы торгового оборудования v.8.x (ДТО 8).
Когда мы устанавливаем более свежие линейки (ДТО 9.x или ДТО 10.x), системная библиотека с данным ProgID в операционную систему не устанавливается. В ДТО 9 концепция взаимодействия была кардинально изменена, а в современной линейке ДТО 10 используется совершенно другой ProgID — AddIn.Fptr10, либо прямое подключение через Native API по требованиям стандарта БПО. Если используемая конфигурация 1С или внешняя обработка обслуживания ККМ обращается по старинке через COM к объекту Addin.FprnM45, сеанс 1С закономерно сообщает о том, что класс не зарегистрирован.
Если конфигурация программы или внешняя обработка жестко завязана на вызов объекта Addin.FprnM45, необходимо установить именно восьмую версию драйверов. Разберем этот процесс по шагам:
При использовании драйверов ДТО 8 крайне важно учитывать разрядность установленной платформы 1С:Предприятие. Библиотеки драйверов 8.x (например, FprnM1C.dll или FprnM1C82_54FZ.dll) являются 32-разрядными (x86).
Если на рабочей станции запущен 64-битный клиент 1С (x64), он физически не сможет загрузить 32-битную DLL в свое адресное пространство напрямую. Вызов метода инициализации завершится той же ошибкой создания COM-объекта. В этом случае требуется либо запускать базу через 32-разрядный клиентский модуль 1С, либо переводить систему на интеграционную компоненту ДТО 10 с поддержкой x64.
Бывают ситуации, когда дистрибутив развернут, но регистрация компоненты в реестре не прошла (например, из-за политик безопасности или прав доступа пользователя). В этом случае выполним регистрацию вручную:
SysWOW64. Выполним команду:
C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\ATOL\Drivers\BIN\FprnM1C.dll"
Если используется специализированная компонента с поддержкой требований 54-ФЗ, команда будет аналогичной для соответствующего файла:
C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\ATOL\Drivers\BIN\FprnM1C82_54FZ.dll"
После успешного выполнения команды система выдаст диалоговое окно с подтверждением: «Успешное выполнение DllRegisterServer». Если появляется сообщение об ошибке загрузки модуля, проверим наличие установленных пакетов Microsoft Visual C++ Redistributable (x86) версий 2008–2015 годов, так как библиотеки АТОЛ зависят от их системных runtime-компонентов.
Важно помнить, что линейка драйверов ДТО 8 полностью снята с официальной поддержки и обновлений. Она не поддерживает работу с новыми кассовыми прошивками на Платформе 5.0, а также не умеет корректно работать с маркированными товарами в рамках требований ФФД 1.2.
Если в вашей конфигурации используется типовая Библиотека подключаемого оборудования (БПО), оптимальным решением будет отказ от устаревшего COM-объекта Addin.FprnM45. Разберем последовательность перехода:
regsvr32.Такой подход исключит зависимость от разрядности клиента 1С и системного реестра Windows, а также обеспечит стабильную работу кассы в соответствии с актуальными требованиями законодательства.