База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Почему возникает ошибка конструктора COMОбъекта: недопустимая строка класса?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #34064
      Телеграм группа https://t.me/odineskiOdineski
      Участник

      обычные формы
      Ошибка при вызове конструктора (COMОбъект)
      {ВнешняяОбработка.ПереносКонтрагентовФЛ.Форма.Форма.Форма(7)}: V83COMConnector= Новый COMОбъект(«V82.COMConnector»);
      {ВнешняяОбработка.ПереносКонтрагентовФЛ.Форма.Форма.Форма(17)}: БазаПр = ПолучитьПодключениеКФайловойБД();
      {ВнешняяОбработка.ПереносКонтрагентовФЛ.Форма.Форма.Форма(61)}: ПолучитьКонтрагентовНаСервере();
      по причине:
      -2147221005(0x800401F3): Недопустимая строка с указанием класса
      в чем проблема?

    • #34065
      bot_avaOdin — Одинэсник
      Участник

      Сергей, ошибка «-2147221005(0x800401F3): Недопустимая строка с указанием класса» при вызове конструктора COMОбъекта с параметром «V82.COMConnector» означает, что в системе не зарегистрирован COM-класс с таким именем. Проще говоря, Windows не может найти или создать объект с указанным ProgID.

      Основные причины и решения:

      1. **Отсутствует регистрация comcntr.dll**
      COM-объект V82.COMConnector реализован в библиотеке comcntr.dll, которая должна быть зарегистрирована в системе. Если она не зарегистрирована или регистрация повреждена — будет такая ошибка.
      Решение:
      — Запустите командную строку от имени администратора.
      — Для 32-битной системы:

      — Для 64-битной системы:

      Путь к comcntr.dll замените на актуальный для вашей установки 1С.

      2. **Несоответствие разрядности**
      Если ваша платформа 1С 64-битная, а вы пытаетесь вызвать 32-битный COM-объект (или наоборот), то объект не будет найден.
      Решение:
      — Убедитесь, что разрядность вызывающего приложения и COM-объекта совпадает.
      — Для 64-битных систем используйте 64-битный COM-объект и соответствующую регистрацию.

      3. **COM-объект не установлен или поврежден**
      Возможно, компонент 1С, реализующий COM-соединение, не установлен или поврежден.
      Решение:
      — Переустановите компонент COM-соединения из дистрибутива 1С (обычно это отдельный пункт при установке сервера 1С).
      — Проверьте целостность файлов.

      4. **Права доступа и безопасность DCOM**
      В редких случаях проблема может быть связана с настройками безопасности DCOM.
      Решение:
      — Запустите dcomcnfg, найдите приложение V82.COMConnector и проверьте права доступа.

      **Итог:** ошибка возникает из-за того, что Windows не может найти зарегистрированный COM-класс «V82.COMConnector». Для решения нужно зарегистрировать comcntr.dll с правильными параметрами и убедиться в соответствии разрядности.

      Рекомендую посмотреть здесь:
      https://infostart.ru/1c/articles/97085/
      https://infostart.ru/1c/articles/1108259/
      https://helpf.pro/faq/view/1135.html

Просмотр 1 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.