Помощник продаж / Реквизиты печати акта / Модуль формы

файл

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;

	СтруктураПараметров = ПолучитьПараметры(Параметры);
	СтруктураПараметров.Вставить("Контрагент",            Параметры.Контрагент);
	СтруктураПараметров.Вставить("ТолькоПросмотр",        Параметры.ТолькоПросмотр);
	ЗаполнитьЗначенияСвойств(ЭтаФорма, СтруктураПараметров);
	
	Если ТолькоПросмотр Тогда
		
		МассивЭлементов = Новый Массив();
		МассивЭлементов.Добавить("БанковскийСчетКонтрагента");
		МассивЭлементов.Добавить("ДополнительнаяИнформацияШапки");
		МассивЭлементов.Добавить("ДополнительнаяИнформация");
		
		ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(Элементы, МассивЭлементов, "ТолькоПросмотр", Истина);
		
	КонецЕсли;
	
КонецПроцедуры

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

&НаКлиенте
Процедура ПередЗакрытиемВопросЗавершение(ОтветНаВопрос, ДополнительныеПараметры) Экспорт
	
	Если ОтветНаВопрос = "НеЗакрывать" Тогда
		СохранитьПараметры = Ложь;
		
	Иначе
		
		ПринудительноЗакрытьФорму = Истина;
		Закрыть();
		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
	
	Если СохранитьПараметры И НЕ ЗавершениеРаботы Тогда
		
		СтруктураПараметров = ПолучитьПараметры(ЭтаФорма);
		ОповеститьОВыборе(СтруктураПараметров);
		
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура ОК(Команда)
	
	Если Не ТолькоПросмотр Тогда
		СохранитьПараметры = Истина;
	КонецЕсли;
	
	Закрыть();
	
КонецПроцедуры

&НаКлиенте
Процедура Отмена(Команда)
	
	Закрыть();
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

#Область Прочее

&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьПараметры(Источник)
	
	СтруктураПараметров = Новый Структура();
	СтруктураПараметров.Вставить("БанковскийСчетКонтрагента",     Источник.БанковскийСчетКонтрагента);
	СтруктураПараметров.Вставить("ДополнительнаяИнформация",      Источник.ДополнительнаяИнформация);
	СтруктураПараметров.Вставить("ДополнительнаяИнформацияШапки", Источник.ДополнительнаяИнформацияШапки);
	
	Возврат СтруктураПараметров;
	
КонецФункции

#КонецОбласти

#КонецОбласти

Связанные материалы