Имя: Пароль:
1C
1С v8
Передача параметра из модально открытой формы при закрытии
0 KulakoffAlex
 
14.09.11
11:16
Открываю модальную форму, выполняю в ней какие то действия по кнопке форма закрывается.
Результат = ФормаОбработки.ОткрытьМодально()

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

ОтветНаВопрос = Вопрос("текст вопроса", ....);
Если Ответ = Да Тогда
Закрыть(Истина);
Модифицированность = Ложь;
КонецЕсли;

И ставишь какую-нибудь переменную чтоб второй раз не заходил сюда, вообще-то модифицированности хватит, второй раз форма уже не модифицированна

Или вообще убери стандартные кнопки закрытия, оставь только свои кнопки.
Ну короче в таком духе
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший