Создание ведомостей на выплату зарплаты / Ведомость / Модуль формы

файл

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

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

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

#Область ОбработчикиСобытийЭлементовТаблицыФормыСостав

&НаКлиенте
Процедура СоставВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	ВедомостьНаВыплатуЗарплатыКлиент.СоставВыбор(ЭтаФорма, Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)	
КонецПроцедуры

&НаКлиенте
Процедура СоставПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
	Отказ = Истина;
КонецПроцедуры

&НаКлиенте
Процедура СоставПередУдалением(Элемент, Отказ)
	ВедомостьНаВыплатуЗарплатыКлиент.СоставПередУдалением(ЭтаФорма, Элемент, Отказ) 
КонецПроцедуры

&НаКлиенте
Процедура СоставПослеУдаления(Элемент)
	СоставПослеУдаленияНаСервере()
КонецПроцедуры

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

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

&НаКлиенте
Процедура РедактироватьЗарплату(Команда)
	РедактироватьЗарплатуСтроки(Элементы.Состав.ТекущиеДанные);	
КонецПроцедуры

&НаКлиенте
Процедура РедактироватьНДФЛ(Команда)
	РедактироватьНДФЛСтроки(Элементы.Состав.ТекущиеДанные);	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписатьИЗакрыть(Команда)
	ЗаписатьНаСервере();
	Закрыть()
КонецПроцедуры

&НаКлиенте
Процедура Записать(Команда)
	ЗаписатьНаСервере()
КонецПроцедуры

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

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

&НаСервере
Процедура СоставПослеУдаленияНаСервере()
	ВедомостьНаВыплатуЗарплатыФормы.СоставПослеУдаленияНаСервере(ЭтаФорма)
КонецПроцедуры

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

#Область ОбратныеВызовы

// АПК:78-выкл Экспорт необходим для обращений из общей функциональности ведомостей.

&НаКлиенте
Процедура РедактироватьЗарплатуСтроки(ДанныеСтроки) Экспорт
	ВедомостьНаВыплатуЗарплатыКлиент.РедактироватьЗарплатуСтроки(ЭтаФорма, ДанныеСтроки);	
КонецПроцедуры

&НаСервере
Процедура РедактироватьЗарплатуСтрокиЗавершениеНаСервере(РезультатыРедактирования) Экспорт
	ВедомостьНаВыплатуЗарплатыФормы.РедактироватьЗарплатуСтрокиЗавершениеНаСервере(ЭтаФорма, РезультатыРедактирования) 
КонецПроцедуры

&НаКлиенте
Процедура РедактироватьНДФЛСтроки(ДанныеСтроки) Экспорт
	ВедомостьНаВыплатуЗарплатыКлиент.РедактироватьНДФЛСтроки(ЭтаФорма, ДанныеСтроки);	
КонецПроцедуры

&НаСервере
Процедура РедактироватьНДФЛСтрокиЗавершениеНаСервере(РезультатыРедактирования) Экспорт
	ВедомостьНаВыплатуЗарплатыФормы.РедактироватьНДФЛСтрокиЗавершениеНаСервере(ЭтаФорма, РезультатыРедактирования) 
КонецПроцедуры

&НаСервере
Функция АдресВХранилищеЗарплатыПоСтроке(ИдентификаторСтроки) Экспорт
	Возврат ВедомостьНаВыплатуЗарплатыФормы.АдресВХранилищеЗарплатыПоСтроке(ЭтаФорма, ИдентификаторСтроки)
КонецФункции	

&НаСервере
Функция АдресВХранилищеНДФЛПоСтроке(ИдентификаторСтроки) Экспорт
	Возврат ВедомостьНаВыплатуЗарплатыФормы.АдресВХранилищеНДФЛПоСтроке(ЭтаФорма, ИдентификаторСтроки)
КонецФункции	

// АПК:78-вкл

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

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

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