При переходе на 64-разрядную версию платформы 1С:Предприятие пользователи и администраторы нередко сталкиваются с ситуацией, когда торговое оборудование перестает работать. В 32-разрядном клиенте ККТ определяется и функционирует штатно, а при попытке подключения в 64-разрядном клиенте возникает ошибка инициализации: Не установлен на текущем компьютере. Не определен тип: AddIn.ATOL_KKM_1C82_54FZ. Разберем причины возникновения этой неполадки и рассмотрим проверенные способы ее устранения.
Проанализируем ситуацию на уровне операционной системы. 64-разрядный исполняемый процесс (в нашем случае 1cv8.exe разрядности x64) физически не может загрузить в свое адресное пространство 32-разрядную динамическую библиотеку (DLL). Попытки скопировать файлы в системные папки вроде c:\Windows\SysWOW64\ или зарегистрировать их с помощью утилиты regsvr32 не дают результата.
Идентификатор типа AddIn.ATOL_KKM_1C82_54FZ относится к устаревшим версиям драйверов торгового оборудования (линейки ДТО 8 и ранние ДТО 9). Для этих версий производитель выпускал исключительно 32-разрядные внешние компоненты. 64-битных сборок этих библиотек не существует в природе.
Попытки пробросить внешнюю компоненту через службу компонентов Windows (COM+ / DllSurrogate) также не приводят к успеху. Механизм внешних компонент 1С, загружаемый конструкцией ЗагрузитьВнешнююКомпоненту() или через фабрику типов AddIn.*, требует работы строго внутри адресного пространства клиента (In-Process Server). Обертка COM+ способна изолировать разрядность только для классических Automation-объектов при вызове через Новый COMОбъект(), но не подходит для штатных механизмов интеграции торгового оборудования 1С.
Самый быстрый и надежный способ вернуть рабочее место кассира в строй без глобальной перенастройки учетной системы — запуск 32-разрядной версии платформы.
Запуск 32-битного клиента для локального рабочего места кассира является стандартной практикой, так как большинству кассовых узлов не требуется объем оперативной памяти более 4 ГБ.
Если специфика рабочего места строго требует запуска именно 64-разрядного клиента платформы, потребуется модернизировать стек драйверов ККТ.
Рассмотрим альтернативные способы взаимодействия с аппаратом, которые полностью исключают зависимость от разрядности клиентского приложения 1С: