Не удалось подключиться к другой программе ошибка при вызове конструктора comobject

Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.

Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.

Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».

Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).

Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.

Подготовительные действия

  • отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
  • если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.

Подходы к решению

1. Регистрация библиотеки comcntr.dll

В командной строке с правами Администратора выполните команду:

regsvr32 "<путь к каталогу установки 1С>bincomcntr.dll"

При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».

2. Переустановка платформы с внесением исправлений

Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.

3. Регистрация коннектора вручную

Регистрация приложения и коннектора вручную:

  • запускаем консоль «Службы компонентов»;
  • добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
  • выбираем «Создать» — «Приложение»;
  • в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
  • выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
  • на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».

В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:

  • в контекстном меню выбираем «Создать» — «Компонент»;
  • кликаем по первому варианту «Установка новых компонентов»;
  • в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
  • нажимаем «Далее» и «Готово».

Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:

  • открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
  • на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
  • в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
  • нажимаем «Применить» — «ОК».

Полная версия со снимками экранов — в статье на Дзен-канале.

Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.

Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11

Я
   Студиозус

23.10.18 — 10:44

На прошлой неделе сделал обновление ЗУП до последнего релиза.

Зарплата и управление персоналом, редакция 3.1 (3.1.7.144)

После этого перестал работать обмен. Ругается:

Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль(1093)}: Ошибка при вызове конструктора (COMObject)

        COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V83.COMConnector»

по причине:

-2147221005(0x800401F3): Недопустимая строка с указанием класса

comcntr — на всякий случай ещё раз зарегистрировал. И на Сервере 1С и на сервере приложений на всякий случай. Результат тот же.

   Студиозус

1 — 23.10.18 — 10:49

Службу перезапускал

   Вафель

2 — 23.10.18 — 10:51

а точно ИмяCOMСоединителя() = «V83.COMConnector»

   Студиозус

3 — 23.10.18 — 10:56

(2) Да. Сейчас проверил.

У меня и другие обработки использующие этот коннектор работать перестали.

   maxx079

4 — 23.10.18 — 10:57

Только обновление ЗУП или обновление платформы тоже?

Словил такую же ошибку при обновлении УТ11 и БП3.0 на последние релизы. Правда, при этом пришлось обновить платформу — с 8.3.10 на 8.3.13.1513.

Регистрацию сом делал, с бубном плясал. 1с патченная, базы файловые.

Самый смак — в ручном режиме все работает, «проверить соединение» говорит что все хорошо. А через фоновое задание — отваливается с этой ошибкой.

   Студиозус

5 — 23.10.18 — 10:58

(4) Платформу обновил месяц назад. Все работало.

А вот когда сделал обновления ЗУП что то отвалилось.

   ac13

6 — 23.10.18 — 10:59

Если платформу обновлял, то перерегистрацию comcntr.dll

   maxx079

7 — 23.10.18 — 11:02

«Платформу обновил месяц назад. Все работало. После обновления ЗУП что-то отвалилось» — а вот это пугает.

Я грешил на платформу, сегодня хотели пробовать откатиться на 8.3.12.

Возможно, действительно стоит смотреть (2) — что возвращает функция ИмяCOMСоединителя().

   Студиозус

8 — 23.10.18 — 11:02

(6) Делал ещё тогда. Всё работало после обновления платформы. (4) У меня и «Проверить соединение» ошибку выдает.

   Студиозус

9 — 23.10.18 — 11:04

Вообще бредятина.

Попробовал настроить обмен через каталог.

Создал папку, выбрал её в настройках обмена.

Нажимаю «Проверить», пишет каталог не существует.

Просто пипец какой то!

   Студиозус

10 — 23.10.18 — 11:07

(9) Но это хрен с ним.

Гораздо важнее что бы коммконнектор заработал.

   KnightAlone

11 — 23.10.18 — 11:11

(9) через каталог то должно всяко работать. мож прав на каталог нет у пользователя, под которым выполняются регл. задания?

   el-gamberro

12 — 23.10.18 — 11:12

Проверь что суррогат комконнектора не отвалился.

Обычное такое бывает если сделал перерегистрацию, а комконнекторо все равно не фурычит.

   maxx079

13 — 23.10.18 — 11:12

(0) На всякий случай спрошу — версия платформы какая?

  

Студиозус

14 — 23.10.18 — 11:14

В общем способ решения.

Отменяем регистрацию comcntr.dll.

Затем запускаем CMD 32 разрядный (!!!) из папки C:WindowsSysWOW64 под правами администратора.

И уже из него проводим отмену регистрации и заново регистрируем

C:Program Files (x86)1cv88.3.12.1616bin>regsvr32 /u comcntr.dll

C:Program Files (x86)1cv88.3.12.1616bin>regsvr32 comcntr.dll

начал читать тему и понял, что как всегда — вместо того, чтобы поддержать или научить, человеку рассказывают о том, как отмазаться или не делать mikecool

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Ошибка -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С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.

Содержание

  1. COMОбъект: -2147221005(0x800401F3): Недопустимая строка с указанием класса
  2. Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
  3. Подготовительные действия
  4. Подходы к решению
  5. Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП
  6. Причины возникновения ошибки -2147221005(0x800401F3)
  7. Обновление конфигурации до последней версии
  8. Запускайте 1С с правами администратора
  9. Измените код программы
  10. Регистрация в системе компоненты comcntr.dll
  11. Обмен БП 3.0 с ЗУП 3.0. Ошибка подключения к базе. Что делать?
  12. Ошибка при вызове конструктора (COMОбъект) на 32 и 64 битных системах

COMОбъект: -2147221005(0x800401F3): Недопустимая строка с указанием класса

Все же, в какой ветке реестра Windows прописывается регистрация платформы?
(36) Статью в (22) читал, но по другому поводу: Альфа-Авто обычно ведет Com-обмены с УПП/КА1. Когда поддержка КА1 кончилась, создали базу ERP/КА2, но она потребовала более высокую версию платформы. С OLE-обменом возникли проблемы: https://i.ibb.co/pdrH9Wy/COM.jpg. Меняю версию зарегистрированной платформы, тогда нормально. Даже функции написал:

Но это только для пользователей с административными правами, пришлось от них отказаться. А метод COM (не OLE) нормально работает. Нашел на http://catalog.mista.ru/public/1042208/ метод открытия объекта по ссылке в другой базе (подобно OLE), написал:

— указывает необходимость перехода по ссылке. Поддерживаются ссылки формата e1c:
Если указана внешняя ссылка — выполняется поиск запущенного клиентского приложения с той же строкой соединения, которая указана в параметре. В найденном клиентском приложении не должно быть открыто модальное или блокирующее окно. После этого выполняется попытка перехода по локальной ссылке из исходной навигационной ссылки и активизируется основное окно приложения. В случае неудачи клиентское приложение продолжает работу. Если исходная навигационная ссылка не содержит локальной ссылки (содержит только адрес информационной базы), то попытка перехода не выполняется, активируется основное окно найденного клиентского приложения.
Если подходящего клиентского приложения не найдено, строка соединения определяется из параметра командной строки /URL.
Если указана локальная ссылка — клиентское приложение запускается в общем порядке. После запуска выполнится попытка перехода по переданной локальной ссылке.
Для ссылок формата http(s) всегда запускается (или находится активный) тонкий клиент.

© ООО «1С-Софт», 1996-2019. Все права защищены.

Источник

Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса

Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.

Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».

Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).

Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.

Подготовительные действия

  • отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
  • если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.

Подходы к решению

1. Регистрация библиотеки comcntr.dll

В командной строке с правами Администратора выполните команду:

При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».

2. Переустановка платформы с внесением исправлений

Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.

3. Регистрация коннектора вручную

Регистрация приложения и коннектора вручную:

  • запускаем консоль «Службы компонентов»;
  • добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
  • выбираем «Создать» — «Приложение»;
  • в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
  • выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
  • на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».

В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:

  • в контекстном меню выбираем «Создать» — «Компонент»;
  • кликаем по первому варианту «Установка новых компонентов»;
  • в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
  • нажимаем «Далее» и «Готово».

Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:

  • открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
  • на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
  • в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
  • нажимаем «Применить» — «ОК».

Полная версия со снимками экранов — в статье на Дзен-канале.

Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.

Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11

Источник

Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП

13.01.2021 1 мин. чтения

После обновления платформы 1С при синхронизации данных может появляться сообщение об ошибке -2147221005(0x800401F3). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.

Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата3Бухгалтерия3.Отправка данных со следующим содержимом:

Причины возникновения ошибки -2147221005(0x800401F3)

Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.

Тем не менее к числу наиболее популярных причин ошибки -2147221005(0x800401F3) относятся следующие:

  • Пользователь использует устаревшую конфигурацию 1С;
  • Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо «V83.COMConnector»);
  • В системе не зарегистрирована библиотека comcntr.dll;
  • У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётной записи администратора).

Обновление конфигурации до последней версии

Вопрос обновления конфигурации 1С на примере «1С:Бухгалтерия 3.0» я рассматривал ранее. Поэтому здесь не имеет смысла описывать данный процесс.

Запускайте 1С с правами администратора

Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.

Измените код программы

В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки -2147221005(0x800401F3) является замена строки кода:

COMConnector = Новый COMObject(«V82.COMConnector»);

COMConnector = Новый COMObject(«V83.COMConnector»);

После указанной замены проблема может быть решена.

Регистрация в системе компоненты comcntr.dll

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

Для регистрации компоненты вручную необходимо выполнить в PowerShell от имени администратора следующие команды:

C:WindowsSysWOW64regsvr32 /u «c:Program Files1cv88.3.17.1851bincomcntr.dll» или C:WindowsSysWOW64regsvr32 /u «c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll»

C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.17.1851bincomcntr.dll» или C:WindowsSysWOW64regsvr32 «c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll»

«8.3.17.1851» вам необходимо заменить на вашу версию платформы 1С.

После регистрации библиотеки скорей всего синхронизация заработает.

Источник

Обмен БП 3.0 с ЗУП 3.0. Ошибка подключения к базе. Что делать?

1С:Предприятие 8.3 (8.3.5.1517)

Зарплата и управление персоналом, редакция 3.0 (3.0.22.216)

Бухгалтерия предприятия, редакция 3.0 (3.0.39.67)

Ошибка
Обмен данными.ОбменЗарплата3Бухгалтерия3.Узел БП.Получение данных

Не удалось подключится к другой программе: <ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль(1002)>: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V83.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

В чем может быть причина?

C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.5.1517bincomcntr.dll»

(3) ditp, пишет что не удалось загрузить этот модуль

делала через выполнить и через командную строку

может я чтото не то делаю?

(5) ditp, да и так пробовала- ошибка, у меня да, такой путь

(6) dj_serega, локального админа скорее всего. вряд ли полный админ

А нет, всё получилось, это я ошиблась когда в команде исправляла путь на (x86)

сейчас попробую сделать обмен

Ошибка увы, осталась. У меня сделано прямое подключение к базе. Видимо придется менять на файл 🙁

Уточняю что Сервер 64 разрядный

C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.5.1517bincomcntr.dll»

У нас похожая проблема, но вся загвоздка в том, что синхронизация данных то работает как часы, то перестаёт работать. Изначально вообще не работала, но благодаря действиям как в (16) стала работать. Но нестабильно. С чем это связано — не знаю. Для примера прикладываю два скриншота: то работает, то не работает. Последние три дня вообще не отрабатывает, поэтому обращаюсь за помощью сюда.
Исходные данные:
Платформа 8.3 (8.3.13.1644)
Зарплата и управление персоналом, редакция 3.1 (3.1.10.78)
Бухгалтерия предприятия, редакция 3.0 (3.0.70.61).
Если понадобится, прикреплю выгрузку логов. Ошибка всё время одна и та же:
Не удалось подключится к другой программе: <ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиентСервер.Модуль(356)>: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // «V83.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Какие могут быть варианты такого поведения системы?

Источник

Ошибка при вызове конструктора (COMОбъект) на 32 и 64 битных системах

