Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
1. Регистрация библиотеки comcntr.dll
В командной строке с правами Администратора выполните команду:
regsvr32 «bincomcntr.dll»
При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».
Ошибка 720 не удается подключиться к удаленному компьютеру
2. Переустановка платформы с внесением исправлений
Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.
3. Регистрация коннектора вручную
Регистрация приложения и коннектора вручную:
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
0x80070091 Папка не пуста
Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.
Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11
Источник: nastroyka-1c.ru
Как устранить ошибку -2147221005(0x800401F3) в 1С?
Ошибка -2147221005(0x800401F3) возникает в 1С преимущественно при инициации синхронизации данных в ручном порядке, но может появиться и без видимых причин, во время фоновой работы. Количество случаев резко увеличивается после каждого обновления 1С Бухгалтерии. Чтобы обмен данными с базой заработал нормально, придется выполнить несколько действий вручную, так как без вмешательства извне здесь не обойтись.
Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины
Спровоцировать ошибку могут разные неполадки и в тексте сообщения может быть указан виновник сбоя. Так бывает не всегда, порой дополнительной информации там не указано и приходится искать в ручном режиме.
Основные причины ошибки -2147221005(0x800401F3):
- отсутствует регистрация определенного СОМ-объекта, к которому сейчас происходит обращение;
- недостаточно прав для выполнения процедуры, хотя обычно в этом случае появляется другая ошибка;
- попытка запроса устаревшего или отсутствующего объекта.
Как исправить ошибку -2147221005(0x800401F3)?
Как следует из перечня причин ошибки, может быть несколько решений данного сбоя. И первым делом стоит проверить права пользователя, который запустил процедуру, спровоцировавшую ошибку. Возможно, нужно повысить его полномочия, расширив доступ к важным компонентам.
К примеру, служба Агента сервера 1С запускается с технологической записью, но обмен данными требует использование файловой ИБ. В этом случае следует добавить разрешение NTFS для конкретного доступа. Это довольно банальное действие, поэтому расписывать не имеет смысла.
Регистрация объектов
Очень часто причиной сбоя становится незарегистрированная библиотека comcntr.dll, но не она одна. Чтобы провести регистрацию, нужно ввести в командную строку несколько команд: C:WindowsSysWOW64regsvr32 /u “c:Program Files1cv88.3.17.1851bincomcntr.dll” и C:WindowsSysWOW64regsvr32 “c:Program Files1cv88.3.17.1851bincomcntr.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С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.
Источник: gamesqa.ru
«-2147221005(0x800401F3): Недопустимая строка с указанием класса» — что делать?
1С — это очень сложная программа, которая выполняет множество задач в большинстве офисов. Для того чтобы программа нормально работала, ей необходимо обеспечение всех ресурсов, а если чего-то не хватает, то возникают разнообразные ошибки, которые приходится исправлять бухгалтеру или другому офисному сотруднику. В этой статье рассмотрим, как исправить ошибку «-2147221005(0x800401F3): Недопустимая строка с указанием класса», и как попытаться сделать это самостоятельно без привлечения специалиста.
«-2147221005(0x800401F3): Недопустимая строка с указанием класса» — причины
Ошибка «-2147221005(0x800401F3): Недопустимая строка с указанием класса» обычно возникает по двум причинам:
- На компьютере не зарегистрированы необходимые для выполнения операции библиотеки.
- У программы нет достаточно прав для обработки запроса.
Ошибка появляется во время обмена данными между базами 1С в фоновом режиме, либо при выполнении ручной синхронизации. Для решения этой проблемы зарегистрируйте библиотеку comcntr.dl и организуйте корректный запуск COMConnector.
Регистрация библиотеки comcntr.dl
Чтобы зарегистрировать библиотеку, сделайте следующее:
-
Запустите командную строку от имени администратора. Для этого нажмите на кнопку пуска и найдите там командную строку. Можно использовать поиск в пуске. Нажмите на «Запустить с правами администратора».
Создание коннектора COMConnector
Следующий этап — создать коннектор COMConnector и корректно его запустить. Для этого сделайте так:
-
Откройте раздел компьютера «Службы компонентов». Для этого в панели управления зайдите в «Администрирование».
Теперь слева перейдите последовательно в раздел «Службы компонентов», «Компьютеры», «Мой компьютер», «Приложения COM+». Затем нажмите правой кнопкой мышки и выберите «Создать», а потом «Приложение».
Появится окно, в котором выберите «Создать новое приложение».
Затем введите название приложения V83COMConnector, выберите вариант «Серверное приложение» и нажмите кнопку «Далее».
В следующем окне выберите учётную запись, которая будет запускать данное приложение. В большинстве случаев — это «Текущий пользователь».
Разверните созданное приложение и нажмите правой кнопкой мышки на раздел «Компоненты», затем «Создать», а потом «Новый компонент».
Потом выберите вариант «Установка новых компонентов» и нажмите кнопку «Далее».
Теперь укажите путь на файл comcntr.dll, нажмите «Далее».
Отключите во вкладке «Безопасность» опцию «Принудительная проверка доступа для приложения», а в опции «Уровень ограничений» установите вариант «Неограниченный». Сохраните изменения.
Теперь перезагрузите компьютер и проверьте, устранилась ли ошибка «-2147221005(0x800401F3): Недопустимая строка с указанием класса».
Как ещё можно устранить ошибку?
Если это не помогает, то можно попробовать сделать ещё такие действия:
- Перезапустите сервер 1С. Это поможет, если ошибка появилась из-за зависшего процесса.
- Убедитесь, что на компьютере установлена программ Microsoft Excel. Она нужна обязательно для успешного запуска многих процессов 1С. И её отсутствие может вызывать ошибку «-2147221005(0x800401F3): Недопустимая строка с указанием класса».
- Возможно, 1С неверно запрограммирована, и ошибочный код вызывает ошибку.
- В интерфейсе приложения переключите режим работы 1С на «Библиотечный».
- Вход осуществлён через пользователя, у которого нет прав для осуществления некоторых процессов в 1С.
Если вы затрудняетесь решить эту проблему, тогда придётся привлечь специалиста. Для этого можно позвонить в организацию, которая устанавливала вам 1С. Иногда они могут помочь дистанционно. В крупных организациях для таких задач есть штатный системный администратор.
Источник: it-doc.info