Почему Альфа-Авто переключает бесплатный драйвер АТОЛ на платный и как исправить ошибку создания COM-объекта Addin.FprnM45?

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

При работе с торговым оборудованием в отраслевом решении «Альфа-Авто» от компании «Рарус» пользователи и администраторы часто сталкиваются со следующей проблемой: ККТ (например, популярная модель АТОЛ-11Ф) стабильно работает в тесте драйвера, но при попытке пробить чек из программы 1С возникает критическая ошибка:

При подключении предоставляемого: 'АТОЛ-11Ф' произошла ошибка: Не удалось создать COM объект Addin.FprnM45. Ошибка создания объекта драйвера АТОЛ. На рабочую станцию необходимо установить драйвер ККМ...

Одновременно с этим в системных сообщениях или окне настроек драйвера появляется предупреждение о том, что версия драйвера ККТ сменилась на «полную» (платную), требующую покупки лицензии, хотя ранее все прекрасно работало в бесплатном режиме. Давайте подробно разберем, почему возникает этот конфликт, как устроена архитектура интеграции «Альфа-Авто» с драйверами АТОЛ 8.х (DTO 8), и как вернуть стабильную работу ККТ без лишних затрат.

Причина 1. Особенности лицензирования АТОЛ DTO 8 и разделение каталогов

Для понимания сути проблемы проанализируем структуру поставки драйверов АТОЛ 8-й версии. Исторически компания АТОЛ поставляла единый дистрибутив, который разделен на два режима работы:

Технически при установке драйвера в системе создаются два подкаталога в папке установки (по умолчанию C:\Program Files (x86)\ATOL\Drivers8\):

  1. Bin — здесь содержатся библиотеки полнофункциональной (платной) версии.
  2. Bin_Free — здесь расположены файлы бесплатной версии драйвера.

Если «Альфа-Авто» принудительно обращается к библиотекам из папки Bin, драйвер переходит в платный режим и блокирует работу, сообщая об отсутствии ключа защиты.

Причина 2. Конфликт разрядностей платформы 1С и драйвера

Ошибка Не удалось создать COM объект Addin.FprnM45 напрямую указывает на то, что операционная система Windows не смогла инициализировать 32-разрядный COM-класс драйвера. Рассмотрим основные причины этого поведения:

Причина 3. Сбои в системе защиты «Рарус» (LocalProtect) и терминальном доступе

Почему же настройки переключаются «сами по себе»? Виновником этого часто становится встроенная система защиты и лицензирования торгового оборудования «Рарус». Рассмотрим механизм ее работы:

Система защиты «Альфа-Авто» кэширует компоненты торгового оборудования во временных папках пользователя или в каталоге защиты (LocalProtect). При запуске программы система проверяет соответствие используемых библиотек и может принудительно перезаписать зарегистрированную в операционной системе библиотеку FprnM1C.dll версией из своего внутреннего кэша. Если в кэш защиты попал файл из каталога Bin (платного), программа будет заменять им рабочую бесплатную библиотеку при каждом старте.

Кроме того, в терминальных средах (RDP) при каждом новом подключении пользователя операционная система может генерировать новый уникальный идентификатор рабочего места (Workstation ID). «Альфа-Авто» привязывает настройки ККТ к этому ID. Как только идентификатор меняется, программа считает рабочее место новым, сбрасывает настройки подключения кассы на значения «по умолчанию» и пытается инициализировать драйвер в платном режиме.

---

Пошаговое решение проблемы

Разберем последовательность действий, которая позволит устранить ошибку инициализации и зафиксировать использование бесплатной версии драйвера.

Шаг 1. Проверка разрядности платформы 1С

Убедимся, что для запуска «Альфа-Авто» используется 32-разрядный клиент «1С:Предприятие». Проверить это можно в диспетчере задач Windows (процесс должен иметь суффикс *32 или (32 бита)) либо в окне «О программе» в самой 1С.

Шаг 2. Корректная ручная регистрация бесплатной библиотеки

Нам необходимо принудительно зарегистрировать в системе библиотеку из папки Bin_Free. Для этого выполним следующие действия:

  1. Закроем все запущенные сеансы 1С и тесты драйвера ККТ.
  2. Запустим командную строку Windows от имени Администратора.
  3. Выполним команду регистрации библиотеки, указав точный путь к каталогу бесплатного драйвера:

regsvr32 "C:\Program Files (x86)\ATOL\Drivers8\Bin_Free\FprnM1C.dll"

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

regsvr32 "C:\Program Files (x86)\ATOL\Drivers8\Bin_Free\FprnM1C82_54FZ.dll"

В случае успешной регистрации на экране появится системное сообщение Успешное выполнение DllRegisterServer....

Шаг 3. Устранение подмены файлов системой защиты Рарус

Чтобы предотвратить ситуацию, когда система защиты «Альфа-Авто» перезаписывает зарегистрированную DLL, выполним «подмену» файлов на уровне файловой системы:

  1. Перейдем в каталог платного драйвера C:\Program Files (x86)\ATOL\Drivers8\Bin\.
  2. Найдем там файлы интеграции FprnM1C.dll (или FprnM1C82_54FZ.dll) и переименуем их, например, добавив к расширению суффикс .bak.
  3. Скопируем одноименные файлы из каталога Bin_Free и вставим их в каталог Bin. Таким образом, даже если система защиты попытается подтянуть библиотеку из стандартного каталога Bin, она физически получит бесплатную версию драйвера, которая успешно определит кассу АТОЛ и продолжит работу без требования лицензии.

Шаг 4. Настройка параметров торгового оборудования в 1С

Запустим «Альфа-Авто» и перейдем в форму настройки параметров ККТ:

  1. Откроем справочник «Подключаемое оборудование» или форму настройки параметров фискального регистратора.
  2. Убедимся, что в поле выбора модели ККТ указана конкретная модель (например, АТОЛ-11Ф), а не обобщенное значение «ККТ стороннего производителя». Выбор сторонней модели автоматически принуждает драйвер активировать платные функции.
  3. Проверим тест связи. Если система выдает ошибку, выполним повторную инициализацию устройства в форме настроек торгового оборудования.

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


Попытка
    // Попытка создания COM-объекта драйвера АТОЛ 8.х
    ДрайверККТ = Новый COMОбъект("AddIn.FprnM45");
    Сообщить("COM-объект AddIn.FprnM45 успешно создан!");
    
    // Проверка версии драйвера
    ВерсияДрайвера = ДрайверККТ.DriverVersion;
    Сообщить("Версия установленного драйвера: " + ВерсияДрайвера);
Исключение
    Предупреждение("Ошибка создания объекта драйвера! Проверьте регистрацию DLL. " + ОписаниеОшибки());
КонецПопытки;

---

Технологическая перспектива: переход на ДТО 10

Рассмотренный метод решает проблему в рамках архитектуры ДТО 8. Однако важно понимать, что линейка драйверов АТОЛ 8.х полностью устарела и снята с поддержки производителем. Рассмотрим причины, по которым вашей организации в ближайшее время все же придется задуматься об обновлении программного обеспечения:

Для долгосрочного решения проблем рекомендуется выполнить переход на ДТО 10. В современных релизах «Альфа-Авто» интеграция с ДТО 10 уже реализована разработчиками «Рарус». Переход на 10-ю версию драйвера полностью исключает использование устаревших COM-объектов типа AddIn.FprnM45, заменяя их на современную Native-компоненту AddIn.Fptr10, которая стабильно работает как на 32-разрядных, так и на 64-разрядных платформах 1С.

← На главную