11.01.2011

Подтверждение завершения работы с программой

Краткое описание механизма

Механизм подтверждения завершения работы с программой предназначен для исключения случаев случайного закрытия программы пользователем.
После задействования данного механизма при закрытии программы пользователю выводится запрос на подтверждение закрытия.

Описание принципов действия

Вывод запроса на подтверждение закрытия программы настраивается для каждого пользователя индивидуально. Данная возможность реализуется с помощью стандартного механизма настроек пользователя. В плане видов характеристик НастройкиПользователей механизму подтверждения завершения работы с программой соответствует предопределенный элемент – ЗапрашиватьПодтверждениеПриЗакрытии, с типом значения Булево.

Вывод запроса на подтверждение выполняется в обработчике события ПередЗавершениемРаботыСистемы() модуля приложения:

Копировать в буфер обмена
Процедура ПередЗавершениемРаботыСистемы(Отказ) 

     Если глЗапрашиватьПодтверждениеПриЗакрытии <> Ложь Тогда 
          ЗапрашиватьПотверждение = ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ЗапрашиватьПодтверждениеПриЗакрытии"); 
          Если ЗапрашиватьПотверждение Тогда 
               Ответ = Вопрос("Завершить работу с программой?", РежимДиалогаВопрос.ДаНет); 
               Отказ = (Ответ = КодВозвратаДиалога.Нет); 
          КонецЕсли; 
     КонецЕсли; 

КонецПроцедуры

Экспортная переменная модуля приложения глЗапрашиватьПодтверждениеПриЗакрытии предназначения для "внутреннего" отключения вывода запроса на подтверждения, не связанного с настройками пользователя. Это может быть необходимо в случаях, когда закрытие программы инициируется некоторыми механизмами конфигурации и вывод запроса при этом не нужен. Например, в механизме принудительного завершения работы с пользователями.
Для того, чтобы избежать появления данного запроса значение данной переменной необходимо установить в ЛОЖЬ:

Копировать в буфер обмена

глЗапрашиватьПодтверждениеПриЗакрытии = Ложь;
ЗавершитьРаботуСистемы();