При обновлении драйверов торгового оборудования, в частности продукции компании АТОЛ, специалисты часто сталкиваются с парадоксальной ситуацией: в операционной системе установлена актуальная версия (например, 10.8), «Тест драйвера» подтверждает обновление, но внутри 1С:Предприятие при настройке параметров ККТ программа продолжает упорно ссылаться на старую версию. Давайте разберем, почему это происходит, как устроена работа 1С с внешними компонентами и какими способами можно заставить систему использовать нужную нам библиотеку.
Для начала проанализируем, как 1С:Предприятие взаимодействует с оборудованием. В современных конфигурациях на базе БПО (Библиотеки подключаемого оборудования) используется механизм внешних компонент. Важно понимать, что 1С не всегда берет драйвер напрямую из папки C:\Program Files\ATOL. Процесс загрузки выглядит следующим образом:
Таким образом, основной причиной проблемы часто является то, что 1С хранит старую библиотеку fptr10.dll в своем локальном кэше. Рассмотрим подробнее, где именно находятся эти файлы.
Если обычное удаление старого драйвера через «Панель управления» не помогло, нам необходимо проверить папку, в которую 1С выгружает компоненты для работы. Проанализируем путь к этой директории:
%AppData%\Roaming\1C\1cv8\ExtCompT\
В этой папке хранятся подпапки с уникальными идентификаторами, внутри которых лежат файлы библиотек. Выясним алгоритм действий для очистки:
fptr10.dll или файлы с именами, содержащими версию драйвера).Критически важный момент, который мы должны учитывать — это разрядность клиентского приложения 1С. Рассмотрим ситуацию: вы установили драйвер АТОЛ 10.8 в 64-битной версии, надеясь на максимальную производительность. Однако, если ваш клиент 1С:Предприятие является 32-битным (что встречается в большинстве случаев для стабильной работы с торговым оборудованием), он физически не сможет использовать 64-битную библиотеку.
В этом случае 1С будет искать в системе любую доступную 32-битную версию драйвера. Если в реестре осталась запись о старой версии, программа «подцепит» именно её. Выясним, как это исправить:
C:\Windows\SysWOW64 для 32-битных библиотек и C:\Windows\System32 для 64-битных на наличие старых копий fptr10.dll.Драйверы АТОЛ 10-й серии используют технологию COM для взаимодействия с другими программами. В системе может быть много файлов библиотеки, но за программный идентификатор AddIn.Fptr10 отвечает только одна запись в реестре, указывающая на конкретный путь. Если инсталлятор новой версии не смог перезаписать этот путь (например, из-за нехватки прав или блокировки файла антивирусом), 1С продолжит вызывать старый код.
Рассмотрим, как выполнить ручную перерегистрацию компоненты. Для этого запустите командную строку от имени администратора и выполните следующие команды:
regsvr32 /u "C:\Path\To\Old\fptr10.dll"
regsvr32 "C:\Program Files\ATOL\Drivers10\KKT\bin\fptr10.dll"
Первая команда отменяет регистрацию старой библиотеки (если путь известен), вторая — регистрирует актуальную версию. После этого перезапустите 1С и проверьте версию в настройках оборудования.
В настройках 1С в разделе «Подключаемое оборудование» мы видим две важные характеристики. Первая — это версия самого драйвера, установленного в Windows. Вторая — это версия интеграционной компоненты, которая является «прослойкой» между 1С и АТОЛ. Рассмотрим, почему это важно:
Зачастую старые версии конфигураций 1С (особенно если они давно не обновлялись) имеют жесткие ограничения в коде БПО. Если 1С «не знает» о существовании версии 10.8, она может пытаться инициализировать её методами, подходящими для версии 10.5, что приведет к ошибкам или некорректному отображению версии. В таких случаях может потребоваться обновление самой конфигурации 1С до актуального релиза, поддерживающего новые версии драйверов АТОЛ.
Проанализируем, как убедиться, что проблема именно в 1С, а не в системных драйверах. Запустите штатную утилиту «Тест драйвера ККТ», которая идет в комплекте с поставкой АТОЛ. Посмотрите в нижней части окна или в разделе «О программе» версию библиотеки.
Если «Тест драйвера» показывает 10.8, а 1С — 10.5, значит, драйвер в системе обновлен корректно, и мы имеем дело именно с кэшированием внутри 1С или неправильной регистрацией COM-объекта. Если же и в тесте отображается старая версия, то обновление драйвера в ОС прошло неудачно, и следует выполнить полную переустановку пакета АТОЛ, предварительно удалив все старые версии через «Программы и компоненты».
Подведем итог и составим четкий план действий, который поможет нам гарантированно перевести 1С на использование новой компоненты:
Fptr10, или воспользуйтесь специализированными утилитами для очистки хвостов инсталляций.C:\Program Files\ATOL и C:\Program Files (x86)\ATOL действительно удалены.%AppData%\Roaming\1C\1cv8\ExtCompT\ в профиле каждого пользователя, который работает с кассой.Следуя этому системному подходу, мы исключаем возможность того, что программа «зацепит» старую версию из скрытых папок или неверных записей реестра, обеспечивая стабильную и корректную работу торгового оборудования.