При попытке установить COM-соединение с базой 1С возникает ошибка:
Метод объекта не обнаружен (Connect)
Тема избитая (см. Invalid Class String), тем не менее, иногда очень трудно найти рабочий способ исправления. Приведенный ниже способ у меня срабатывает почти всегда.
1. Запускаем Службы компонентов (Component Services). Удаляем все имеющиеся V82- или V83COMConnector (если есть).
2. Запускаем от имени Администратора, предварительно заменив «8.3.16.1148» на версию вашего релиза, bat-файл следующего содержания:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
set version=8.3.16.1148 set x64=C:\Program Files\1cv8\%version%\bin\comcntr.dll set x32=C:\Program Files (x86)\1cv8\%version%\bin\comcntr.dll set reg64=%systemroot%\System32\regsvr32.exe set reg32=%systemroot%\SysWoW64\regsvr32.exe %reg64% /i /s "%x64%" %reg64% /u /s "%x32%" %reg64% /i /s "%x64%" %reg32% /u /s "%x64%" %reg64% /i /s "%x64%" %reg32% /u /s "%x32%" %reg64% /i "%x64%" |
СПС, супер легкое решение надоедливой проблемы!
Благодарю ! Лучшее решение , одним скриптом сразу все проблемы решаются !
Подтверждаю: метод работает!
СПАСИБО ОГРОМНОЕ! ЧЕЛОВЕЧИЩЕ!!!!!!
Спасибо, реально сработало!
Спасибо, сработало!
Это срабатывает только для пользователя с правами админа. А вот обычные пользователи, например, синхронизировать не могут. Тут надо реестр править.
Они есть у меня, а я хз, как тут опубликовать.
Напишите здесь, в комментариях.
Вообще, уже много раз настраивал под правами администратора, а потом обычные пользователи нормально работают.
Спасибо, на платформе 8.3.24.1467 только этот способ сработал
set reg64=%systemroot%\System32\regsvr32.exe
set reg32=%systemroot%\SysWoW64\regsvr32.exe
reg64 и reg32 случайно не перепутаны местами?
а мне данный метод не помог
при этом если отключить компоненту, то 1с видит это и ругается на то что компонент деактивирован. но при включении компоненты — Необнаружен метод (Connect)
То же самое.
Решили проблему ?
Премного благодарен, прекрасное решение
Спасибо добрый человек. На 8.3.24.1667 работает.
Спасибо, самый действенный метод
Не работает
Может не помочь если вы использовали платформу х86, а затем перешли на х64. Мне помог только поиск и удаление в реестре записей, содержащих путь к старой DLL.
не работает. 8.3.25.1520. ничего не помогает.
Там ошибка. Перепутаны пути к компонентам от 64 и 32
Наконец-то удалось избавиться от этой ошибки «Метод объекта не обнаружен (Connect)»
Не удалось подключиться к приложению: Метод объекта не обнаружен (Connect)
{ОбщаяФорма.ПараметрыАдминистрированияПрограммы.Форма(304)}:ВызватьИсключение Результат.КраткоеОписаниеОшибки;
{ОбщаяФорма.ПараметрыАдминистрированияПрограммы.Форма(233)}:ПроверитьПараметрыАдминистрированияФайловойБазы();
{ОбщаяФорма.ПараметрыАдминистрированияПрограммы.Форма(224)}:ПроверитьПараметрыАдминистрированияНаСервере();
{ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиент.Модуль(1510)}:ВыполнитьОбработкуОповещения(Оповещение, Зарегистрировано);
{ОбщийМодуль.ФайловаяСистемаСлужебныйКлиент.Модуль(907)}:ВыполнитьОбработкуОповещения(Оповещение, Результат);
{ОбщийМодуль.ФайловаяСистемаСлужебныйКлиент.Модуль(838)}:ЗапуститьПрограммуПослеЗапускаПриложения(КодВозврата, Контекст);
{ОбщийМодуль.ФайловаяСистемаСлужебныйКлиент.Модуль(775)}:ЗапуститьПрограммуНачатьЗапуск(Контекст);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
Кстати, никакие коннекторы V82- или V83COMConnector у меня при обновлении платформы в принципе не создаются.
Что запускать если установлена только 32 битная 1с? С соответственно в папке C:\Program Files\1cv8 пусто, есть только папка C:\Program Files (x86)\1cv8 — батник выдает ошибку.
Респект, и переустанавливал и перерегистрировал по разному эту dll ничего не помогало, пока твой скрипт не использовал, честно говоря уже не надеялся что поможет.