Имя: Пароль:
1C
1С v8
не создается com объект базы в режиме управляемого приложения
0 Белый Медведь
 
25.04.12
15:58
вот функция:
Функция ПолучитьКоннектор()
   СтрокаПодключения = "ws=""http://192.141.0.25:1800/webbase"";Usr=""admin"";Pwd=""123""";
   
   Попытка
       cntr = Новый COMObject("V82.COMConnector");
       connection = cntr.Connect(СтрокаПодключения);
       Возврат connection;
   Исключение
       Сообщить(ОписаниеОшибки());
       Возврат Неопределено;
   КонецПопытки;
КонецФункции

При выполнении происходит исключительная ситуация "{Обработка.ПопыткаСоединения.Форма.Форма.Форма(15)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Неверные или отсутствующие параметры соединения с информационной базой"

Хотя при подключении к базе тонким клиентом со строкой "http://192.141.0.25:1800/webbase" все нормально, появляется приглашение для выбора пользователя и ввода пароля.

Я чего-то не знаю, подскажите, плиз.
1 H A D G E H O G s
 
25.04.12
16:15
Тонкий клиент - это не Внешнее соедниение.
2 Белый Медведь
 
25.04.12
16:21
Вы хотите сказать, что я не смогу создать com объект тонкого клиента?
3 H A D G E H O G s
 
25.04.12
16:28
(2) Точно не так:
V82.COMConnector
4 Белый Медведь
 
25.04.12
17:03
Вот, нарыл http://forum.infostart.ru/forum14/topic31657/
надо было не "V82.COMConnector", а "V82c.Application"
5 Белый Медведь
 
