Untitled

mail@pastecode.io avatarunknown
plain_text
2 months ago
3.6 kB
1
Indexable
Never
Процедура ОбработкаПроведения(Отказ, Режим)

	ПериодРегистрации = НачалоМесяца(Дата);
	
	// регистр ОсновныеНачисления
	Движения.ОсновныеНачисления.Записывать = Истина;
	Для Каждого ТекСтрокаОсновныеНачисления Из ОсновныеНачисления Цикл
		Движение = Движения.ОсновныеНачисления.Добавить();
		Движение.Сторно = Ложь;
		Движение.ВидРасчета = ТекСтрокаОсновныеНачисления.ВидРасчета;
		Движение.ПериодДействияНачало = ТекСтрокаОсновныеНачисления.ДатаНачала;
		Движение.ПериодДействияКонец = ТекСтрокаОсновныеНачисления.ДатаОкончания;
		Движение.ПериодРегистрации = ПериодРегистрации;
		Движение.Сотрудник = ТекСтрокаОсновныеНачисления.Сотрудник;
		Движение.Бригада = ТекСтрокаОсновныеНачисления.Бригада;
		Движение.Размер = ТекСтрокаОсновныеНачисления.Размер;
	КонецЦикла;

	
	// регистр ДополнительныеНачисления
	Движения.ДополнительныеНачисления.Записывать = Истина;
	
	НачалоБазовогоПериодаПремии = ПериодРегистрации;
	КонецБазовогоПериодаПремии = КонецМесяца(ПериодРегистрации);
	
	Для Каждого ТекСтрокаДополнительныеНачисления Из ДополнительныеНачисления Цикл
		Движение = Движения.ДополнительныеНачисления.Добавить();
		Движение.Сторно = Ложь;
		Движение.ВидРасчета = ТекСтрокаДополнительныеНачисления.ВидРасчета;
		Движение.ПериодРегистрации = ПериодРегистрации;
		
		Если ТекСтрокаДополнительныеНачисления.ВидРасчета = ПланыВидовРасчета.ДополнительныеНачисления.Премия Тогда
			Движение.БазовыйПериодНачало = НачалоБазовогоПериодаПремии;
			Движение.БазовыйПериодКонец = КонецБазовогоПериодаПремии;
		КонецЕсли;
		                                                    
		Движение.Сотрудник = ТекСтрокаДополнительныеНачисления.Сотрудник;
		Движение.Бригада = ТекСтрокаДополнительныеНачисления.Бригада;
		Движение.Размер = ТекСтрокаДополнительныеНачисления.Размер;
	КонецЦикла;
	
	// Запись рабочих наборов записей
	Движения.Записать();	
	
	// Окончательные расчет данных в регистрах
	Расчет.РассчитатьНачисления(Ссылка, Движения);

КонецПроцедуры