На эту тему уже есть статья //infostart.ru/public/97085/, но она не раскрывает особенностей работы в ОС Windows выше XP и не затрагивает тонкости регистрации под 64 разрядной системой. Для кого-то здесь описаны очевидные вещи, а кто-то слаб в администрировании и статья пишется прежде всего на последнюю категорию.

Итак, приступим. Если у вас при работе в 1С появилась ошибка вида: «-2147221164(0x80040154): Класс не зарегистрирован» или «Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса»

тогда делаем следующее:

1) Запускаем командную строку от имени Администратора. Если в командной строке прописан путь, отличный от «c:windowssystem32», то необходимо выполнить команду «cd c:windowssystem32» для 32-х разрядных систем или «cd windowssyswow64» для 64-х(у меня 64, поэтому пришлось в примере путь изменить). В итоге корневой путь для х64 должен выглядеть как на этом скрине:

Источник

После обновления платформы 1С при синхронизации данных может появляться сообщение об ошибке -2147221005(0x800401F3). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.

Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата3Бухгалтерия3.Отправка данных со следующим содержимом:

Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса 
{ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиентСервер.Модуль(393)}:		COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // "V83.COMConnector"
{ОбщийМодуль.ОбщегоНазначения.Модуль(2830)}:	Возврат ОбщегоНазначенияСлужебныйКлиентСервер.УстановитьВнешнееСоединениеСБазой(Параметры, ПодключениеНедоступно, КраткоеОписаниеОшибки);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(12564)}:		ЗаполнитьПараметрыПодключенияВнешнегоСоединения(СтруктураНастроек));
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1185)}:        РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспорта(
{ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1164)}:	Результат = ВнешнееСоединениеДляУзлаИнформационнойБазы(УзелИнформационнойБазы);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6701)}:	ВнешнееСоединение = ОбменДаннымиПовтИсп.ПолучитьВнешнееСоединениеДляУзлаИнформационнойБазы(
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(3952)}:			ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСоединению(Отказ,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(38)}:		ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}:	Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1036)}:		ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:		ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса 
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Причины возникновения ошибки -2147221005(0x800401F3)

Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.

Тем не менее к числу наиболее популярных причин ошибки -2147221005(0x800401F3) относятся следующие:

  • Пользователь использует устаревшую конфигурацию 1С;
  • Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо «V83.COMConnector»);
  • В системе не зарегистрирована библиотека comcntr.dll;
  • У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётной записи администратора).

Обновление конфигурации до последней версии

Вопрос обновления конфигурации 1С на примере «1С:Бухгалтерия 3.0» я рассматривал ранее. Поэтому здесь не имеет смысла описывать данный процесс.

Запускайте 1С с правами администратора

Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.

Измените код программы

В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки -2147221005(0x800401F3) является замена строки кода:

COMConnector = Новый COMObject(«V82.COMConnector»);

на строку:

COMConnector = Новый COMObject(«V83.COMConnector»);

После указанной замены проблема может быть решена.

Регистрация в системе компоненты comcntr.dll

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

Для регистрации компоненты вручную необходимо выполнить в PowerShell от имени администратора следующие команды:

C:WindowsSysWOW64regsvr32 /u "c:Program Files1cv88.3.17.1851bincomcntr.dll" или C:WindowsSysWOW64regsvr32 /u "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"

Затем

C:WindowsSysWOW64regsvr32 "c:Program Files1cv88.3.17.1851bincomcntr.dll" или C:WindowsSysWOW64regsvr32 "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"

«8.3.17.1851» вам необходимо заменить на вашу версию платформы 1С.

C:WindowsSysWOW64regsvr32

После регистрации библиотеки скорей всего синхронизация заработает.

Синхронизация данных ЗУП-БП

Последние статьи:

Ошибка при вызове конструктора (COMObject) COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V82.COMConnector» по причине: -2147221164(0x80040154): Класс не зарегистрирован

Описание ошибки:
Встретил ошибку при настройке выполнении обмена между УТ 11.1 и БП 2.0 после обновления платформы до версии 8.3

Найденные решения:

Столкнулся с ошибкой после обновленя платформы до версии 1С: Предприятие 8.3.5.10.68 с версии 8.2. При этом уже был и работал односторонний обмен из конфигурации 1С: Управление торговлей, редакция 11.1, в конфигурацию 1С: Бухгалтерия предприятия, редакция 2.0. Непосредственно возникает в базе бухгалтерии при попытке выполнить обмен или проверить параметры соединения между базами:
 Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(8738)}: Ошибка при вызове конструктора (COMObject)
        COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V82.COMConnector»
по причине:
-2147221164(0x80040154): Класс не зарегистрирован
 

 После недолгих размышлений и анализа кода места возникновения ошибки было установлено, что системный администратор при установке сервера 1С: Предприятия не установил из пакета установки COM-соединение. Повторная установка c установкой COM-соединения решила проблему.

 Ошибка при вызове конструктора (COMObject) COMConnector = Новый COMObject(ИмяCOMСоединителя()); // "V82.COMConnector" по причине: -2147221164(0x80040154): Класс не зарегистрирован

При этом отмечено, что при настройке параметров соединения между базами при непосредственном подключении ко второй базе уже в версиях Управление торговлей 11.1.7.60 и Бухгалтерия предприятия 2.0.64.2 не указывается версия платформы, как это было раньше (не могу сказать, с каких релизов произошло это изменение, точнее отказ от части функционала), т.е. если проанализировать коду то считается, что по умолчанию обе базы должны работать на одной и той же версии платформы.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

27-09-2014

Журавлев А.С.
(Сайт www.azhur-c.ru)

Содержание:

1. Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?

2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?

3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом    

1.      Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?

Когда ты начинающий специалист 1С, то иногда приходится чувствовать себя шаманом с бубном, так как не знаешь причин ошибки и как её исправить тоже.

Сегодня мы разберем одну из ошибок, которые появляются при работе с базой, а именно ошибку при вызове конструктора (COM-объект 1С).

Ситуацию такую, мы можем наблюдать при загрузке с Excel при использовании (COM-объекта 1С), при обмене между базами. Ситуаций, когда возникает данное сообщение с возникшей проблемой довольно много при работе с программой.

Как правило, данная ошибка возникает из-за того, что при установке платформы1С не произошла автоматическая регистрация 64-х разрядной компоненты, которая отвечает за использование COM-соединения 1С 8.3. А почему это произошло, спросите? Все очень просто и в то же время сложно, если не знаешь, в чем все ядро проблемы. А причина в том, что те, у кого выдаются такие ошибки, используют 32(86) – разрядную операционную систему и ставят вместо платформы необходимой разрядности их системы, платформу 1С предназначенную для совсем другой системы.   

2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?

Исправить данную ошибку, довольно легко. Для этого необходимо всего лишь зарегистрировать библиотеку dll в реестре при помощи командной строки или программы PowerShell, в зависимости от того, что любите использовать, и команды regsvr32.

Для того чтобы выполнить команду, достаточно будет в строке написать такой текст команды «regsvr32 «C:Program Files1cv88.3.ХХ.ХХХХbincomcntr.dll»». Вместо «ХХ.ХХХХ» необходимо указать необходимый релиз платформы, библиотеку которой, необходимо зарегистрировать в реестре системы.

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

Администратор: Командная строка   

3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом

Также есть некоторые особенности команды, которая регистрирует компоненты.

На данный момент я знаю только 4 параметра (которые при написании строки кода указываются перед регистрируемым dll-файлом):

·        /u — параметр, отменяет регистрацию

·        /i — параметр, который позволяет при необходимости, в зависимости от библиотеки.

·        /n —параметр используется только для установки компоненты 1С, в основном пишется вместе с предыдущим (/I);

·        /s – возможность отключить все сообщения при регистрации;

Существует, также, один немаловажный момент, что в зависимости от версии командной строки, иногда приходится прописывать путь к самой утилите.

Кстати, существуют специальные программы-инструменты, которые помогают регистрировать компоненты, без знания команд и утилит администрирования, зарегистрировать библиотеку и продолжить работать дальше.

Таких программ достаточно много и писать, какое-то одно название смысла нет.

