Ошибка 2147221005 (0x800401F3) в 1С возникает при вызове конструктора COMObject и означает «Недопустимая строка с указанием класса». Причина — незарегистрированная библиотека comcntr.dll (ComConnector), через которую 1С подключается к информационной базе на сервере. Чаще всего ошибка появляется после установки или обновления платформы 1С 8.3.
Что означает ошибка 2147221005 / 0x800401F3
Полный текст ошибки выглядит так:
«Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса»
Код 0x800401F3 — стандартный COM-код ошибки Windows, означающий CO_E_CLASSSTRING: система не может найти зарегистрированный COM-класс для создания объекта. В контексте 1С это означает, что библиотека comcntr.dll (ComConnector) не зарегистрирована в реестре Windows или зарегистрирована для другой версии платформы.
ComConnector используется когда внешняя программа или скрипт подключается к 1С через COM-интерфейс — например, при обновлении конфигурации через скрипт автоматического обновления, при интеграции с другими системами, или при работе обработок обмена данными.
Причины появления ошибки
- Установка новой версии платформы 1С — новая версия устанавливается рядом со старой, но
comcntr.dllновой версии не регистрируется автоматически - Обновление платформы — старая версия была удалена, новая установлена, но регистрация COM-библиотек не прошла
- Установщик запускался без прав администратора — регистрация библиотек требует прав на запись в системный реестр
- Повреждение реестра Windows — записи о ComConnector были удалены или повреждены
- Несколько версий платформы — зарегистрирована
comcntr.dllот другой версии 1С, а скрипт обращается к иной - Антивирус заблокировал регистрацию — некоторые антивирусы блокируют вызовы
regsvr32
Способ 1: Регистрация comcntr.dll через regsvr32
Стандартный способ ручной регистрации COM-библиотеки:
- Нажмите Win + R, введите
cmd, запустите командную строку от имени администратора. - Узнайте точную версию установленной платформы. Откройте папку
C:\Program Files\1cv8\и найдите подпапку с номером версии вида8.3.XX.XXXX. - Выполните команду (подставьте реальный номер версии вместо
8.3.xx.xxxx):regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\comcntr.dll"
- При успешной регистрации появится сообщение: «DllRegisterServer в comcntr.dll успешно выполнено».
- Повторите попытку обновления конфигурации или запустите скрипт, который вызывал ошибку.
Если команда вернула ошибку о том, что файл не найден — проверьте путь к папке с платформой. На серверных ОС путь может быть C:\Program Files (x86)\1cv8\....
Способ 2: Регистрация через файл RegCOM.cmd (рекомендуемый)
Если regsvr32 не помогает или возвращает ошибку «Не удалось загрузить модуль», используйте скрипт регистрации, основанный на штатном файле RegMSC.cmd:
- Откройте папку с установленной платформой:
C:\Program Files\1cv8\8.3.xx.xxxx\bin
- Найдите файл
RegMSC.cmd— он регистрирует утилиту администрирования сервера. Щёлкните по нему правой кнопкой и выберите Изменить.
- В тексте файла замените слово
radmin.dllнаcomcntr.dll.
- Сохраните файл под новым именем, например
RegCOM.cmd, в ту же папкуbin. - Щёлкните по
RegCOM.cmdправой кнопкой и выберите Запустить от имени администратора.
- Библиотека будет успешно зарегистрирована.
- Повторите обновление конфигурации — ошибка должна исчезнуть.
Также можно скачать готовый файл RegCOM.cmd с нашего сайта, переместить его в папку C:\Program Files\1cv8\8.3.xx.xxxx\bin и запустить от имени администратора.
Способ 3: Перерегистрация через установщик платформы
Если предыдущие способы не помогли, переустановите платформу в режиме восстановления:
- Откройте Панель управления → Программы и компоненты.
- Найдите «1С:Предприятие 8.3» нужной версии, нажмите Изменить.
- В мастере установки выберите режим Восстановить.
- Дождитесь завершения — установщик перерегистрирует все COM-компоненты, включая
comcntr.dll. - После завершения проверьте регистрацию командой:
regsvr32 /u "C:\Program Files\1cv8\8.3.xx.xxxx\bin\comcntr.dll" regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\comcntr.dll"
Что делать, если ничего не помогло
- Проверьте разрядность — на 64-битных серверах может потребоваться регистрация 32-битной версии библиотеки через
C:\Windows\SysWOW64\regsvr32.exe:C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.xx.xxxx\bin\comcntr.dll"
- Убедитесь, что путь верный — откройте папку
binплатформы и убедитесь, что файлcomcntr.dllтам есть. Если файла нет — платформа установлена неполно. - Проверьте зависимости —
comcntr.dllможет зависеть от других библиотек платформы. ЗапуститеDependency Walkerили аналогичный инструмент для проверки зависимостей DLL. - Проверьте антивирус — временно отключите антивирус и повторите регистрацию. Если помогает, добавьте папку платформы 1С в исключения антивируса.
- Журнал регистрации 1С — откройте Журнал регистрации (Администрирование → Журнал регистрации) и найдите записи с уровнем «Ошибка» в момент возникновения проблемы — они могут указать на дополнительные детали.
- Если проблема остаётся — обратитесь в линию технической поддержки 1С (v8.1c.ru) или к специалисту по администрированию серверов 1С.
FAQ
Что такое comcntr.dll и зачем она нужна в 1С?
comcntr.dll — это библиотека ComConnector, которая реализует COM-интерфейс для подключения к серверу 1С:Предприятие из внешних программ. Через неё работают скрипты автоматического обновления, обработки обмена данными и интеграция 1С с другими системами.
Почему ошибка 0x800401F3 возникает после обновления платформы 1С?
При установке новой версии платформы файлы копируются в новую папку, но COM-регистрация выполняется не всегда корректно — особенно если установщик запускался без прав администратора или прерывался. Старая версия comcntr.dll могла быть удалена, а новая ещё не зарегистрирована.
Нужно ли регистрировать comcntr.dll при каждом обновлении платформы?
Нет, при корректной установке платформы регистрация происходит автоматически. Ручная регистрация нужна только когда автоматическая не прошла — это исключительная ситуация, а не норма.
Ошибка 2147221005 возникает только в серверном режиме или и в файловом?
Чаще всего ошибка возникает при работе с сервером 1С:Предприятие. В файловом режиме COM-подключения через comcntr.dll тоже используются при внешних интеграциях, но реже. Если ошибка появляется в файловом режиме — проверьте регистрацию так же, как описано выше.
Какая версия платформы 1С актуальна для применения этого решения?
Решение применимо для всех актуальных версий платформы 8.3.x — от 8.3.20 до текущих 8.3.24+. Путь к файлам содержит номер конкретной версии, поэтому подставляйте актуальный номер из папки C:\Program Files\1cv8\.
Что означает код ошибки -2147221005 (знак минус)?
Отрицательное значение — это представление беззнакового HRESULT-кода 0x800401F3 в виде знакового целого числа. Это одно и то же значение, просто в разных форматах вывода. Ищите по любому из этих кодов — результат одинаковый.


Спасибо. Все заработало