Как зарегистрировать DLL-драйвер АТОЛ 9x и 10х в 1С без использования утилиты regsvr32?

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

При настройке торгового оборудования, в частности касс АТОЛ, технические специалисты часто сталкиваются с ошибкой регистрации библиотек (например, fptrwin32_fz54_9_11_0_5570.dll) с помощью стандартной системной утилиты Windows regsvr32. Система выдает ошибку о том, что точка входа не найдена или библиотека несовместима с данной версией ОС. В этой статье мы подробно разберем, почему возникает эта ошибка, как устроена современная интеграция торгового оборудования, и пошагово настроим подключение драйверов АТОЛ в 1С.

Почему утилита regsvr32 выдает ошибку?

Выясним причину такого поведения операционной системы. Утилита regsvr32 предназначена исключительно для регистрации старых внешних компонент, разработанных по технологии COM (ActiveX). При вызове этой команды Windows ищет внутри библиотеки функцию DllRegisterServer.

Современные драйверы АТОЛ (начиная с 9-й версии и включая актуальную 10-ю версию) используют технологию Native API от компании 1С. В этих библиотеках физически отсутствует точка регистрации COM-сервера. Соответственно, попытка зарегистрировать их через командную строку Windows всегда будет приводить к ошибке. Такие библиотеки не нужно регистрировать в самой операционной системе — платформа 1С:Предприятие умеет работать с ними напрямую, динамически загружая их в оперативную память.

Двухуровневая архитектура драйверов АТОЛ

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

  1. Интеграционный компонент (компонента 1С): Это специальный программный "мост" (обертка), поставляемый в виде zip-архива. Он загружается непосредственно в базу данных 1С и транслирует команды конфигурации в низкоуровневые системные вызовы.
  2. Основная поставка драйвера (ДТО): Это полноценный программный пакет, который устанавливается в операционную систему Windows через запуск exe-инсталлятора, скачанного с официального сайта АТОЛ. Он включает системную службу ККТ, низкоуровневую библиотеку (например, 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С, установите дистрибутив драйвера, скачанный с сайта АТОЛ. При установке в инсталляторе обязательно отметьте флажком пункт "Компоненты интеграции для 1С" (или "Драйвер 1С"). Это гарантирует, что установщик поместит все необходимые библиотеки в системные папки Windows.

Шаг 2. Добавление оборудования в 1С

Откроем 1С:Предприятие в режиме "Тонкий клиент" или "Толстый клиент" и перейдем по шагам:

  1. Откройте меню Администрирование (или "НСИ и администрирование") -> РМК и оборудование (или "Подключаемое оборудование").
  2. Установите флаг "Использовать подключаемое оборудование", если он не установлен, и перейдите по гиперссылке "Подключаемое оборудование".
  3. Выберите тип оборудования "ККТ с передачей данных" и нажмите кнопку "Создать".
  4. В поле "Драйвер оборудования" выберите необходимую версию драйвера АТОЛ (например, "АТOL:ККТ с передачей данных в ОФД (54-ФЗ) 10.x").
  5. Нажмите кнопку "Записать и закрыть".

Шаг 3. Ручное обновление компоненты (при конфликте версий)

Если встроенная в 1С версия драйвера устарела или не совпадает с версией, установленной на компьютере, выполним ручное обновление компоненты:

  1. В окне "Подключаемое оборудование" нажмите кнопку "Драйверы оборудования...".
  2. Найдите в списке ваш драйвер АТОЛ и откройте его карточку.
  3. Используйте меню "Функции" -> "Загрузить драйвер" (в некоторых конфигурациях кнопка называется "Загрузить файл драйвера").
  4. Укажите путь к zip-архиву, который поставляется вместе с установленным драйвером АТОЛ. Обычно он лежит по пути: C:\Program Files (x86)\ATOL\Drivers10\KKT\1Cv83\ATOL_KKT_10.zip (для 10-й версии). Распаковывать архив не нужно! 1С импортирует его целиком.
  5. Нажмите "Записать и закрыть". После этого нажмите кнопку "Установить драйвер" на панели управления.

Программный метод подключения внешней компоненты (для разработчиков)

Если вы пишите собственное решение или дорабатываете конфигурацию, разберем программный способ инициализации native-компоненты. Платформа делает это с помощью метода ПодключитьВнешнююКомпоненту(). Посмотрим на пример кода:


// Пример программного подключения Native-компоненты АТОЛ
ИмяФайлаКомпоненты = "ОбщийМакет.ДрайверАтолККТ10"; // пример пути к макету
РезультатПодключения = ПодключитьВнешнююКомпоненту(ИмяФайлаКомпоненты, "AtolDrivers", ТипВнешнейКомпоненты.Native);

Если РезультатПодключения Тогда
    // Создаем объект драйвера
    ДрайверККТ = Новый ("AddIn.AtolDrivers.Fptr10");
    // Теперь можно вызывать методы драйвера, например, открыть смену
    ДрайверККТ.open();
Иначе
    ВызватьИсключение "Не удалось загрузить внешнюю компоненту АТОЛ!";
КонецЕсли;

Обратите внимание на использование параметра ТипВнешнейКомпоненты.Native. Именно он указывает платформе 1С, что библиотеку нужно загружать по новой технологии без обращения к системному реестру Windows COM-объектов.

Решение проблемы с кэшированием внешних компонент

Иногда после обновления версии драйвера в системе 1С упорно продолжает использовать старую версию библиотеки и выдает ошибку несовместимости версий. Это связано с жестким кэшированием файлов платформой 1С.

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

  1. Полностью закройте все запущенные сеансы 1С:Предприятия.
  2. Откройте проводник Windows и перейдите в каталог временных файлов пользователя по следующему пути:
    C:\Users\<Имя_Пользователя>\AppData\Roaming\1C\1cv8\ExtCompT\
  3. Удалите все файлы и папки, находящиеся внутри каталога ExtCompT.
  4. Запустите 1С заново. При первом обращении к кассе система автоматически распакует свежую версию компоненты из базы данных в очищенную папку кэша.

Таким образом, отказ от устаревшей системной регистрации через regsvr32 в пользу встроенных механизмов управления внешними компонентами 1С значительно упрощает администрирование рабочих мест кассиров и повышает общую стабильность работы торгового оборудования.

← На главную