Имя: Пароль:
1C
 
Как открыть форму одной базы в другой
0 Phoedoth
 
18.05.11
10:58
Добрый день.

Есть задача: надо открыть форму объекта (например документа "Отчет о розничных продажах), который находится в другой базе данных.

Объект может быть любой: справочник, документ, счет плана счетов итд. Обе базы - 1C8
1 Grusswelle
 
18.05.11
10:59
Базы эдентичны?
2 mikecool
 
18.05.11
10:59
если объекты идентичны, собираешь в структуру данные из оле-объекта, открываешь форму текущего и в обработке заполнения заполняешь из структуры
3 Phoedoth
 
18.05.11
11:25
Базы не идентичны
4 n0ther
 
18.05.11
11:31
OLE

Менеджер=База.NewObject("СправочникМенеджер."+ИмяСправочника);
Форма=Менеджер.ПолучитьФормуВыбора("ФормаВыбора");
_Организация = Форма.ОткрытьМодально();
5 n0ther
 
18.05.11
11:32
(4) ну и конечно
База = Новый COMОбъект("V82.Application");
6 Phoedoth
 
18.05.11
11:37
1) Возможно ли объект OLE держать в параметрах сеанса (чтобы каждый раз не подключаться по новой)
2) Можно ли как-то открывать форму не модально
7 n0ther
 
18.05.11
11:58
(6)
1) не пробовал, например через хранилищезначения
2) можно, только форма прячется, так что её не выцарапаешь) вообще очень неудобно открываются формы по ole
8 Живой Ископаемый
 
18.05.11
12:11
в Управляемых Формах?
9 Phoedoth
 
18.05.11
12:15
Уже нашел

Можно просто для COMОбъекта База установить

База.Visible = Истина;

Еще обратил внимание, что первый раз окно другой базы не активизируется. Но если его закрыть (просто крестик нажав), а переменная База (с COM объектом) будет еще жива, то при новой установке Visible в Истина окно другой базы активизируется.

Отсюда идиотский вопрос. Как программно закрыть окно другой базы, но сохранить COM объект?
10 Phoedoth
 
18.05.11
12:15
(9)

Метод ЗавершитьРаботуСистемы(<Запрашивать возможность>, <Перезапустить при завершении>, <Дополнительные параметры комадной строки>) не подходит.
11 Phoedoth
 
18.05.11
12:16
(8)

Нет, обычные формы.
12 Живой Ископаемый
 
18.05.11
12:20
это важно, потому что в УФ можно без легко. (несли я правильно понял и запомнил то что читал :))
13 Axel2009
 
18.05.11
12:24
_Visible = False?