Скорее все дело опять в норме дней.
Нужно опять исправлять для увольнаяемых чтобы норма дней была не обрезана, иначе получается что отработана полная норма.
В итоге выяснил что проблема в документе инд табель. Дни после даты увольнения не помечаются как рабочие!!! модульобъекта - процедура Автозаполнение
Итак, ищем в модуле документа Начисления зарплаты организаций
процедуру "РассчитатьНачисления".
в ней есть вызов - "ПроведениеРасчетовПереопределяемый.РассчитатьЗаписиРегистраРасчета("ОсновныеНачисленияРаботниковОрганизаций", НаборОсновныеНачисления, ЗаписиДоходовНДФЛ, НаборРасчетСреднего, ВыборкаПоШапкеДокумента.ГоловнаяОрганизация, ВыборкаПоШапкеДокумента.ОбособленноеПодразделение, Начисления, Ложь, МассивИндексыСтрокНачисления, Физлицо, КомментироватьРасчет, , ?(Счетчик = 1, Ложь, Истина), КатегорияДоначисления, СведенияОДоначислениях, КурсВалютыУпрУчета);"
на этом месте уже бывает посчитана строка (регистррасчета).
внутри строки поле "НормаДней" получает неправильное значение.
Оно берет значение фактически отработаных дней и предоставляет как норму.
Соотвественно человек выходяший с работы получает 100% оклада.
Нужно исправить чтобы норма дней соотвествовала трудовому календарю.
+++
Строка получает значение в цикле по НаборОсновныеНачисления.
А НаборОсновныеНачисления = РегистрыРасчета.ОсновныеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
получает значение в цикле по выборке :
ВыборкаПоНачислениям = СформироватьЗапросПоНачисления(ВыборкаПоШапкеДокумента, Физлицо).Выбрать();
Тут скорее всего происходит расчет значений начислений
ДобавитьСтрокуОсновныхНачислений(ВыборкаПоНачислениям, ВыборкаПоШапкеДокумента, НаборОсновныеНачисления);
//////////////////
Процедура РассчитатьЗаписиРегистраРасчета
ПолучитьДанныеДляРасчета <---- нормы дней тут
-ОбщийМодуль ПроведениеРасчетовПереопределяемый
Комментариев нет:
Отправить комментарий