Показать подтверждение закрытия произвольной формы. Задает вопрос о продолжении действия, которое приведет к закрытию формы.
// Задает вопрос о продолжении действия, которое приведет к закрытию формы.
// Для использования в обработчиках события ПередЗакрытием модулей форм.
// Для отображения вопроса в форме, которая возможно записать в информационную базу, используйте:
// см. процедуру ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы().
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, которая вызывает диалог предупреждения.
// Отказ - Булево - возвращаемый параметр, признак отказа от выполняемого действия.
// ЗавершениеРаботы - Булево - признак завершения работы программы.
// ТекстПредупреждения - Строка - текст предупреждения, выводимый пользователю.
// ИмяРеквизитаЗакрытьФормуБезПодтверждения - Строка - имя реквизита, содержащего в себе признак того, нужно
// выводить предупреждение или нет.
// ОписаниеОповещенияЗакрыть - ОписаниеОповещения - содержит имя процедуры, вызываемой при нажатии на кнопку "Да".
//
// Пример:
// ТекстПредупреждения = НСтр("ru = 'Закрыть помощник?'");
// ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(
// ЭтотОбъект, Отказ, ТекстПредупреждения, "ЗакрытьФормуБезПодтверждения");
//
Процедура ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(
Знач Форма,
Отказ,
Знач ЗавершениеРаботы,
Знач ТекстПредупреждения,
Знач ИмяРеквизитаЗакрытьФормуБезПодтверждения,
Знач ОписаниеОповещенияЗакрыть = Неопределено) Экспорт
Если Форма[ИмяРеквизитаЗакрытьФормуБезПодтверждения] Тогда
Возврат;
КонецЕсли;
Отказ = Истина;
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
Параметры = Новый Структура();
Параметры.Вставить("Форма", Форма);
Параметры.Вставить("ТекстПредупреждения", ТекстПредупреждения);
Параметры.Вставить("ИмяРеквизитаЗакрытьФормуБезПодтверждения", ИмяРеквизитаЗакрытьФормуБезПодтверждения);
Параметры.Вставить("ОписаниеОповещенияЗакрыть", ОписаниеОповещенияЗакрыть);
ИмяПараметра = "СтандартныеПодсистемы.ПараметрыПодтвержденияЗакрытияФормы";
Если ПараметрыПриложения[ИмяПараметра] = Неопределено Тогда
ПараметрыПриложения.Вставить(ИмяПараметра, Неопределено);
КонецЕсли;
ПараметрыПриложения["СтандартныеПодсистемы.ПараметрыПодтвержденияЗакрытияФормы"] = Параметры;
ПодключитьОбработчикОжидания("ПодтвердитьЗакрытиеПроизвольнойФормыСейчас", 0.1, Истина);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПоказатьПодтверждениеЗакрытияФормы (БСП)
ПоказатьПодтверждениеЗакрытияФормыСФайлами (БСП)
ПодтвердитьЗакрытиеПроизвольнойФормы (БСП)
ПодтвердитьЗакрытиеПроизвольнойФормыЗавершение (БСП)
ПодтвердитьЗакрытиеПроизвольнойФормыСейчас (БСП)
ПодтвердитьЗакрытиеФормы (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)