0
Отвечен
Годовая премия 2024
Волочнева Татьяна 11 месяцев назад
в Расчеты начислений и удержаний / Алгоритмы
•
обновлен Гашков Николай (Эксперт) 10 месяцев назад •
7
Подскажите, как настроить расчет годовой премии? Формула расчета: Оклад/ГодНормЧас*ГодФактЧас*% по основному месту работы.
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день.
Как определяется годовая норма?
фактЧасы из табеля или из видов?
"Оклад" - это БЗ или факт?
Добрый день!
Годовая норма определяется из нормативных календарей в часах. ФактЧасы из табеля. Оклад -БЗ.
данные берутся из текущего года? Факта за декабрь еще нет..
что делать если у сотрудника в течении года меняется календарь?
Данные берутся из текущего года.Зарплату за декабрь уже рассчитали.Если меняется график, брать по последнему
графику.
Попробуйте такой алгоритм
в оkladCode нужно указать внутренний код вида оклада..
UserAlg777(&info,&r) { double okladCode=4; int rowkod[ROWMAX];//массив с номерами строк int cntrow=poiskosnkodProp(okladCode,rowkod,0, GetCurPropCountLS());//получаем список строк //откидываем недействующие в month строки FiltrRowkod(rowkod,cntrow, mrasch,1); //нет оклада if(cntrow<1) { if(FL_V_ALG && uprc != NO_SCREEN) infolist.add_record("Оклад",0); info.n1=0; return code_Break; } double okladBz=GetBase(rowkod[0]); char t[20]; if((info.c=korrv(r,t,0,info.h,flagrow,jf)) != 1) return code_ReturnCode; double percent=r[2]; var lastDayYear=KDateFromInt_LastDay(GetAbsMonthForEndYear(mrasch)); //график определяем на 31.12.xxxx char str[256]; GetKchValue("grafik",str,10,lastDayYear); int calend=atoi(str); if (calend<1) calend=1; double nrv=GetYearNrv(calend,2,lastDayYear.GetYear()); double frv=GetYearFrv(GetCurPropCountLS().GetCombine(),2,lastDayYear.GetYear()); if(nrv>0.0001) info.n1= (okladBz*percent/100.)*frv/nrv; else info.n1=0; if(FL_V_ALG && uprc != NO_SCREEN) { infolist.add_record("Оклад",okladBz); infolist.add_record("Процент",percent); infolist.add_record("calend",calend); infolist.add_record("ФРВ год",frv); infolist.add_record("НРВ год",nrv); infolist.add_record("Результат",info.n1); } return code_Break; }USALG.S
Спасибо!