БП 2.0, обычные формы.
у договора есть срок действия. Если срок действия меньше текущей даты, то нужно спросить пользователя - нафига вы выбираете просроченный договор. Если говорит ОК, я знаю что делаю - то выбирать. Если нажимает нет - то не закрывать форму при выборе, а дать возможность выбрать другой договор.
Набросал код в форме выбора договоров:
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) // Вставить содержимое обработчика. ПОпытка Если элементыформы.СправочникСписок.ТекущаяСтрока.срокДействия <> Дата("00010101") И элементыформы.СправочникСписок.ТекущаяСтрока.срокДействия < ТекущаяДата() тогда ответ = Вопрос("Срок действия этого договора закончился. Вы уверены, что хотите выбрать этот договор?", РежимДиалогаВопрос.ДаНет) ; Если ответ = КодВозвратаДиалога.Нет тогда СтандартнаяОбработка = ложь; отказ = истина; КОнецЕсли; КОнецЕсли; Исключение КОнецПопытки КонецПроцедуры
Пользователь нажимает Нет, отладка доходит до отказа, но договор все равно выбирается, а форма закрывается.
ЧЯДНТ?