04.02.19 — 11:33
Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(9319)}: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V82.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
править на терминальнике V83COMConnector, или на сервере где 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С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.
Содержание
- COMОбъект: -2147221005(0x800401F3): Недопустимая строка с указанием класса
- Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
- Подготовительные действия
- Подходы к решению
- Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП
- Причины возникновения ошибки -2147221005(0x800401F3)
- Обновление конфигурации до последней версии
- Запускайте 1С с правами администратора
- Измените код программы
- Регистрация в системе компоненты comcntr.dll
- Обмен БП 3.0 с ЗУП 3.0. Ошибка подключения к базе. Что делать?
- Ошибка при вызове конструктора (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)
Данная ошибка относится к регулярно встречающимся ошибкам 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С.
После регистрации библиотеки скорей всего синхронизация заработает.
Последние статьи:
Ошибка при вызове конструктора (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-соединения решила проблему.
При этом отмечено, что при настройке параметров соединения между базами при непосредственном подключении ко второй базе уже в версиях Управление торговлей 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 не зарегистрирован в системе. Для устранения этой ошибки следует зарегистрировать указанный компонент, причем лучше всего это произвести с помощью службы компонентов операционной системы 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 — все перерыл. И спасло только вот это. Здоровья, удачи и всего самого хорошего! С Наступающим Новым годом Еще раз спасибо!
Источник
Привет, уважаемые гуру!
я начинающий 1с-ник. Столкнулся с проблемой. Заменил комп на новый и перестал работать код:
V83 = Новый COMОбъект(«V83.Application»);
connection = Истина;
ДанныеДляПокдлючения = «File=»»» +
СокрЛП(«C:8.3.12.1412test01») + //ПутьКбазе
«»»;Usr=»»» +
СокрЛП(«user_wo_ws») + //Логин
«»»;Pwd = «»» +
СокрЛП(«1111») + «»»;»; //Пароль
Попытка
connection = V83.Connect(ДанныеДляПокдлючения);
Исключение
//Сообщить(ОписаниеОшибки());
ТекстОшибки = ОписаниеОшибки();
connection = Ложь;
#Если Клиент Тогда
Сообщить(«ОШИБКА ПОДКЛЮЧЕНИЯ: » + ТекстОшибки);
#КонецЕсли
КонецПопытки;
Ошибка: «Ошибка при вызове метода контекста (Connect): Неизвестная ошибка»
База серверная. Платформа 8.3.12.1790
При этом на старом ПК всё работает, на новом нет.
Заметил, что на старом ПК в НАСТРОЙКА DCOM есть «1CV83 Application», а на новом компе нет.
Регистрация библиотеки comcntr.dll эффекта не даёт. Переустановка платформы на клиентском ПК тоже не помогает.
Подскажите, куда копать?
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Способ №1.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Способ №2.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll»).
2.Для платформы х64
Regsvr32 «C:Program Files1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыbincomcntr.dll»).
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Содержание
- Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
- Заполнение внешней таблицы
- Выборка данных и запись
- Использование хранимых процедур
- Новые записи:
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83′». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Способ №1.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Способ №2.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
2.Для платформы х64
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Пришлось недавно ближе поработать с объектами ADODB. Давно этого не делал, так что пришлось снова смотреть в старый код, а что-то и в интернете поискать. Решил скомпоновать базу здесь, в блоге — для дальнейшего возвращения.
Работа с ADODB производится через несколько объектов:
ADODB.Connection — Объект производит подключение к источнику данных, а так же трансляцию команд и наборов данных
ADODB.RecordSet — Объект предоставляющий механизмы работы с набором данных, такие как получение, модификация, удаление или добавление данных.
ADODB.Command — Объект, так же предоставляющий механизмы работы с наборами данных, но, в отличие от RecordSet, не возвращает данные на клиента.
ADODB.Connection
Перед тем как начать работать с данными из внешнего источника необходимо установить с ним связь, для этого вызывается функция Open объекта Connection, в единственный параметр этой функции передается строка ConnectionString с описанием параметров подключения.
Попытка ADOСоединение = Новый COMОбъект(«ADODB.Connection»); ADOСоединение.Open(«Provider=SQLOLEDB.1; |Persist Security Info=False; |User ID=»+Пользователь+»; |Password=»+ Пароль+»; |Initial Catalog=»+ База+»; |Data Source=»+ Сервер); Возврат ADOСоединение; Исключение КонецПопытки;
Provider — Имя драйвера источника данных (к примеру SQLOLEDB.1 для MS SQL server)
Persist Security Info — необходимость использования шифрованого канала
User ID — Имя пользователя внешнего источника
Password — Пароль пользователя
Initial Catalog — Имя базы внешного источника
Data Source — Имя сервера
ADODB.RecordSet
Открытие набора данных для всей таблицы. Этот вариант хорош тем, что есть возможность указания дополнительных параметров набора данных.
RecordSet.Open(Источник, Соединение, ТипКурсора, ТипБлокировки, Параметры)
В приведенном ниже примере набор данных открывается с параметрами
Источник — «IMPORT_PRODUCTS»
Соединение — мADOСоединение
ТипКурсора — «0» (adOpenForwardOnly)
ТипБлокировки — «2» (adLockPessimistic)
Параметры — «2» (adCmdTable)
ADOНаборДанныхТовары = Новый COMОбъект(«ADODB.RecordSet»); ADOНаборДанныхТовары.Open(«IMPORT_PRODUCTS», мADOСоединение, 0, 2, 2);
Открытие набора данных по запросу (использование дополнительных параметров вызывает исключения)
ТекстЗапросаТоваров = «SELECT * | FROM | where in (SELECT FROM where (( = ») |or ( = ‘NULL’) or( = ‘1’)))»; ADOНаборДанныхТовары = Новый COMОбъект(«ADODB.RecordSet»); ADOНаборДанныхТовары .Open(ТекстЗапросаТоваров, мADOСоединение);
Заполнение внешней таблицы
При необходимости очистить таблицу внешнего источника данных, и загрузить туда обновленные данные.
Подключаемся к внешней базе
Попытка СтрокаСоединения = «Provider=SQLOLEDB.1; |Persist Security Info=False; |User ID=»+Пользователь+»; |Password=»+ Пароль+»; |Initial Catalog=»+ База+»; |Data Source=»+ Сервер); Connection = Новый COMОбъект(«ADODB.Connection»); Connection.Open(СтрокаСоединения); Исключение Возврат; КонецПопытки; С помощью объекта ADODB.Command выполняем запрос по удалению данных из таблицы по определенному условию. При этом, в CommandText прописываем сам запрос, и важно указать CommandType равным 1.
Command = Новый COMОбъект(«ADODB.Command»); Command.CommandTimeout = 100; Command.CommandText = «DELETE FROM .. WHERE PERIOD_ID = Convert(datetime,’»+Лев(Строка(ДатаНач),10)+»‘,103)»; Command.CommandType = 1; Command.ActiveConnection = Connection; Command.Execute();
Устанавливаем новый запрос, который запишет в таблицу отобранные данные, и выполняем его.
// Выборка данных за прошлый месяц Выборка = Запрос.Выполнить.Выбрать(); Пока Выборка.Следующий() Цикл Command.CommandText = «INSERT INTO ..(PERIOD_ID, CO_ID, ART_ID, S ) VALUES (» + » Convert(datetime,’»+Лев(Строка(ДатаНач),10)+»‘,103)» + «,NULL» + «,»+Формат(Выборка.Код, «ЧГ=») + «,»+Строка(?(Сумма = 0,»0″,Формат(Сумма,»ЧРД=.; ЧГ=; ЧО=»))) +»)»; Попытка Command.Execute(); Исключение Сообщить(«Ошибка записи данных в базу: «+ОписаниеОшибки()); КонецПопытки; КонецЦикла;
Выборка данных и запись
Вариант ситуации, когда необходимо выполнить выборку данных, и записать результат для дальнейшей обработки. (Не забываем создавать объект Connection)
В данном случае используется объект ADODB.Recordset, который позволяет получить набор записей.
CommandText = «select g_id, saledate, sqty, scost from dbo.»+НастройкиADODB.dbo+»(‘»+Формат(НачПериода,»ДФ=yyyyMMdd»)+»‘,’»+Формат(КонПериода,»ДФ=yyyyMMdd»)+»‘) where g_id in («+СтрокаКодовТМЦ+»)»; Попытка rsRES = NEW COMObject(«ADODB.Recordset»); rsRES.Open(CommandText, Connection); Исключение Connection.Close(); Возврат; КонецПопытки Пока не rsRES.eof() Цикл НоваяЗапись = НаборЗаписей.Добавить(); Для х = 0 по 3 Цикл НоваяЗапись = rsRES.Fields(х).Value; КонецЦикла; rsRES.MoveNext(); КонецЦикла; НаборЗаписей.Записать(Истина); rsRES.Close(); Connection.Close();
Кстати, советую пользоваться функцией EOF вместо RecordCount, так как последняя очень не надежна, неопределенная во времени выполнения и может привести к «залипанию» процесса — подробнее можно почитать на форумах.
Использование хранимых процедур
Хранимые процедуры можно вызвать просот из запроса, вписав в начале текста слово «exec», либо указав соответствующий CommandType и название хранимой процедуры в CommandText.
Command = Новый COMОбъект(«ADODB.Command»); Command.CommandTimeout = 100; Command.ActiveConnection = Connection; Command.CommandText = «add_image»; Command.CommandType = 4; Создаем параметр посредством объекта Parameter (на перевес этому можно воспользоваться методом CreateParameter), и добавляем его методом Append в наше подключение.
Парам = Новый COMОбъект(«ADODB.Parameter»); Парам.Name = «@code»; Парам.Direction = 1; //1 — adParamInput Парам.Type = 201; // Парам.Size = 255; Парам.Value = ВнутреннийКод; Command.Parameters.Append(Парам);
Переводим файл, который хотим передать в двоичный поток, создаем и добавляем параметр
Поток = Новый COMОбъект(«ADODB.Stream»); Поток.Type = 1; //StreamTypeEnum.adTypeBinary = 1 StreamTypeEnum.adTypeText = 2 Поток.Open(); Поток.LoadFromFile(ПолноеИмяФайла); локПотокБайт = Новый ComSafeArray(Поток.Read()); Парам = Новый COMОбъект(«ADODB.Parameter»); Парам.Name = «@file_data»; Парам.Direction = 1; //1 — adParamInput Парам.Type = 205; //205 — adLongVarBinary Парам.Size = локПотокБайт.GetLength(); Парам.Value = локПотокБайт; Command.Parameters.Append(Парам); Command.Execute();
-
21.02.2018, 12:02
#1
Гость форума
Проблема при синхронизации, помогите
При попытке синхронизации БП и ЗУП 8.3 выходит ошибка:
Не удалось подключиться к другой программе: {ОбщийМодуль.ОбщегоНазначе нияКлиентСервер.Модуль(1166)} : Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединен� �я);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.8.1861) отличается от версии корневого модуля ‘core83’ (8.3.10.2466)Помогите, пожалуйста, разобраться
-
21.02.2018, 12:06
#2
Гость форума
Re: Проблема при синхронизации, помогите
Не удалось подключиться к другой программе: {ОбщийМодуль.ОбщегоНазначе нияКлиентСервер.Модуль(1166)} : Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединен� �я);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.8.1861) отличается от версии корневого модуля ‘core83’ (8.3.10.2466)
-
21.02.2018, 12:07
#3
Гость форума
Re: Проблема при синхронизации, помогите
Не удалось подключиться к другой программе: {ОбщийМодуль.ОбщегоНазначе нияКлиентСервер.Модуль(1166)} : Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединен� �я);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.8.1861) отличается от версии корневого модуля ‘core83’ (8.3.10.2466)
Идея интересная, но у меня имеет место быть проблема. Если создавать COM-объекты разных версий с некоторой паузой между этим созданиями, то всё хорошо, вроде бы.
А, вот, если эту паузу не выдерживать — то возможно возникновение двух ошибок (я так и не смог понять причины и следствия когда какая ошибка возникает, скорее всего сначала первая, а при повторной попытке уже вторая)
Запускалось всё под клиентом одной или второй версии (пробовал и так и так) — файловый вариант.
Основной COM-объект был версии 8.3.10.2252, но даже если к нему обращаться как к «v83.COMConnector» то это ничего не меняло
Последовательность создания COM-объектов не влияет, но если получить первую ошибку, переставить их местами — возникает вторая ошибка
Версия клиента 1С: Предприятие так же не влияет.
Запуск в новом сеансе 1С проблему не решает.
Выполняю такой алгоритм:
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
Возникает первая ошибка:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent(«srv2»);
по причине:
Неизвестная ошибка
При повторном запуске она повторяется
Переставляем местами создание COM-Объектов
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
И возникает вторая ошибка:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(12)}: Ошибка при вызове конструктора (COMОбъект)
ком = новый COMОбъект(«V83.COMConnector_8.3.10.2252»);
по причине:
-2147024769(0x8007007F): Не найдена указанная процедура.
При повторном запуске она повторяется
Далее — если снова переставить обратно — ошибка будет повторяться
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(10)}: Ошибка при вызове конструктора (COMОбъект)
ком = новый COMОбъект(«V83.COMConnector_8.3.10.2252»);
по причине:
-2147024769(0x8007007F): Не найдена указанная процедура. [
Спустя минут 15-20 всё проходит — и начинается с начала (с учётом переставленных вызовов создания COM-объектов):
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent(«srv1»);
по причине:
Неизвестная ошибка
Значит COM-объект где-то кешируется (платформой 1С? — мало вероятно — т.к. перезапуск клиента ничего не решает) и при попытке создать повторно (пусть и, в общем-то, другой COM-Объект) идёт обращение к старому и происходит какой-то конфликт версий.
Увы, это почти ставит крест на данной методике. Но, если одновременная (читай последовательная но в одно и то же время в пределах 20 минут) работа не требуется — описанный в статье метод будет работать.
Но, лично мне нужна была одновременная работа
Надо попробовать выполнить те же обращения, но не из 1С — если проблемы не будет, то значит это 1С кеширует (и это можно обойти — но логику работы с COM-объектом придётся выносить за пределы 1С), а если будет…. то нужно что инове придумывать!
Попробовал так же с компонентами редакции 8.2:
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
В общем-то такая же ситуация, но ошибка всегда на ВТОРОЙ по счёту компоненте (не важно какой она версии!!!) и всегда такая:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(42)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent("srv4);
по причине:
Неизвестная ошибка
При этом если создавать и использовать их отдельно (посадил на разные кнопки)
То ситуация такая
1. Любую создаю — всё нормально
2. Создаю вторую — возникает ошибка
3. Создаю первую — ошибки нет
4. Создаю вторую — ошибка
5. Повторно создаю вторую — ошибки нет
6. Снова создаю вторую — ошибки нет
7. Создаю первую — ошибка
8. Создаю первую — ошибки нет
9. Создаю вторую — ошибка
10. Создаю вторую — ошибки нети
То есть первый раз создаётся нормально и если сразу создавать другой версии — будет ошибка — но при повторном создании — ошибки не будет — но она снова будет у первой, что при повторном создании так же ошибки не будет
Поэтому с v82 я написал вот так — и в общем-то оно работает
попытка
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
исключение
сообщить("v82.COMConnector_8.2.19.80: "+ОписаниеОшибки());
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
конецпопытки;
попытка
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
исключение
сообщить("v82.COMConnector_8.2.19.68: "+ОписаниеОшибки());
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
конецпопытки;
Показать
Значит компонента 8.2 не кэшируется, в отличии от 8.3
Попытка же написать так же для 8.3
попытка
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
исключение
сообщить("V83.COMConnector_8.3.10.2252: "+ОписаниеОшибки());
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
конецпопытки;
попытка
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
исключение
сообщить("v83.COMConnector_8.3.8.2054: "+ОписаниеОшибки());
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
конецпопытки;
Показать
первый раз отработало, но повторный запуск привёл к ошибке
V83.COMConnector_8.3.10.2252:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(38)}: Ошибка при вызове конструктора (COMОбъект): -2147024769(0x8007007F): Не найдена указанная процедура.
это самая первая строка в первой попытке — и эта ошибка дальше стабильно повторялась
Попробовал работать параллельно с компонентами V82 и v82
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
Никаких ошибок не возникает!
Так что — как 1С (или windows) это всё обрабатывают, что возникает такой винегрет из разных ситуаций — непонятно….
Надо ещё разбираться и экспериментировать
Возможно эти проблемы чисто связаны с моей конфигурацией ОС — использую windows 8
А может дело в используемых релизах 1С: Предприятие, клиента и компонент (хотя на клиенте 8.2.19.80 я тоже попробовал — всё то же самое)
Может, у меня просто компоненты как-то неправильно установлены или какие-то заморочки с настройками COM+
Я, например, не нашёл типовых компонент в разделе COM+ как на картинках автора
Хорошо бы кто-то ещё это всё проверил бы на своих конфигурациях платформ и компонент
1C 8 Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Описание ошибки:
В ранее работавшем обмене из базы УТ в БП при выполнении выгрзки стала возникать ошибка:
Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(9234)}: Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединения);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Найденные решения:
Нажатие на изображении увеличит его
Рис. 1. Пример возникновения ошибки при работе обмена между базами 1С УТ 10.3 и БП 3.0
Так же перестал работать настроенный и работавший ранее односторонний обмен из базы конфигурации 1С: Зарплата и управление персоналом, ред. 3.0 в 1С: Бухгалтерия предприятия, ред. 3.0. В журнале регистрации ошибок обмена так же содержалась похожая формулировку от исходной ошибки:
Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия
Нажатие на изображении увеличит его
Рис. 2. Пример ошибки при работе выгрузки данных из базы 1С ЗУП 3.0 в БП 3.0
Итак, попробуем разобраться, в чем причина, почему возникает ошибка, проблема «Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия» и как ее исправить?
В тексте ошибки явно находим подсказку на то, что нужно в первую очередь проверить права пользователя в базе, к которой происходит подключение для обмена справочниками и документами в рамках настроенной выгрузки. Формулировка «Внешнее соединение не разрешено для указанного пользователя» указывает, что дело в первую очередь в пользователе «Обмен», как видно на Рис.1. Удивительным было то, что ранее у пользователя, под которым выполнялось com-подключение к базе-приемнику, все было настроено для работы обмена и работало продолжительное время.
Поэтому в базе Бухгалтерия переходим в раздел «Администрирование» — ссылка списка настроек «Настройки пользователей и прав» — ссылка «Пользователи».
Нажатие на изображении увеличит его
Рис. 3. Переход к списку пользователей в базе конфигурации 1С: Бухгалтерия 3.0
Откроется форма списка пользователей базы. Находим в списке пользователя «Обмен» — в Вашем случае это будет пользователь, под которым выполняется выгрузка, если используется прямое подключение к базе. Нажимаем на надпись-ссылку «Права доступа».
Нажатие на изображении увеличит его
Рис. 4. Вид формы настроек пользователя базы 1С: Бухгалтерия предприятия, редакция 3.0
Как оказалось, в моем случае, ошибка «Не удалось подключиться к другой программе: Произошла исключительная ситуация (V83.COMConnector.1): Внешнее соединение не разрешено для указанного пользователя 1С:Предприятия по причине» возникла с некоторого времени из-за того, что у пользователя отключены все права доступа в списке «Профили пользователя». Разбираться — почему так было бы долго. Это мог быть кто-нибудь из пользователей базы, или что крайне маловероятно, но все-таки возможно — результат обновления базы (крайне редко, но удивительные веди после обновлений могут возникать). В общем проще было установить снова права пользователю. Для возможности выполнения обмена в принципе достаточно профиля «Администратор», но, на всякий случай рекомендуется еще и установить профиль «Синхронизация данных с другими программами».
Нажатие на изображении увеличит его
Рис. 5. Состав прав доступа пользователя для возможности выполнения синхронизации (обмена данных)
После проделанных операций работоспособность синхронизации между базами 1С 8 была восстановлена.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
20-07-2022
Журавлев А.С.
(Сайт www.azhur-c.ru)
Ошибки обмена, выгрузки из 1С: Управление торговлей 10.3 в 1С: Бухгалтерия предприятия 3.0
Описание ошибки:
Обмен перестал работать после обновления платформы до релиза 8.3.6.2421. Ошибка — индикатор проблемы в обмене: Обработка: ТранспортСообщенийОбменаFILE: В каталоге обмена информацией не был обнаружен файл сообщения с данными.
Найденные решения:
Решение проблемы оказалось достаточно тривиальным. Но понимаю сути проблемы мешало недавнее обновление платформы 1С:Предприятие с релиза 8.3.6.2332 на релиз 8.3.6.2421 в сочетании с тем, что в настройке обмена была упразднена настройка обмена через каталог обмена и был оставлен вариант подключения только через «Прямое подключение».
А получилась на самом деле какая ситуация. От нового релиза платформы не было установлено новая подверсия com-соединения. Поэтому при выполнении обмена, т.к. не получалось осуществить выгрузку через прямое подключение к базе, обмен как бы «цеплялся» за «остатки» ранее настроенного обмена через каталог, от настроек которого в общем то ничего не осталось. Точно стало понятно, когда было решено проверить настройку подключения в настройке обмена.
Ошибка: «Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(4076)}: Ошибка при вызове метода контекста (Connect)
Результат.Соединение = COMConnector.Connect(СтрокаСоединения);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.6.2332) отличается от версии корневого модуля ‘core83’ (8.3.6.2421)»
говорила сама за себя.
И вот тут то пришел момент истины — необходимо было обновить com-компоненту именно от новой версии платформы 1С: Предприятие 8.3. Что и было сделано:
Но сразу компонента не захотела работать, при проверке соединения возникала ошибка снова:
В настройке обмена после неудачной попытки проверки появилась кнопка «Исправить ошибки установки внешнего соединения», нажатие по кнопке и согласие с перезагрузкой решило проблему окончательно. Только вот перезагрузку пришлось после нажатия на кнопку «Да» выполнить вручную, т.к. автоматически это не произошло, а казалось должно было по формулировке окна-предупреждения. Но проблема оказалась решена.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
11-12-2015
Журавлев А.С.
(www.azhur-c.ru)
regsvr32 «D:Program Files (x86)1cv88.3.16.1224bincomcntr.dll»
regsvr32 «D:Program Files (x86)1cv88.3.9.2033bincomcntr.dll»
regsvr32 «D:Program Files1cv88.3.17.1386bincomcntr.dll»
regsvr32 «D:Program Files1cv88.3.16.1224bincomcntr.dll»
Все эти команды не нужны если реестр почищен и 1с установлена правильно.
В правильно входит и то, что если используется сервер Виндовс, то нужно ставить его из специального, серверного (а не общего) дистрибутива. В нем есть отдельный компонент- COM-соединение
ВАЖНО!
В случае возникновения ошибки COMConnector «курильщика»
не обязательно
сразу чистить реестр. В начале следует попробовать Удалить регистрацию библиотеки comcntr.dll
Удаление регистрации библиотеки comcntr.dll
regsvr32 «C:Program Files (x86)1cv88.3.18.1334bincomcntr.dll» /u
Если после ошибки несоответствия и удачной регистрации новой версии компоненты, COM обмен не работает, НЕ СПЕШИМ УДАЛЯТЬ СТАРЫЕ ВЕРСИИ 1С!
В начале удалим регистрацию предыдущей версии, затем нынешней (она ведь не принесла результатов).
Затем снова регистрируем новую.
Ошибка COMConnector «курильщика»
Ошибка при установке подключения ко второй информационной базе:
Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(8969)}: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V82.COMConnector»
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
Ошибка COMConnector здорового человека (после чистки реестра от старых версий comcntr и переустановки)
Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(8461)}: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V82.COMConnector»
по причине:
COM-объекты поддерживается только в операционных системах Windows
Где comcntr в реестре после установки клиента х32 и сервера х64
Значение=D:Program Files (x86)1cv88.3.16.1224bincomcntr.dll
КомпьютерHKEY_CLASSES_ROOTWow6432NodeCLSID{181E893D-73A4-4722-B61D-D604B3D67D47}InprocServer32 — после установки сервера значение изменилолсь на серверное!
КомпьютерHKEY_LOCAL_MACHINESOFTWAREClassesWOW6432NodeCLSID{181E893D-73A4-4722-B61D-D604B3D67D47}InprocServer32
КомпьютерHKEY_LOCAL_MACHINESOFTWAREWOW6432NodeClassesCLSID{181E893D-73A4-4722-B61D-D604B3D67D47}InprocServer32
Значение=D:Program Files1cv88.3.16.1224bincomcntr.dll
(добавились после установки сервера)
КомпьютерHKEY_CLASSES_ROOTCLSID{181E893D-73A4-4722-B61D-D604B3D67D47}InprocServer32
КомпьютерHKEY_CLASSES_ROOTTypeLib{98AC3B5B-5323-418F-8F07-E32F231D2393}1.0win32
КомпьютерHKEY_CLASSES_ROOTWow6432NodeTypeLib{98AC3B5B-5323-418F-8F07-E32F231D2393}1.0win32
КомпьютерHKEY_LOCAL_MACHINESOFTWAREClassesCLSID{181E893D-73A4-4722-B61D-D604B3D67D47}InprocServer32
КомпьютерHKEY_LOCAL_MACHINESOFTWAREClassesTypeLib{98AC3B5B-5323-418F-8F07-E32F231D2393}1.0win32
КомпьютерHKEY_LOCAL_MACHINESOFTWAREClassesWOW6432NodeTypeLib{98AC3B5B-5323-418F-8F07-E32F231D2393}1.0win32
КомпьютерHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInstallerUserDataS-1-5-18Components4D8464F3A3B6F3E44AE0EE4805F4EB40
КомпьютерHKEY_LOCAL_MACHINESOFTWAREWOW6432NodeClassesCLSID{181E893D-73A4-4722-B61D-D604B3D67D47}InprocServer32
КомпьютерHKEY_LOCAL_MACHINESOFTWAREWOW6432NodeClassesTypeLib{98AC3B5B-5323-418F-8F07-E32F231D2393}1.0win32