Недавно перенес несколько баз на платформу 8.3, и столкнулся со следующей проблемой: при замене в нескольких обработках объекта V82.COMConnector на V83.COMConnector при запуске стал получать сообщение "v83.comconnector класс не зарегистрирован". Решение выкладываю, т.к. не нашел похожей статьи на данном сайте, возможно, невнимательно искал.
При появлении ошибки Regsvr32 попробуйте устранить ее одним из следующих способов.
Способ 1. Повторный запуск команды Regsvr32 в командной строке с повышенными привилегиями
Админские права <> повышенные привилегии. Если cmd запущен с повышенными привилегиями, то в заголовке окна это специально выделяется "Администратор: С:\Windows\System32\cmd.exe". На вашем скриншоте cmd.exe запущен в обычном режиме.
А мне помогло. Ставил 1С:Предприятие 8.3 (8.3.9.1818)
И устанавливал с правами администратора, и регистрировал компоненту в cmd с заголовком "Администратор".
Устанавливалось без ошибок, и регистрировалось с сообщением, что компонента зарегистрирована.
Но при попытке создания объекта, ошибка - компонент не зарегистрирован.
Ваш способ помг. Большое спасибо!
Ещё один способ регистрация компоненты который только мне и помог: создание *.bat (чтобы создать батник берёте *.txt, а потом меняете расширение на *.bat) и помещаете туда например строку: regsvr32 "C:\Program Files (x86)\1cv8\8.3.8.1964\bin\comcntr.dll" . Затем осуществляете "Запуск от имени администратора".
Аналогичная проблема. Регистрация выполнена успешно.
В стандартной CRM есть процедуры, которые устанавливают внешнее соединение именно на стороне сервера и здесь ошибку побороть не могу
Победили с админом уже, что смогли. Только получилось, что COM работает для серверных и файловых только в режиме НаКлиенте, НаСервере вызывается только серверная база. Пришлось чуть кода переписать, ибо не знала куда идти
Спасибо.
После перехода на 64-бит сервер перестало работать.
Регистрация Regsvr 32 ... проходила без ошибок но все равно не работало.
Сделал как в статье и проблема решилась.
Проделав вышеописанную операцию, подключение V83.COMConnector прошло нормально, а V83.Application выдавало ошибку, пока не выполнил:
C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver
Платформа 8.3.13.1513.
Сделал все, как в статье, на сервере заработало, но на локальных компьютерах вылезала та же ошибка.
Проблема решилась следующим образом: в п.1 вместо "Указанный пользователь" установил "Сетевая служба".
Не помогло.
При указании имени V83.COMConnector, точка в поле автоматически удаляется (в статье написано с точкой).
В статье: "Далее необходимо создать компонент V82COMConnector => " , когда создавали V83.COMConnector ....
(30) без нее создан и так: V83_COMConnector, все равно не помогло. Видимо это не все, что нужно для работы. Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string
(32) Добрый день!
да вроде бы все стандартно:
ComОбъект = Новый COMОбъект("V83.COMConnector");
Соединение = ComОбъект.Connect("Srvr=;Ref=; Usr=;Pwd=";);
Win 2008 R2 64x, 1с MSSQL 8.3.12.1567 64x (например, хотя были и 8.3.10,8.3.13, на них тоже самое)
Вроде так же все делал, а в результате создалось COM соединение V83.COMConnector с ограниченными возможностями, запускается небольшая серверная часть. Нужно OLE соединение V83.Application. Возможно, как?
Сам толком не понял: Понадобилась 2-я платформа 8.3 более высокой версии (для КА2.4, а Альфа-Авто более чем 8.3.10 не работает), и все Com-обмены между базами, работающих на разных платформах, рухнули. Попалась одна статья: COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС". По ней (инструкция вроде та же самая, что и у Вас) создал обертки COM соединения, но нужно OLE соединение V83.Application.
В каком месте?
Имя приложения можно задать любое при создании (точка игнорируется), Независимо от этого имя компонента всегда будет V83.COMConnector.1.
Мне помогло: в новых версиях 8.3 у пользователя в принимающей базе должна быть снята галочка "Защита от опасных действий". Даже если это админ с полными правами.
И в коде пишем что-то типа:
Если Элементы.СтарницыВариантовПодключения.ТекущаяСтраница = Элементы.Вариант1 Тогда
// запуска к КА
V8 = Новый COMОбъект("V83.COMConnector.1.8315");
ИНаче
// запуска к Розница
V8 = Новый COMОбъект("V83.COMConnector.1.8318");
КОнецЕСлИ;
Данную инструкцию вообще возможно выполнить с обычной клиентской машины, где установлен только толстый клиент 1С? У меня обычная клиентская машина, а мне нужно цепляться к серверу с помощью COM-коннектора. dll-библиотека comcntr.dll на моей машине отсутствует. Соответственно ее как-то можно просто принести и тогда заработает или это все можно сделать только на сервере?