Коллеги, прошу помощи!
Подключили 1С:ЭДО, сломалась COM интеграция из УТ в БП.
Есть:
Сервер 1С ,
Бухгалтерия (3.0.79.21) ,
Управление торговлей", (10.3.56.1)
Пишет:
{ВнешняяОбработка.ПереносИзУТВБП.МодульОбъекта(3395)}: Ошибка при вызове конструктора (COMОбъект)
v8=Новый COMОбъект("v8"+Прием+".COMConnector");
по причине:
-2147221164(0x80040154): Класс не зарегистрирован
Похоже слетела библиотека comcntr.dll.
Вчера вечером ее перерегистрировали ее,
Сервер перегрузили.
Не работает.
Еще в понедельник интеграция работала, но вчера наши партнеры нам подключили 1С:ЭДО.
Вот после этого все сломалось.
(1) Разрегистрируйте и заново зарегистрируйте эту библиотеку на сервере. Обратите внимание на разрядность. Она должна совпадать с разрядностью установленного сервера 1С.
(7) regsvr32 без параметра напишет в справке как это сделать. Библиотека из папки Program Files 64 битная, из (x86) 32 битная. Но у вас там еще и COM+ еще есть с ним все сложнее.
Панель управления/ Служба компонентов/Мой компьютер/Приложения COM+
Ищете по наименованию "v8"+Прием+".COMConnector" (наверное Прием это имя базы-приемника). Смотрите, запущено или нет.
(10)Нет, конечно, в отладке: v8.3.COMConnector, где-то в программе отрезают как надо.
Не ищите здесь ошибку, этот модуль уже работает несколько лет.
Не далее как в понедельник бухгалтер выгружала документы.
(13)Попробуйте все же как в (1) говорили сделать. С учетом разрядности.
В 32-битной версии сервера
regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
Естественно, вашу версию платформы укажите.
(15) Библиотеку можно регистрировать на работающем сервере и перегружать его не нужно. DLL подгружается при обращении к com и вызывается зарегистрированная на текущий момент.
(23) COM+ нужен для вызова из 64-битного приложения 32-х битную DLL и наоборот, или для подключения из одной базы к базе с другой версией платформы. У вас такая ситуация?
Если не работает на компьютере пользователя надо там DLL регистрировать.
Регистрация компоненты comcntr.dll (для COM соединения с базой 1С)
После переустановки платформы на компьютер COM-компонент должен быть установлен автоматически. Но если вы получаете ошибку: Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован, это означает, что при установке платформы компонента comcntr.dll не смогла зарегистрироваться автоматически.
Регистрация ComConnector (comcntr.dll) в Windows 32 и 64 разрядной
Для доступа к информационной базе из внешней программы используется COM объект COMConnector. В зависимости от версии платформы используется V82.COMConnector или V83.COMConnector. При установке платформы 1С, в операционной системе автоматически регистрируется класс COMConnector. Если по каким либо причинам регистрация не прошла, то его можно зарегистрировать вручную.
COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС"
Описание способа подключения к базам 1С с помощью ComConnector, на различных версиях платформы.
Значит дело было так. Появилась необходимость подключаться к базам по com соединению, для анализа тамошних объектов метаданных. Проблема оказалась в том, что базы могли работать на разных версиях 1С. Пошел в интернет, искал, читал, но все фигня, в оновном все предлагают держать базы на одной версии, что для меня было невозможным.