Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.8 kB
2
Indexable
Never
Процедура ОбработкаПроведения(Отказ, Режим)
	
	ПериодРегистрации = НачалоМесяца(Дата);
	
	// регистр ОсновныеНачисления
	Движения.ОсновныеНачисления.Записывать = Истина;
	Для Каждого СтрокаТаблицы Из ОсновныеНачисления Цикл
		Движение = Движения.ОсновныеНачисления.Добавить();
		Движение.Сторно = Ложь;
		Движение.ВидРасчета = СтрокаТаблицы.ВидРасчета;
		Движение.ПериодДействияНачало = СтрокаТаблицы.ДатаНачала;
		Движение.ПериодДействияКонец = СтрокаТаблицы.ДатаОкончания;
		Движение.ПериодРегистрации = ПериодРегистрации;
		Если СтрокаТаблицы.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Больничный Тогда
			Движение.БазовыйПериодНачало = ДобавитьМесяц(ПериодРегистрации, -1);
			Движение.БазовыйПериодКонец = ПериодРегистрации - 1;
			Движение.ГрафикРаботы = Справочники.ГрафикиРаботы.Пятидневка;
		КонецЕсли;	
		Движение.Сотрудник = СтрокаТаблицы.Сотрудник;
		Движение.ГрафикРаботы = СтрокаТаблицы.ГрафикРаботы;
		Движение.Подразделение = СтрокаТаблицы.Подразделение;
	КонецЦикла;
	
	СторноЗапись = Движения.ОсновныеНачисления.ПолучитьДополнение();
	Для Каждого Запись Из СторноЗапись Цикл
		Движение = Движения.ОсновныеНачисления.Добавить();
		Движение.Сторно = Истина;  
		ЗаполнитьЗначенияСвойств(Движение, Запись);
		Движение.ПериодРегистрации = Запись.ПериодРегистрацииСторно;
		Движение.ПериодДействияНачало = Запись.ПериодДействияНачалоСторно;
		Движение.ПериодДействияКонец = Запись.ПериодДействияКонецСторно;
	КонецЦикла;	                                                        
	
	// регистр ДополнительныеНачисления
	Движения.ДополнительныеНачисления.Записывать = Истина;
	Для Каждого СтрокаТаблицы Из ДополнительныеНачисления Цикл
		Движение = Движения.ДополнительныеНачисления.Добавить();
		Движение.Сторно = Ложь;
		Движение.ВидРасчета = СтрокаТаблицы.ВидРасчета;
		Движение.ПериодРегистрации = ПериодРегистрации;
		Движение.Сотрудник = СтрокаТаблицы.Сотрудник;
		Движение.Подразделение = СтрокаТаблицы.Подразделение;
		Движение.Результат = СтрокаТаблицы.Размер;
	КонецЦикла;
	
	Движения.Записать();
	
	Расчет.РассчитатьНачисления(Ссылка, Движения.ОсновныеНачисления);
	
КонецПроцедуры