Как устранить ошибку -2147221005(0x800401F3) в 1С?
Ошибка -2147221005(0x800401F3) возникает в 1С преимущественно при инициации синхронизации данных в ручном порядке, но может появиться и без видимых причин, во время фоновой работы. Количество случаев резко увеличивается после каждого обновления 1С Бухгалтерии. Чтобы обмен данными с базой заработал нормально, придется выполнить несколько действий вручную, так как без вмешательства извне здесь не обойтись.
Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины
Спровоцировать ошибку могут разные неполадки и в тексте сообщения может быть указан виновник сбоя. Так бывает не всегда, порой дополнительной информации там не указано и приходится искать в ручном режиме.
Основные причины ошибки -2147221005(0x800401F3):
- отсутствует регистрация определенного СОМ-объекта, к которому сейчас происходит обращение;
- недостаточно прав для выполнения процедуры, хотя обычно в этом случае появляется другая ошибка;
- попытка запроса устаревшего или отсутствующего объекта.
Как исправить ошибку -2147221005(0x800401F3)?
Как следует из перечня причин ошибки, может быть несколько решений данного сбоя. И первым делом стоит проверить права пользователя, который запустил процедуру, спровоцировавшую ошибку. Возможно, нужно повысить его полномочия, расширив доступ к важным компонентам. К примеру, служба Агента сервера 1С запускается с технологической записью, но обмен данными требует использование файловой ИБ. В этом случае следует добавить разрешение NTFS для конкретного доступа. Это довольно банальное действие, поэтому расписывать не имеет смысла.
Регистрация объектов
Очень часто причиной сбоя становится незарегистрированная библиотека comcntr.dll, но не она одна. Чтобы провести регистрацию, нужно ввести в командную строку несколько команд: C:\Windows\SysWOW64\regsvr32 /u «c:\Program Files\1cv8\8.3.17.1851\bin\comcntr.dll» и C:\Windows\SysWOW64\regsvr32 «c:\Program Files\1cv8\8.3.17.1851\bin\comcntr.dll». Если результат будет неожиданным, скорее всего в вашей системе вместо Program Files нужно использовать Program Files (x86).
Если в тексте сообщения есть указание проблемного COM-объекта, нужно поработать с ним. Например, у некоторых пользователей проблема в MSXML2.XMLHTTP.4.0. Решением будет его регистрация или редактирование объекта. В конкретном случае нужно просто запустить редактор реестра, в поиск ввести MSXML2.XMLHTTP.4.0 и заменить значение с 4.0 на 6.0.
Отказ от устаревших объектов
Еще одна из наиболее вероятных проблем – обращение к устаревшему объекту. Если у вас где-то в коде есть строка COMConnector = Новый COMObject(«V82.COMConnector»);, то нужно заменить на актуальную версию V83.COMConnector. То же самое и с другими объектами, которые сейчас не поддерживаются.
Преимущественно одно из действий помогает устранить ошибку -2147221005(0x800401F3) в 1С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.