|
|
Как открыть форму одной базы в другой |
☑ |
|
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?
|
|