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

## Пример:

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

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