|
Метод объекта (Connect) не обнаружен. | ☑ | ||
---|---|---|---|---|
0
lirt82
18.01.19
✎
10:45
|
Вчера на сервере где крутиться база и клиентских компах поменяли платформу была 8.3.9, 32 бита, стала 8.3.12 так же 32 бита. Самописная обработка перестала работать выдает ошибку на строке
Попытка Возврат ComConnector.Connect(ПараметрыПодключенияИБ); Метод объекта не обнаружен.(Connect) Я на сервере зарегил компоненту comcntrl.dll успешно, затем на компе у пользака тоже успешно, далее перезагрузил комп пользователя но ошибка все равно осталась. Где копать? При чем заметил, регистрировать dll что на сервере что на компе у пользователя можно до бесконечности и всегда успешно:) т.е. больше одного раза - это нормально? на сервере и на клиентских компах винда 64 битная. |
|||
1
lirt82
18.01.19
✎
10:49
|
&НаКлиенте
Процедура Импорт(Команда) ИмпортНаСервере(); КонецПроцедуры &НаСервере Процедура ИмпортНаСервере() Соединение = ПолучитьПодключениеКБД(); ************** КонецПроцедуры Функция ПолучитьПодключениеКБД() БазаДанных = Строка(Путь); Юзер = Строка(П); ПарольЮзеря = Строка(ППароль); ComConnector = ПолучитьCOMОбъектПоВерсииПлатформы(); ПараметрыПодключенияИБ = "File='" + СокрЛП(БазаДанных) + "'; usr='" + СокрЛП(Юзер) + "'; pwd='" + СокрЛП(ПарольЮзеря) + "';"; Попытка Возврат ComConnector.Connect(ПараметрыПодключенияИБ); Исключение Сообщить(ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; КонецФункции Функция ПолучитьCOMОбъектПоВерсииПлатформы() Экспорт ИмяComОбъекта = ""; Инфо = Новый СистемнаяИнформация; Если СтрНайти(Инфо.ВерсияПриложения, "8.3") > 0 Тогда ИмяComОбъекта = "V83.COMConnector"; ИначеЕсли СтрНайти(Инфо.ВерсияПриложения, "8.2") > 0 Тогда ИмяComОбъекта = "V82.COMConnector"; Иначе ВызватьИсключение "Не удалось определить версию платформы"; КонецЕсли; COMConnector = Новый COMОбъект(ИмяComОбъекта); Возврат COMConnector; КонецФункции |
|||
2
lirt82
18.01.19
✎
10:53
|
неужели создавать компоненту? и где на сервере или на клиентском компе...и потом не понятно на 8.3.9 обработка работала.
|
|||
3
lirt82
18.01.19
✎
10:57
|
или процедуру получения версии платформы убрать?
сразу писать ComConnector = Новый COMОбъект(V83.COMConnector); |
|||
4
arsik
гуру
18.01.19
✎
10:59
|
Ну уже посмотри в отладчике что у тебя в ComConnector перед вызовом с ошибкой
|
|||
5
lirt82
18.01.19
✎
14:05
|
как отлаживать в клиент-серверном варианте если база на sql?
|
|||
6
CepeLLlka
18.01.19
✎
14:10
|
(5)Включить отладку на сервере конечно..
А вообще чтобы понять где регистрировать компоненту нужно знать где она запускается.. если с клиента, то и регистрируй на клиенте, если с сервера, то регистрируй на сервере.. У меня была такая же ошибка пару дней назад.. Тоже бился несколько часов.. После нескольких ребутов, ручной регистрации компоненту по гайду в интернете и после нескольких обычных регистраций через regsvr32 заработало.. чего уж ей не хватало, не знаю.. |
|||
7
sandal_r
18.01.19
✎
14:16
|
(5)
на сервере 1С открываем службы ищем службу "Агент сервера 1С:Предприятия..." Открываем свойства этой службы, копируем строку "Исполняемый файл. Открываем редактор реестра (Win+R, regedit, OK), и в поиске вставляем ранее скопированную строку. Во всех найденных местах добавляем "-debug" N.B.! Это редактор реестра. Аккуратно там. Если не знаешь что делать, лучше спроси у того кто знает. |
|||
8
sandal_r
18.01.19
✎
14:18
|
+(7)
потом перезапустить сервер но вообще включенная отладка на продуктивном сервере - потеря в производительности до 10-15% лучше на тестовом все отлаживать, а на прод уже готовое выкладывать |
|||
9
lirt82
18.01.19
✎
14:22
|
КЭШ ПОЧИСТИЛ и все обработка заработала))))))))))))))
|
|||
10
CepeLLlka
18.01.19
✎
14:34
|
(9)Точно, могло помочь
|
|||
11
lirt82
18.01.19
✎
14:42
|
всем на заметку, но другое решение
https://forum.infostart.ru/forum28/topic201792/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |