При настройке торгового оборудования, в частности касс АТОЛ, технические специалисты часто сталкиваются с ошибкой регистрации библиотек (например, fptrwin32_fz54_9_11_0_5570.dll) с помощью стандартной системной утилиты Windows regsvr32. Система выдает ошибку о том, что точка входа не найдена или библиотека несовместима с данной версией ОС. В этой статье мы подробно разберем, почему возникает эта ошибка, как устроена современная интеграция торгового оборудования, и пошагово настроим подключение драйверов АТОЛ в 1С.
Выясним причину такого поведения операционной системы. Утилита regsvr32 предназначена исключительно для регистрации старых внешних компонент, разработанных по технологии COM (ActiveX). При вызове этой команды Windows ищет внутри библиотеки функцию DllRegisterServer.
Современные драйверы АТОЛ (начиная с 9-й версии и включая актуальную 10-ю версию) используют технологию Native API от компании 1С. В этих библиотеках физически отсутствует точка регистрации COM-сервера. Соответственно, попытка зарегистрировать их через командную строку Windows всегда будет приводить к ошибке. Такие библиотеки не нужно регистрировать в самой операционной системе — платформа 1С:Предприятие умеет работать с ними напрямую, динамически загружая их в оперативную память.
Для успешной интеграции ККТ нам необходимо понимать, как взаимодействуют между собой компоненты системы. Связка 1С и кассового аппарата АТОЛ состоит из двух независимых уровней:
fptr10.dll) и утилиту "Тест драйвера ККТ".Если при проверке оборудования в 1С вы видите ошибку "Не установлен интеграционный компонент к основной поставке драйвера", это означает, что 1С смогла инициализировать свою внутреннюю обертку, но эта обертка не смогла достучаться до установленного в Windows основного драйвера АТОЛ.
Проанализируем самую частую причину сбоя при подключении драйверов — несоответствие разрядности (битности). Запомните важнейшее правило: разрядность драйвера АТОЛ должна строго соответствовать разрядности клиента 1С, а не разрядности операционной системы Windows.
Даже если у вас установлена 64-битная Windows 10/11, сама платформа 1С:Предприятие очень часто запускается в 32-битном режиме (x86). В этом случае вам необходимо устанавливать исключительно 32-битный драйвер АТОЛ. Если вы установите 64-битный драйвер АТОЛ в 64-битную систему, но запустите 32-битную 1С, программа выдаст ошибку интеграции, так как 32-битный процесс 1С физически не сможет загрузить 64-битные системные библиотеки.
Рассмотрим, как правильно выполнить установку без использования консоли и сторонних утилит, используя стандартную форму "Подключаемое оборудование".
Прежде чем переходить в 1С, установите дистрибутив драйвера, скачанный с сайта АТОЛ. При установке в инсталляторе обязательно отметьте флажком пункт "Компоненты интеграции для 1С" (или "Драйвер 1С"). Это гарантирует, что установщик поместит все необходимые библиотеки в системные папки Windows.
Откроем 1С:Предприятие в режиме "Тонкий клиент" или "Толстый клиент" и перейдем по шагам:
Если встроенная в 1С версия драйвера устарела или не совпадает с версией, установленной на компьютере, выполним ручное обновление компоненты:
C:\Program Files (x86)\ATOL\Drivers10\KKT\1Cv83\ATOL_KKT_10.zip (для 10-й версии). Распаковывать архив не нужно! 1С импортирует его целиком.Если вы пишите собственное решение или дорабатываете конфигурацию, разберем программный способ инициализации native-компоненты. Платформа делает это с помощью метода ПодключитьВнешнююКомпоненту(). Посмотрим на пример кода:
// Пример программного подключения Native-компоненты АТОЛ
ИмяФайлаКомпоненты = "ОбщийМакет.ДрайверАтолККТ10"; // пример пути к макету
РезультатПодключения = ПодключитьВнешнююКомпоненту(ИмяФайлаКомпоненты, "AtolDrivers", ТипВнешнейКомпоненты.Native);
Если РезультатПодключения Тогда
// Создаем объект драйвера
ДрайверККТ = Новый ("AddIn.AtolDrivers.Fptr10");
// Теперь можно вызывать методы драйвера, например, открыть смену
ДрайверККТ.open();
Иначе
ВызватьИсключение "Не удалось загрузить внешнюю компоненту АТОЛ!";
КонецЕсли;
Обратите внимание на использование параметра ТипВнешнейКомпоненты.Native. Именно он указывает платформе 1С, что библиотеку нужно загружать по новой технологии без обращения к системному реестру Windows COM-объектов.
Иногда после обновления версии драйвера в системе 1С упорно продолжает использовать старую версию библиотеки и выдает ошибку несовместимости версий. Это связано с жестким кэшированием файлов платформой 1С.
Для исправления этой ситуации выполним полную очистку локального кэша внешних компонент пользователя:
C:\Users\<Имя_Пользователя>\AppData\Roaming\1C\1cv8\ExtCompT\ExtCompT.Таким образом, отказ от устаревшей системной регистрации через regsvr32 в пользу встроенных механизмов управления внешними компонентами 1С значительно упрощает администрирование рабочих мест кассиров и повышает общую стабильность работы торгового оборудования.