1 октября 2024 в 10:41:16
(11 недель 5 дней 10 часов назад)
56299
V8.x Зарплата и Управление Персоналом
04.02.2018 19:07:56
Текст задания
ЗУП 3.1
Необходимо настроить расчет премии следующим образом.
1) Для каждого сотрудника необходимо хранить базовую величину премии, которую он получает, когда отработал
100% времени по своему графику (совпадает с производлственным календарем).
Желательно, чтобы эти данные хранились в виде списка сотрудников и суммой премии с датой создания.
С возможностью составления нового списка с изменениями на новую дату (например в одном из документов раздела Изменение оплаты сотрудников).
2) Сумма премии в общем случае считается как
Премия из п.1 * ( Дни по начислениям основной зарплаты по окладу и командировки (явка и командировки))/(Дни по графику сотрудника).
3) Должна быть возможность выбора периода, за текущий или предыдущий месяц.
4) Должна быть возможность добавления условий по гражданству и выбранному начислению.
Вот код для расчета в такой же обработки из ЗУП2.5
Если ЗначениеЗаполнено(СтрТЧ.КалендарныеДни) Тогда
Если Объект.ВидРасчета.Наименование="Премия за прошлый месяц" тогда
СтрокаТЧ.Результат = Мин(СтрТЧ.Премия, СтрТЧ.Премия*СтрТЧ.ОтработаноДней/СтрТЧ.КалендарныеДни);
КонецЕсли;
Если Объект.ВидРасчета.Наименование="Премия за прошлый месяц (mos)"
ИЛИ Объект.ВидРасчета.Наименование="Премия за текущий месяц (mos)" тогда
Если СтрТЧ.Гражданство="КНР" тогда
СтрокаТЧ.Результат =СтрТЧ.Премия;
Иначе
СтрокаТЧ.Результат = Мин(СтрТЧ.Премия, Окр(СтрТЧ.Премия*СтрТЧ.ОтработаноДней/СтрТЧ.КалендарныеДни,0));
КонецЕсли;
КонецЕсли;
КонецЕсли;
PS.
Есть обработка, которая делает такой расчет для ЗУП 2.5. в документе Премия (приложил).
Для п.1, если для хранения истории изменений нет простых вариантов ,
тогда подойдет, как это было в предыдущей обработке, хранить последнее значение.
Раньше это было в сотруднике в дополнительных свойствах.