Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Процедура ПерерассчитатьНачисления(ТребуемыйВидРасчета) Экспорт
- // Здесь следует выбрать из набора записей перерасчета записи в следующей последовательности: // записи документа1 для сотрудников из списка, // записи документа2 для сотрудников из списка и т. д. Запрос = Новый Запрос( "ВЫБРАТЬ | НачисленияПерерасчет.ОбъектПерерасчета, | НачисленияПерерасчет.Сотрудник |ИЗ | РегистрРасчета.Начисления.Перерасчет КАК НачисленияПерерасчет |ГДЕ | НачисленияПерерасчет.ВидРасчета = &ТребуемыйВидРасчета |ИТОГИ ПО | НачисленияПерерасчет.ОбъектПерерасчета");
- Запрос.УстановитьПараметр("ТребуемыйВидРасчета", ТребуемыйВидРасчета); СписокСотрудников = Новый СписокЗначений;
- // Перебрать группировку по регистратору. ВыборкаПоРегистратору = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПоРегистратору.Следующий() Цикл Регистратор = ВыборкаПоРегистратору.ОбъектПерерасчета;
- // Перебрать группировку по сотрудникам для выбранного регистратора // и создать список сотрудников. ВыборкаПоСотрудникам = ВыборкаПоРегистратору.Выбрать(); СписокСотрудников.Очистить(); Пока ВыборкаПоСотрудникам.Следующий() Цикл СписокСотрудников.Добавить(ВыборкаПоСотрудникам.Сотрудник); КонецЦикла;
- // Получить набор записей регистра расчета для выбранного регистратора. НаборЗаписей = РегистрыРасчета.Начисления.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Значение = Регистратор; НаборЗаписей.Прочитать();
- РассчитатьНачисления(НаборЗаписей, ТребуемыйВидРасчета, СписокСотрудников); НаборЗаписей.Записать( , Истина);
- // Очистить перерассчитанные записи в перерасчете. НаборЗаписейПерерасчета = РегистрыРасчета.Начисления.Перерасчеты.Перерасчет.СоздатьНаборЗаписей(); НаборЗаписейПерерасчета.Отбор.ОбъектПерерасчета.Значение = Регистратор; НаборЗаписейПерерасчета.Записать(); КонецЦикла;
- КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement