|
Как закрыть форму |
☑ |
0
Rom
21.10.04
✎
14:28
|
Как закрыть форму обработки в модуле (модулях) самой обработки, если она открывается соответствующим методом из другого модуля?
...
// Фрагмент кода в общем модуле
Обработка = ВнешниеОбработки.ПолучитьФорму(Запись.Обработка.Путь);
Обработка.Авторежим=Истина;
Обработка.Открыть();
...
// Процедура в модуле формы
Процедура ПриОткрытии()
Если Авторежим=Истина Тогда
ПрочитатьФайл(); //Процедура в модуле объекта
КонецЕсли;
КонецПроцедуры
|
|
1
Волшебник
21.10.04
✎
14:29
|
ЭтаФорма.Закрыть();
|
|
2
Rom
21.10.04
✎
14:30
|
(1) Это все понятно, но потытка использования этого метода приводит к ошибке: "Нельзя закрыть форму, которая еще не открыта"
|
|
3
Волшебник
21.10.04
✎
14:30
|
|
|
4
Rom
21.10.04
✎
14:33
|
(3) Каким образом, ведь метод Обработка.Открыть() уже исполнен?!
|
|
5
Rom
21.10.04
✎
14:41
|
(4)+ Проблема собственно в том, что метод ЭтаФорма.Закрыть() вызывется в теле процедуры ПриОткрытии(). Процедура ПередОткрытием() тоже не подходит, т.к. мне нужно считывать сохранные параметры формы (значения элементов). Как решить эту задачу?
|
|
6
Волшебник
21.10.04
✎
14:43
|
(5) Почему не подходит ПередОткрытием? Делай там Отказ = Истина и форма не откроется.
|
|
7
Rom
21.10.04
✎
14:51
|
(6) Я же уже написал, что мне нужно прочитать сохранные настройки формы. Это можно сделать только во время или после исполнения процедуры ПриОткрытии().
|
|
8
Волшебник
21.10.04
✎
14:53
|
Закрывай форму извне.
ФормаОбработки = ВнешниеОбработки.ПолучитьФорму(Запись.Обработка.Путь);
ФормаОбработки.Авторежим=Истина;
ФормаОбработки.Открыть();
//здесь танцы с бубном, оповещения и пр.
ФормаОбработки.Закрыть();
|
|
9
Rom
21.10.04
✎
15:00
|
(9) Не, этот вариант тоже не годится... :(, так как какие-то формы нужно закрывать, а какие-то нет.
|
|