Для того чтобы быстро и качественно решать такие проблемы, необходимо изучать разнообразные статьи, для повышения уровня знаний и квалификации.

Специалист компании «Кодерлайн»

Олег Мороз

Устранение ошибки при подключении к базе данных 1С через COM-соединение

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): «Класс не зарегистрирован» или «Недопустимая строка с указанием класса». Причем стандартная регистрация компоненты comcntr.dll из папки bin установленной платформы так же не помогает и «ругается» на то что точка входа в систему не определена.

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): «Класс не зарегистрирован» или «Недопустимая строка с указанием класса». Причем стандартная регистрация компоненты comcntr.dll из папки bin установленной платформы так же не помогает и «ругается» на то что точка входа в систему не определена.

Все эти ошибки несут в себе смысл того, что класс V8ххх.COMConnector (где ххх -2-ая или 3-я редакция платформы 1С v 8) не зарегистрирован в системе. Для устранения этой ошибки следует зарегистрировать указанный компонент, причем лучше всего это произвести с помощью службы компонентов операционной системы Windows .

Порядок регистрации компонента V8ххх.COMConnector.

1. Заходим в Панель управления → Администрирование → Службы компонентов.

2. Переходим к ветке Компьютеры → Мой компьютер → Приложения COM+.

3. В контекстном меню выбираем Создать → Приложение . Откроется Мастер установки приложений COM+.

3. В контекстном меню выбираем Создать → Приложение. Откроется Мастер установки приложений COM+.


5. Выбираем «Создать новое приложение».

6. Вводим имя «V82COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».

7. На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».

8. Нажимаем «Готово».

9. В появившейся ветке «V8хххCOMConnector» переходим к подчиненный каталог « Компоненты ».

10. В контекстном меню выбираем Создать → Компонент . Откроется Мастер установки компонентов COM+.

11. Нажимаем « Далее »

1 2. Выбираем « Установка новых компонентов».


15. Переходим к ветке V8хххCOMConnector.

16. В контекстном меню выбираем « Свойства ». В открывшемся окне переходим на вкладку « Безопасность ».

17. Снимаем галку « Принудительная проверка доступа для приложений ». Ставим галку « Применить политику программных ограничений ». Устанавливаем Уровень ограничений — « Неограниченный ».

Класс V8ххх.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

Источник

V83.COMConnector.1 не может соединиться с базой

На одном физическом сервере размещено:
1. Windows Server 2016 Standard
2. Терминальный сервер
3. MS SQL Server 2016 Standard
4. 1C Сервер x64 8.3.9.2170
5. База БГУ 8 в клиент-серверном режиме
6. База ЗиК в файловом режиме
Пользователи работают через терминал.
Имеется обработка для выгрузки проводок из 7.7 к БГУ 8 с помощью V83.COMConnector.1
В терминале запускаю 1с 7.7 ЗиК открываю обработку выгрузки проводок в БГУ 8. При нажатии на кнопку Выгрузить появляется сообщение об ошибке:
1. V83.COMConnector.1: Ошибка при выполнении операции с информационной базой server_addr=srv1 cdescr=11001(0x00002AF9): Этот хост неизвестен. line=1048 file=srcDataExchangeCommon.cpp (Это если в строке подключения к базе прописано имя сервера)
либо ошибка:
2. V83.COMConnector.1: Ошибка при выполнении операции с информационной базой Ошибка определения принадлежности клиентского и серверного процессов одному компьютеру (Это если в строке подключения к базе прописан IP-адрес сервера)
Причём:
1. если 1с 7.7 установлена другом компьютере в сети, то подключение к этому серверу БГУ 8 производится успешно и данные выгружаются.
2. если базу БГУ 8 развернуть в файловом варианте на этом же сервер и подключаться и выгружать данные также в терминальной сессии, то также всё успешно подключается и выгружается.

Пробовал:
1. прописать в hosts IPадрес ИмяПК с перезагрузкой, не помогло
2. отключение IPv6 с последующей перезагрузкой, не помогло
3. прописывал в строке подключения localhost и 127.0.0.1, появляются те же самые ошибки

в терминале пингую сервер по имени возвращается адрес IPv4.

Получается, что с обработкой всё в порядке, строка подключения корректная.

В чём может быть проблема? Как провести диагностику в данном случае?

Источник

Устранение ошибки при подключении к базе данных 1С через COM-соединение

Платформа:

Комментарии

Дмитрий (не проверено)

пт, 16/01/2015 — 17:08

Спасибо, очень ценный материал, помогло!

Сергей_H (не проверено)

пт, 23/01/2015 — 05:54

Очень полезная статья, помогло.

Сергей Иванович (не проверено)

чт, 02/07/2015 — 08:53

Большое спасибо за подробную инструкцию — ошибку удалось исправить благодаря Вам.

Ирина5529 (не проверено)

чт, 03/09/2015 — 15:28

Спасибо! Очень пригодилась статья — ошибка исправлена!

VictorD (не проверено)

пт, 02/10/2015 — 09:19

Отличный материал. Спасибо.

Pasha (не проверено)

вс, 11/10/2015 — 23:29

Очень помогло, ошибка появилась после перехода на 64х сервер 1С 8.3.

А обычная регистрация regsvr32 не дала результата.

babys (не проверено)

пт, 16/10/2015 — 11:36

Все гораздо проще :)

regsvr32 «путь к каталогу с версией»bincomcntr.dll

Евсенкин Максим (не проверено)

ср, 21/10/2015 — 11:21

Юлия (не проверено)

чт, 24/12/2015 — 12:19

Спсибо, очень помогло

Вячеслав (не проверено)

пн, 11/04/2016 — 14:45

Спасибо! Избавился от проблемы.

Ольга Кугаевская (не проверено)

чт, 19/05/2016 — 17:46

Спасибо огромное. Всё доступно и понятно. Главное даже на 10 винде сработало)

Размик (не проверено)

сб, 09/07/2016 — 14:31

Ma3au (не проверено)

пт, 23/12/2016 — 09:28

Огромяк спасибяк! Пригодилось!

Игорь (не проверено)

пн, 09/01/2017 — 17:03

Автор данной статьи очень грамотрно все расписал спасибо тебе а то целый день мучался не как не мог разобраться в чем причина статья ваша очень помогла +10!

Ксения (не проверено)

чт, 09/02/2017 — 14:55

Огромное спасибо. Я в этих всех компьютерных примочках полный профан, но все понятно и доступно, и, главное, пошагово и со скриншотами! Автор статьи большой молодец!

Оразбек (не проверено)

вс, 05/11/2017 — 16:02

Спасибо! Отлично все расписано. Очень помогло.

DirHarvest (не проверено)

ср, 20/12/2017 — 14:41

Спасибо тебе, добрый человек! Поклон до земли! Вышла эта ошибка после обновления платформы 8.3 — все перерыл. И спасло только вот это. Здоровья, удачи и всего самого хорошего! С Наступающим Новым годом :) Еще раз спасибо!

Источник

Обмен БП 3.0 с ЗУП 3.0. Ошибка подключения к базе. Что делать?

1С:Предприятие 8.3 (8.3.5.1517)

Зарплата и управление персоналом, редакция 3.0 (3.0.22.216)

Бухгалтерия предприятия, редакция 3.0 (3.0.39.67)

Ошибка
Обмен данными.ОбменЗарплата3Бухгалтерия3.Узел БП.Получение данных

Не удалось подключится к другой программе: <ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль(1002)>: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V83.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

В чем может быть причина?

C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.5.1517bincomcntr.dll»

(3) ditp, пишет что не удалось загрузить этот модуль

делала через выполнить и через командную строку

может я чтото не то делаю?

(5) ditp, да и так пробовала- ошибка, у меня да, такой путь

(6) dj_serega, локального админа скорее всего. вряд ли полный админ

А нет, всё получилось, это я ошиблась когда в команде исправляла путь на (x86)

сейчас попробую сделать обмен

