Имя: Пароль:
1C
1C 7.7
v7: Вопрос по OLE
0 Bugmenot
 
22.09.11
12:28
Можно ли как-то открыть форму документа из другой конфигурации и распечатать его?

Подключаюсь и нахожу элемент следующим образом:

Донор=СоздатьОбъект("V77.Application");
Результат = Донор.Initialize(Донор.RMTrade, "/d\\c:\Base/nПользователь /ppass","NO_SPLASH_SHOW");

док = Донор.CreateObject("Документ");
док.ВыбратьПоЗначению(ДатаПоискаНач,ДатаПоискаКон,"НомерДок",Номер);

и тут бы хотелось открытьформу...
1 Ёпрст
 
гуру
22.09.11
12:35
открывай, печатай.
2 Ёпрст
 
гуру
22.09.11
12:35
что мешает ?
3 Bugmenot
 
22.09.11
12:36
Процедура Печать()            
   конт="";
   ОткрытьФорму(док, Конт,1);
КонецПроцедуры    

ничего не происходит
4 Vladal
 
22.09.11
12:36
В подключаемой базе надо это прописать
5 Ёпрст
 
гуру
22.09.11
12:37
да уж..
6 Vladal
 
22.09.11
12:37
*в конфигурации подключаемой базы
7 Ёпрст
 
гуру
22.09.11
12:37
Для начала, научись печатать в родной базе, потом уже в оле базе делай тоже самое.
8 Bugmenot
 
22.09.11
12:44
Процедура Печать()            
   конт=0;
   Донор.ОткрытьФорму(док, конт,1);
КонецПроцедуры

также никакой реакции
9 Vladal
 
22.09.11
12:45
(7) Я помню, как-то извращался с вызываемыми процедурами. И получалось у меня только экспортные из глобального модуля вызывать.

выполнить процедурку донора:
Донор.ExecuteBatch("какая-то экспортная процедура донора");

создать объект прямо в доноре:
Спр = Донор.EvalExpr("СоздатьОбъект(""Справочник.Валюты"")");
Спр.НайтиПоКоду(978); // Евры
...
СПр.Записать();
10 Vladal
 
22.09.11
12:46
(8) Ты это ГДЕ пишешь?

Посмотри советы старших братьев по разуму:
Передача параметров в запрос к базе, подключенной через OLE
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший