0
KulakoffAlex
14.09.11
✎
11:16
|
Открываю модальную форму, выполняю в ней какие то действия по кнопке форма закрывается.
Результат = ФормаОбработки.ОткрытьМодально()
Соответственно в обработчике команды для закрытия формы пишу Закрыть(Истина).
В результате получаем от этой формы значение Результат = Истина;
Но есть такой момент пользователь может закрыть форму по обычному крестику, в переменной "Результат" тогда получаем = Неопределено.
но обработчик "ПередЗакрытием" обрабатывается. Пользователю идет вопрос "Сохранить изменения да, нет". если нет тогда все нормально. если пользователь выбрал "Да". тогда хочется чтобы форма вернула "Истину". а так она вернет "Неопределено"
|
|
1
253670489
14.09.11
✎
12:00
|
В процедуре "Перед закрытием" формы пишешь
СтандартнаяОбработка = Ложь;
Если Модифицированность = Истина ТОгда
ОтветНаВопрос = Вопрос("текст вопроса", ....);
Если Ответ = Да Тогда
Закрыть(Истина);
Модифицированность = Ложь;
КонецЕсли;
И ставишь какую-нибудь переменную чтоб второй раз не заходил сюда, вообще-то модифицированности хватит, второй раз форма уже не модифицированна
Или вообще убери стандартные кнопки закрытия, оставь только свои кнопки.
Ну короче в таком духе
|
|