Ошибка увы, осталась. У меня сделано прямое подключение к базе. Видимо придется менять на файл :(

Уточняю что Сервер 64 разрядный

C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.5.1517bincomcntr.dll»

У нас похожая проблема, но вся загвоздка в том, что синхронизация данных то работает как часы, то перестаёт работать. Изначально вообще не работала, но благодаря действиям как в (16) стала работать. Но нестабильно. С чем это связано — не знаю. Для примера прикладываю два скриншота: то работает, то не работает. Последние три дня вообще не отрабатывает, поэтому обращаюсь за помощью сюда.
Исходные данные:
Платформа 8.3 (8.3.13.1644)
Зарплата и управление персоналом, редакция 3.1 (3.1.10.78)
Бухгалтерия предприятия, редакция 3.0 (3.0.70.61).
Если понадобится, прикреплю выгрузку логов. Ошибка всё время одна и та же:
Не удалось подключится к другой программе: <ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиентСервер.Модуль(356)>: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // «V83.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Какие могут быть варианты такого поведения системы?

Источник

Устранение ошибки при подключении к базе данных 1С через COM-соединение

Платформа:

Комментарии

Дмитрий (не проверено)

пт, 16/01/2015 — 17:08

Спасибо, очень ценный материал, помогло!

Сергей_H (не проверено)

пт, 23/01/2015 — 05:54

Очень полезная статья, помогло.

Сергей Иванович (не проверено)

чт, 02/07/2015 — 08:53

Большое спасибо за подробную инструкцию — ошибку удалось исправить благодаря Вам.

Ирина5529 (не проверено)

чт, 03/09/2015 — 15:28

Спасибо! Очень пригодилась статья — ошибка исправлена!

VictorD (не проверено)

пт, 02/10/2015 — 09:19

Отличный материал. Спасибо.

Pasha (не проверено)

вс, 11/10/2015 — 23:29

Очень помогло, ошибка появилась после перехода на 64х сервер 1С 8.3.

А обычная регистрация regsvr32 не дала результата.

babys (не проверено)

пт, 16/10/2015 — 11:36

Все гораздо проще :)

regsvr32 «путь к каталогу с версией»bincomcntr.dll

Евсенкин Максим (не проверено)

ср, 21/10/2015 — 11:21

Юлия (не проверено)

чт, 24/12/2015 — 12:19

Спсибо, очень помогло

Вячеслав (не проверено)

пн, 11/04/2016 — 14:45

Спасибо! Избавился от проблемы.

Ольга Кугаевская (не проверено)

чт, 19/05/2016 — 17:46

Спасибо огромное. Всё доступно и понятно. Главное даже на 10 винде сработало)

Размик (не проверено)

сб, 09/07/2016 — 14:31

Ma3au (не проверено)

пт, 23/12/2016 — 09:28

Огромяк спасибяк! Пригодилось!

Игорь (не проверено)

пн, 09/01/2017 — 17:03

Автор данной статьи очень грамотрно все расписал спасибо тебе а то целый день мучался не как не мог разобраться в чем причина статья ваша очень помогла +10!

Ксения (не проверено)

чт, 09/02/2017 — 14:55

Огромное спасибо. Я в этих всех компьютерных примочках полный профан, но все понятно и доступно, и, главное, пошагово и со скриншотами! Автор статьи большой молодец!

Оразбек (не проверено)

вс, 05/11/2017 — 16:02

Спасибо! Отлично все расписано. Очень помогло.

DirHarvest (не проверено)

ср, 20/12/2017 — 14:41

Спасибо тебе, добрый человек! Поклон до земли! Вышла эта ошибка после обновления платформы 8.3 — все перерыл. И спасло только вот это. Здоровья, удачи и всего самого хорошего! С Наступающим Новым годом :) Еще раз спасибо!

Источник

Понравилась статья? Поделить с друзьями:
  • Не удалось подключить переадресацию код ошибки forwarding set error
  • Не удалось отправить смс на 900 ошибка 28
  • Не удалось подключить disk4s1 com apple diskmanagement disenter ошибка 119930868
  • Не удалось отправить смс мтс ошибка 500
  • Не удалось подключить disk2s2 com apple diskmanagement disenter ошибка 119930868