// *************************************************************************** // * * // * Składnik oblicza wysokość wynagrodzenia za dni nieobecności * // * usprawiedliwionych płatnych wypłaconych nienależnie w poprzednim * // * miesiacu. * // * * // * 29.04.2016 WA-PRO (Dział Rozwoju Oprogramowania) * // *************************************************************************** // Zerowanie zmiennych używanych przez algorytm korekty Call Zerowanie zmiennych if [Korekta ilości dni usprawiedliwionych płatnych]<>0 or [Korekta ilości godzin usprawiedliwinych płatnych]<>0 if nakladca wynagr_usp_zmienne_k=[Korekta ilości dni usprawiedliwionych płatnych]*stawka_usp_pl_k bylo=0 else //ze składników stałych //najpierwszy, ppwynagrodzenie, twynagrodzenie, data_p1, data_p2, tdata_przeszeregowania, p_system_placy$, obl_urlopow$, ppwspolczynnik_etatu, p_wspolczynnik_etatu) PobierzOkres(najpierwszy) a1=WyróżnikOkresu (Stawka urlopowa:Składnik stały) a2=WyróżnikOkresu (Ilość godzin roboczych) bylo=WyróżnikOkresu (Wynagrodzenie usprawiedliwione płatne z miesiąca) if pprzeszeregowanie if p_system_placy$<>'miesięczny' or obl_urlopow$<>'nie obliczać' a3=IlośćGodzinNieobecności(data_p1,tdata_przeszeregowania-1,'S',0) a3=a3+IlośćGodzinNieobecności(data_p1,tdata_przeszeregowania-1,'A',0) a3=a3+IlośćGodzinNieobecności(data_p1,tdata_przeszeregowania-1,'O',0) a3=a3+IlośćGodzinNieobecności(data_p1,tdata_przeszeregowania-1,'K',0) if ppkxwsp a3=a3*ppwspolczynnik_etatu end a4=IlośćGodzinNieobecności(tdata_przeszeregowania,data_p2,'S',0) a4=a4+IlośćGodzinNieobecności(tdata_przeszeregowania,data_p2,'A',0) a4=a4+IlośćGodzinNieobecności(tdata_przeszeregowania,data_p2,'O',0) a4=a4+IlośćGodzinNieobecności(tdata_przeszeregowania,data_p2,'K',0) if p_kxwsp a4=a4*p_wspolczynnik_etatu end a5=IlośćGodzinKalendarza(najpierwszy,tdata_przeszeregowania-1,'R') a6=IlośćGodzinKalendarza(tdata_przeszeregowania,postatni,'R') if p_kxwsp a7=a6*p_wspolczynnik_etatu else a7=a6 end if ppkxwsp a8=a5*ppwspolczynnik_etatu else a8=a5 end if ppkxwsp a5=a5*ppwspolczynnik_etatu end pgodz_nom1=a5+ppwspolczynnik_etatu*a7/p_wspolczynnik_etatu if p_kxwsp a6=a6*p_wspolczynnik_etatu end pgodz_nom2=a6+p_wspolczynnik_etatu*a8/ppwspolczynnik_etatu wynagr_usp_stale_k=Round(ppwynagrodzenie/pgodz_nom1*a3,0.01) wynagr_usp_stale_k=wynagr_usp_stale_k+Round(twynagrodzenie/pgodz_nom2*a4,0.01) else wynagr_usp_stale_k=0 end else if a2=0 a2=IlośćGodzinKalendarza(najpierwszy,postatni,'R') if p_kxwsp a2=Round(a2*p_wspolczynnik_etatu,0.01) end end wynagr_usp_stale_k=Round(a1/a2*[Korekta ilości godzin usprawiedliwinych płatnych],0.01) bylo=0 end if najpierwszy