Многие специалисты сталкиваются с проблемами при попытке автоматического переноса данных из устаревших баз 1С 7.7 (например, «Упрощенная система налогообложения» ред. 1.3) в современные конфигурации на платформе 1С 8.3, такие как «Бухгалтерия предприятия 3.0». При выборе опции загрузки напрямую из информационной базы система часто выдает ошибку:
Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован
Также может появляться сообщение о том, что на компьютере не найдено ни одной базы 1С:Предприятия 7.7, даже если программа установлена стандартным способом, а нужная информационная база присутствует в списке баз. Давайте подробно разберем причины возникновения этой ошибки и рассмотрим несколько проверенных способов ее решения.
Проанализируем ситуацию: архитектура платформы 1С 7.7 создавалась очень давно и является строго 32-разрядной. Следовательно, у нее в принципе отсутствует 64-битный COM-класс. Современные же платформы 1С 8.3 чаще всего устанавливаются в 64-разрядном варианте.
Когда 64-разрядный клиент или сервер платформы 1С 8.3 пытается напрямую обратиться к 32-битной базе 7.7 через COM-соединение (используя объекты V77.Application или V77S.Application), операционная система Windows не находит нужный класс соответствующей 64-битной разрядности. Это приводит к прерыванию процесса и выдаче ошибки 0x80040154. Стандартная регистрация библиотек (например, comcntr.dll) с помощью утилиты regsvr32 не помогает, так как проблема кроется именно в несовпадении архитектур.
Самый простой и логичный способ решить проблему прямого подключения — уравнять разрядности обеих программ. Рассмотрим этот вариант по шагам:
Как показывает практика пользователей, именно этот шаг позволяет системе успешно найти базу-источник и начать выгрузку без ошибок.
Если нет возможности использовать 32-битный клиент, или база 7.7 очень объемная (прямое COM-соединение может работать нестабильно и медленно), рассмотрим более надежный способ — файловый обмен. Он менее капризен к окружению, не требует настройки COM-объектов и работает значительно стабильнее. Для такой задачи можно использовать готовые правила переноса данных из 1С 7.7 в Бухгалтерию предприятия 3.0 через XML.
Разберем детальный алгоритм переноса через XML:
ExtFiles или Convert) найдите внешнюю обработку выгрузки V77Exp.ert и файл с правилами конвертации (для УСН это чаще всего файл с именем типа USN_BP.xml). Скопируйте их в удобную папку на компьютере.V7Plus.dll. Убедитесь, что она лежит в папке BIN платформы 7.7 или в каталоге информационной базы. Зарегистрируйте ее через командную строку, запущенную от имени Администратора: regsvr32 v7plus.dll.V77Exp.ert через меню «Файл – Открыть».Если вам критически важно настроить именно COM-соединение на сервере или рабочей станции с 64-битной платформой, посмотрим на метод создания системной «обертки». Это позволит 64-битному процессу обращаться к 32-битному компоненту через механизмы Windows COM+.
Win + R и введите команду dcomcnfg.V77.Application) или добавьте библиотеку вручную.Данная настройка маршрутизирует вызовы от 64-битного клиента 8.3 к 32-битному COM-объекту 7.7, позволяя избежать ошибки "Класс не зарегистрирован". Однако этот метод требует определенных навыков системного администрирования. Для рядовых задач перехода мы рекомендуем использовать выгрузку через XML или запуск 32-битного клиента 1С 8.3.