Как исправить ошибку «Класс не зарегистрирован» (COMОбъект) при работе с 1С?

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

Ошибка -2147221164(0x80040154): Класс не зарегистрирован является одной из самых распространенных при настройке взаимодействия между 1С и внешними компонентами или при вызове V83.COMConnector. Часто она возникает при переносе серверной части 1С на новую ОС Windows Server или при обновлении платформы. Давайте подробно разберем, как последовательно устранить эту проблему.

Шаг 1: Базовая регистрация библиотеки

Первым делом необходимо убедиться, что библиотека comcntr.dll правильно зарегистрирована в системном реестре Windows. Для этого мы воспользуемся утилитой regsvr32.

  1. Откройте командную строку (CMD) обязательно от имени администратора.
  2. Перейдите в папку с установленной версией платформы 1С. Обычно это путь вида C:\Program Files\1cv8\8.3.x.xxxx\bin\.
  3. Выполните команду регистрации: regsvr32 "C:\Program Files\1cv8\8.3.x.xxxx\bin\comcntr.dll"

Если система выдаст сообщение об успешном выполнении, переходите к проверке работоспособности. Если ошибка сохраняется, переходим к более сложным методам настройки.

Шаг 2: Создание и настройка COM+ приложения вручную

Если стандартная регистрация не дает результата, нам необходимо создать отдельное приложение COM+ для нашего коннектора. Это позволяет изолировать процесс и корректно настроить права доступа.

  1. Откройте «Панель управления» — «Администрирование» — «Службы компонентов».
  2. Раскройте дерево: «Компьютеры» -> «Мой компьютер» -> «Приложения COM+».
  3. Нажмите правой кнопкой мыши на «Приложения COM+», выберите «Создать» -> «Приложение».
  4. В мастере выберите «Создать новое приложение», укажите имя, например, V83COMConnector, и обязательно выберите «Серверное приложение».
  5. На этапе выбора пользователя выберите «Текущий пользователь» (либо учетную запись, от которой работает служба сервера 1С).
  6. После создания приложения найдите в нем ветку «Компоненты», нажмите правой кнопкой — «Создать» -> «Компонент».
  7. Выберите «Установка новых компонентов» и укажите путь к файлу comcntr.dll из папки bin установленной платформы 1С.

Шаг 3: Настройка безопасности COM+ приложения

Чтобы сервер 1С мог корректно обращаться к созданному компоненту без прав администратора, необходимо настроить права доступа.

  1. Нажмите правой кнопкой на созданное приложение V83COMConnector и выберите «Свойства».
  2. Перейдите на вкладку «Безопасность».
  3. Снимите флажок «Принудительная проверка доступа для приложений».
  4. На вкладке «Дополнительно» (или в зависимости от версии Windows в разделе безопасности) убедитесь, что включена политика программных ограничений: установите уровень «Неограниченный».

Шаг 4: Проверка прав доступа DCOM

Если проблема сохраняется, возможно, у службы 1C:Enterprise 8.3 Server Agent или пользователя, запускающего клиентское приложение, недостаточно прав для активации DCOM-объекта.

Рассмотрим настройку через dcomcnfg:

Дополнительные рекомендации

Если описанные шаги не привели к успеху, проанализируйте следующие моменты:

Помните, что после внесения изменений в настройки COM+ или DCOM, желательно перезапустить службу 1C:Enterprise 8.3 Server Agent, чтобы изменения вступили в силу для всех процессов 1С.

← На главную