27.04.12
16:48
Теперь другая хрень :(. (прочитал все темы на мисте по поиску "V82C.Application" и "V82.Application" не то)
Вот код:
   Попытка
       КомОб = Новый COMОбъект("V82C.Application");        
       РезКоннект = КомОб.Connect(СтрокаПодключения);
       Сообщить("Соединение вернуло: " + РезКоннект);
       //КомОб.Visible = Ложь;
       
       ОбработкаОбменДанными = КомОб.Обработки.ОбменДанными;
       Результат = ОбработкаОбменДанными.ПолучитьДанные();    
   Исключение
       Сообщить(ОписаниеОшибки());        
   КонецПопытки;

В итоге РезКоннект возвращает истину
Появляется интерфейс запускаемой по строке подключения 1С-ки, т.е. подключилось нормально.
КомОб имеет тип COMОбъект. Но теперь не могу обратиться к обрабокам. Ошибка в строке {ОбработкаОбменДанными = КомОб.Обработки.ОбменДанными;} выдает ошибку:
"{Обработка.ПопыткаСоединения.Форма.Форма.Форма(5)}: Значение не является значением объектного типа (Обработки)"
Смотрю в синтаксисе про "Automation сервер" там написано "создается COMОбъект с идентификатором V82.Application (для тонкого клиента V82C.Application);" это верно, дальше пример на вижуале:
   Set trade = CreateObject("V82.Application")
   trade.Connect("File=""c:\InfoBases\Trade"";Usr=""Director"";")
   Set Товар = trade.Справочники.Товары
   Set Группа = Товар.СоздатьГруппу()
но тут пример для V82 а не для V82с, получается что для V82с .Справочники.Товары уже не доступно, или я опять че-то не понял??? Мож кто сталкивался?
6 H A D G E H O G s
 
27.04.12
16:55
Глобальный контекст (Global context)
Обработки (DataProcessors)
Использование:

Только чтение.
Описание:

Тип: ОбработкиМенеджер.
Используется для доступа к определенным в конфигурации обработкам.

Доступность:

Сервер, толстый клиент, внешнее соединение.
7 Лоботряс
 
27.04.12
16:55
ОбработкаОбменДанными = КомОб.Обработки.ОбменДанными.Создать();
       Результат = ОбработкаОбменДанными.ПолучитьДанные();
8 H A D G E H O G s
 
27.04.12
16:56
Надо написать ОМ, с галочкой Клиент(Управляемое приложение), который вызовет серверный модуль, который создаст обмект обработки и заставит эту сволочь работать
9 Лоботряс
 
27.04.12
16:58
(7)+Процедура ПолучитьДанные() должна быть экспортной
10 H A D G E H O G s
 
27.04.12
16:59
(5) В Source не рубишься?
11 Белый Медведь
 
27.04.12
22:35
(7) .Обработки уже не существует ибо как оказалось(6)
(8) попробую, отпишусь.
(10) уже нет, лялько маленькое родилось...
12 AmoreMe
 
27.04.12
22:45
Сonnector = Новый COMОбъект("V82.COMConnector");//COM
   V8 = Сonnector.Connect(СокрЛП(Объект.СтрокаПодключения + СокрЛП(Объект.Пароль)));
   Сотрудники = V8.Справочники.Сотрудники;
   Выборка = Сотрудники.Выбрать();
   Пока Выборка.Следующий() Цикл
       Сообщить(Выборка.Наименование);
   КонецЦикла;
13 AmoreMe
 
27.04.12
22:46
Сonnector = Новый COMОбъект("V82.Application");//OLE
   Сonnector.Connect("File=""D:\Базы\8.2\Режим"";Usr=""Администратор"";");
   Сотрудники = Сonnector.Справочники.Должности;
   Выборка = Сотрудники.Выбрать();
   Пока Выборка.Следующий() Цикл
       Сообщить(Выборка.Наименование);
   КонецЦикла;
14 Белый Медведь
 
27.04.12
22:50
(12) V82.COMConnector для тонкого не создается, у меня строка подключения вида как в (0) ибо база в режиме управляемого приложения, к которой я подключаюсь.
(13) мне нужно не V82. а V82с. , а если V82с. то у Сonnector поля .Справочники не существует.
15 AmoreMe
 
27.04.12
22:52
Я делал на тонком клиенте все работает!
16 AmoreMe
 
27.04.12
22:53
при чем как на  сервере так и на  форме!
17 AmoreMe
 
27.04.12
22:56
Попробуйте переустановить платформу... у меня был случай когда не мог установить COM соединение пока не переустановил платформу :( (Будет повторная регистрация COM компонентов при установке)
18 Белый Медведь
 
27.04.12
22:59
(17) Обязательно попробую, если (8) не получится. Спасибо за совет.
19 Белый Медведь
 
28.04.12
00:20
(12) Вспомнил, что уже делал так. Ругается на строку подключения, не нравится ключ ws=
(8) а как потом обращаться к модулю?
вот так?
КомОб = Новый COMОбъект("V82C.Application");        
РезКоннект = КомОб.Connect(СтрокаПодключения);
Результат = КомОб.ОбщиеМодули.ТотСамыйКлиентскийОМ.ЭкспортнаяПроцка()

или так?
КомОб = Новый COMОбъект("V82C.Application");        
РезКоннект = КомОб.Connect(СтрокаПодключения);
Результат = КомОб.ТотСамыйКлиентскийОМ.ЭкспортнаяПроцка()
20 Белый Медведь
 
28.04.12
10:31
(8) вот такой код заработал:
КомОб = Новый COMОбъект("V82C.Application");        
КомОб.Connect(СтрокаПодключения);
Результат = КомОб.ТотСамыйСерверныйОМ.ЭкспортнаяПроцка();

ТотСамыйСерверныйОМ - это общий модуль с галочками "Сервер" и "Вызов сервера". Даже ОМ на клиенте не нужен.
ЭкспортнаяПроцка() честно кладет текст в переменную Результат и выполняет другие процедуры из других серверных модулей.
21 H A D G E H O G s
 
28.04.12
12:32
(20) Ну тем более.
"Вызов сервера" помог.