Код для расчет среднего выглядит так:
Функция РасчетСреднегоЗаработка(ДокументОбъект, ПорядокРасчетаСреднего, ПериодРасчетаСреднегоЗаработка, Начало, Окончание) Экспорт
....
ПоПремиям = Новый Массив(2);
//Премии: полностью учитываемые, индексируемые
ПоПремиям[0] = ПланыВидовРасчета.СреднийЗаработок.ПоПремиямИндексируемые;
ПоПремиям[1] = ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииИндексируемые;
ПоФиксПремиямНеИндексируемые = Новый Массив(2);
ПоФиксПремиямНеИндексируемые[0] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксГодовойПремииНеИндексируемые;
//Премии: учитываемые частично, не индексируемые
ПоФиксПремиямНеИндексируемые[1] = ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямНеИндексируемые;
//Остаются только Премии: полностью учитываемые, неиндексируемые
...
//Далее в запросе:
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоПремиям)
| ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.КоэффициентИндексации < 1
| ТОГДА 1
| ИНАЧЕ РасчетСреднегоЗаработка.КоэффициентИндексации
| КОНЕЦ
| КОГДА РасчетСреднегоЗаработка.ВидРасчета В (&ПоФиксПремиямНеИндексируемые)
| ТОГДА РасчетСреднегоЗаработка.Результат * ВЫБОР
| КОГДА РасчетСреднегоЗаработка.НормаПоПятидневке = 0
| ТОГДА 0
| ИНАЧЕ РасчетСреднегоЗаработка.ОтработаноПоПятидневке / РасчетСреднегоЗаработка.НормаПоПятидневке
| КОНЕЦ
| ИНАЧЕ РасчетСреднегоЗаработка.Результат
в последнее условие "Премии: полностью учитываемые, неиндексируемые" и попадают, т.е. полностью включаются в расчет среднего без учета отработанного времени и коэффициента индексации.
А ВОТ В функции ПолучитьБазуНачисленийОтСреднего, которая делит средний по ИФ:
Общий модуль ОтражениеВУчете
// Формирует запрос по определению базы начислений от среднего заработка в разрезе ИФ
Функция ПолучитьБазуНачисленийОтСреднего(Регистратор, ВидыРасчета)
...
Премии = Новый Массив();
//Премии: полностью учитываемые, индексируемые
Премии.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоПремиямИндексируемые);
Премии.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииИндексируемые);
ПремииНеИндексируемые = Новый Массив();
//Премии: полностью учитываемые, неиндексируемые
ПремииНеИндексируемые.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоПремиямНеИндексируемые);
ПремииНеИндексируемые.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоГодовойПремииНеИндексируемые);
//Премии: учитываемые частично, не индексируемые
ПремииНеИндексируемые.Добавить(ПланыВидовРасчета.СреднийЗаработок.ПоФиксПремиямНеИндексируемые);
...
запрос используется такой же, ка и при расчете среднего
а значит до ИНАЧЕ никогда не доходит, используется второе условия для Премии: полностью учитываемые, неиндексируемые и Премии: полностью учитываемые, неиндексируемые ,
при этом рассчитывается отработанное время, но для второй премии РасчетСреднегоЗаработка.НормаПоПятидневке = 0, поэтому и результат = 0,
т.е. Премии: полностью учитываемые, неиндексируемые не учитываются при распределении.
Выход:
1. Не использовать Премии: полностью учитываемые, неиндексируемые пока не исправят, чтоб не править конфигурацию.
2. Заремить строчку выделенную красным цветом в конфигураторе, тогда будет использоваться третье условие для распределения.