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

Автор: 1С
ОбщийМодуль.ОбщегоНазначенияКлиент
БСП

Задает вопрос о продолжении действия, которое приведет к закрытию формы.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
TurboConf - расширение Конфигуратора 1С

Похожие публикации

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

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

ПодтвердитьЗакрытиеПроизвольнойФормы (БСП)

ПодтвердитьЗакрытиеПроизвольнойФормыЗавершение (БСП)

ПодтвердитьЗакрытиеПроизвольнойФормыСейчас (БСП)