Skip to content

Подтверждение закрытия формы

ПоказатьПодтверждениеЗакрытияФормы

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

Пример:

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Оповещение = Новый ОписаниеОповещения("ВыбратьИЗакрыть", ЭтотОбъект);
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы(Оповещение, Отказ, ЗавершениеРаботы);
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
// записываем данные формы.
// ...
Модифицированность = Ложь; // не выводить подтверждение о закрытии формы еще раз.
Закрыть(<РезультатВыбораВФорме>);
КонецПроцедуры

ПоказатьПодтверждениеЗакрытияПроизвольнойФормы

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

Пример

ТекстПредупреждения = НСтр("ru = 'Закрыть помощник?'");
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(
ЭтотОбъект, Отказ, ЗавершениеРаботы, ТекстПредупреждения, "ЗакрытьФормуБезПодтверждения");