Вариант 1. Будет выведено сообщение "Закрыть форму?" и 2 кнопки "Да/Нет".
У формы нужно добавить реквизит, например "ЗакрытьФормуБезПодтверждения", содержащий в себе признак того, нужно выводить предупреждение или нет.
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
ТекстПредупреждения = "Закрыть форму?";
Оповещение = Новый ОписаниеОповещения("ВыбратьИЗакрыть", ЭтотОбъект);
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(ЭтотОбъект, Отказ, ЗавершениеРаботы, ТекстПредупреждения, "ЗакрытьФормуБезПодтверждения", Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
ЗакрытьФормуБезПодтверждения = Истина;
КонецПроцедуры
Вариант 2. Будет выведено сообщение "Данные были изменены. Сохранить изменения?" с 3 кнопками "Да/Нет/Отмена". Появление вопроса зависит от свойства модифицированности формы.
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Оповещение = Новый ОписаниеОповещения("ВыбратьИЗакрыть", ЭтотОбъект);
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы(Оповещение, Отказ, ЗавершениеРаботы);
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
// записываем данные формы.
// ...
Модифицированность = Ложь; // не выводить подтверждение о закрытии формы еще раз.
Закрыть();
КонецПроцедуры
Присоединение печатной формы в виде файла к объекту-основанию
Добавление команды в общую форму отчета на БСП
Использование СканераШтрихКодов с компонентой Драйвер1СУстройствоВводаNative от 1С
Дополнительный доход для разработчика 1С не отходя от кассы (компьютера)
Ищем разработчиков 1С. Платим 5000 рублей за 3 обработки + 80% с каждой оплаты