Как открыть визуальный объект другой базы через COM-соединение (1Cv8)

Материал из КинтВики
Перейти к: навигация, поиск


Функция УстановитьСОМСоединениеСВнешнейБазой(СОМ,База) Экспорт
	НаименованиеБазы=СокрЛП(База.Наименование);
	НаименованиеПользователя=СокрЛП(База.СОМПользователь);
	Пароль=СокрЛП(База.СОМПароль);
	Состояние(">>> Выполняется СОМ-соединение: "+НаименованиеБазы);
	СОМ=Новый COMОбъект("V81.Application");
	//СОМ=Новый COMОбъект("V81.Connect");
	Попытка
		Открыта=СОМ.Connect("File="""+СокрЛП(База.КаталогБазыДанных)+""";Usr="""+НаименованиеПользователя+""";Pwd="""+Пароль+""";");
	Исключение
		Сообщить("Соединение не установлено. База: "+НаименованиеБазы);
		Возврат Ложь;
	КонецПопытки;
	Возврат Истина;
КонецФункции

Процедура ОтменитьСОМСоединениеСВнешнейБазой(СОМ) Экспорт
	СОМ="";
КонецПроцедуры

Процедура ОсновныеДействияФормыСОМФорма(Кнопка)
	СОМ=Новый COMОбъект("V81.Application");
	Если Не УстановитьСОМСоединениеСВнешнейБазой(СОМ,ВнешняяБаза) Тогда Возврат; КонецЕсли;
	
	МенеджерДокумента=СОМ.Документы.АвансовыйОтчет; 
	//МенеджерДокумента=СОМ.Документы.ДокументУниверсальный; 
	ФормаВыбора=МенеджерДокумента.ПолучитьФормуВыбора();
	ФормаВыбора.ОткрытьМодально();
	
	//Документ=МенеджерДокумента.СоздатьДокумент(); 
	//ФормаДокумента=Документ.ПолучитьФорму(); 
	//ФормаДокумента.ОткрытьМодально();
	ОтменитьСОМСоединениеСВнешнейБазой(СОМ);
КонецПроцедуры

При этом в клиентском приложении открываются полноценные окна другой конфигурации.