Имя: Пароль:
1C
 
Передать параметры в закрывающейся форме.
0 lanc2233
 
24.04.19
10:04
Управляемое приложение.
Форма открывается модально. При закрытии должна отдавать результат в место вызова.
У меня есть свои кнопки ОК, Отмена, где есть строка ЭтаФорма.Закрыть(Пар);

Проблема с кнопкой закрытия в правом верхнем углу.

Такой код выдает ошибку
Процедура ПриЗакрытии()
   ЭтаФорма.Закрыть(Пар);
КонецПроцедуры

Что невозможно выполнить команду в закрытой форме.
Как передать параметр, по этой кнопке?
1 elCust
 
24.04.19
10:17
(0) При закрытии пытаться закрыть форму)))
2 elCust
 
24.04.19
10:18
Тогда уж лови событие ПерезЗакрытием с Отказ = Истина. И там закрывай.
3 toypaul
 
гуру
24.04.19
10:22
нет никакой проблемы с "крестиком". если туда жмакнут в результате будет Неопределено (по-моему так)
4 lanc2233
 
24.04.19
10:26
(2) зацикливание получается

(3) да, не подумал, буду обрабатывать неопределено
5 elCust
 
24.04.19
10:30
(4) Что за зацикливание, если Отказ = Истина?
6 lanc2233
 
24.04.19
10:31
Отказ = Истина
ЭтаФорма.Закрыть(Пар);

Вторая строчка снова возвращает в эту процедуру
7 elCust
 
24.04.19
10:39
(6) Точно.
8 elCust
 
24.04.19
10:44
Тогда костыли:

В реквизитах формы делаешь новый реквизит ПараметрыФормы
При закрытии в него пишешь.

Форма закрывается и управление передается вызывающей процедуре, там читаешь этот реквизит формы.
9 dezss
 
24.04.19
11:03
ИМХО, если закрытие не из того места, где ты предполагаешь (тот самый крестик) лучше сделать предупреждение о том, что закрытие приведет к потере данных с возможностью отказаться от закрытия просто тупо вопросом или какой-нибудь формой.
10 runoff_runoff
 
24.04.19
11:21
Управляемое приложение + Форма открывается модально = Уволен
11 dezss
 
24.04.19
11:23
(10) Ну можно же то же самое, но с оповещениями. Принципиальной разницы не будет.
12 Franchiser
 
гуру
24.04.19
11:26
Модальные вызовы ещё кто-то использует?
13 olegves
 
24.04.19
11:28
В Перед закрытием использовать Оповестить