// *************************************************************************** // * * // * * // * * // * * // * 17.08.2010 WA-PRO (Administrator) * // *************************************************************************** ilosc_godzin_rehab_k=0 p_ilosc_godzin_rehab_k=0 if not pierwsza_lista and (p_system_placy$<>'miesięczny' or obl_urlopow$<>'nie obliczać') // pobranie ilości godzin z listy płac z poprzedniego miesiąca PobierzOkres(najpierwszy) a1=WyróżnikOkresu (Ilość godzin urlopu rehabilitacyjnego) if pprzeszeregowanie k$=PobierzNieobecność(najpierwszy-1) a6=0 if k$='U' or k$='Ż' or k$='R' a6=1 end a5=najpierwszy StartNieobecności(data_p1) //pętla po nieobecnościach od początku miesiąca loop NastępnaNieobecność() if Eof() or Nieobecność(Data Od) > postatni //koniec jeżeli skończyły się break //nieobecności lub dotyczą następnego miesiąca end if data_zwolnienia>0 and Nieobecność (Data Od)>data_zwolnienia break end a3=Nieobecność(Data Od) a4=Nieobecność(Data Do) a3=Max(a3,najpierwszy) a4=Min(a4,postatni) if Nieobecność (Kod Powodu)='R' case of a3=data_przeszeregowania and a4>=data_przeszeregowania a7=IlośćGodzinKalendarza(a3,a4,'R') if p_kxwsp a7=a7*p_wspolczynnik_etatu end if a3=a5 and a6 p_ilosc_godzin_rehab_k=p_ilosc_godzin_rehab_k+a7 a5=a4+1 else ilosc_godzin_rehab_k=ilosc_godzin_rehab_k+a7 end of ZawieraSię(data_przeszeregowania,a3,a4) a7=IlośćGodzinKalendarza(a3,data_przeszeregowania-1,'R') if ppkxwsp a7=a7*ppwspolczynnik_etatu end if a3=a5 and a6 p_ilosc_godzin_rehab_k=p_ilosc_godzin_rehab_k+a7 a5=a4+1 else ilosc_godzin_rehab_k=ilosc_godzin_rehab_k+a7 end a7=IlośćGodzinKalendarza(data_przeszeregowania,a4,'R') if p_kxwsp a7=a7*p_wspolczynnik_etatu end if a3=a5 and a6 p_ilosc_godzin_rehab_k=p_ilosc_godzin_rehab_k+a7 a5=a4+1 else ilosc_godzin_rehab_k=ilosc_godzin_rehab_k+a7 end end else a6=0 end end a2=p_ilosc_godzin_rehab_k+ilosc_godzin_rehab_k else // pobranie ilości godzin dotyczacych poprzedniego miesiąca z ewidencji // nieobecności k$=PobierzNieobecność(najpierwszy-1) a6=0 if k$='U' or k$='Ż' or k$='R' a6=1 end a5=najpierwszy StartNieobecności(data_p1) //pętla po nieobecnościach od początku miesiąca loop NastępnaNieobecność() if Eof() or Nieobecność(Data Od) > postatni //koniec jeżeli skończyły się break //nieobecności lub dotyczą następnego miesiąca end if data_zwolnienia>0 and Nieobecność (Data Od)>data_zwolnienia break end a3=Nieobecność(Data Od) a4=Nieobecność(Data Do) a3=Max(a3,najpierwszy) a4=Min(a4,postatni) if Nieobecność (Kod Powodu)='R' a7=IlośćGodzinKalendarza(a3,a4,'R') if p_kxwsp a7=a7*p_wspolczynnik_etatu end if a3=a5 and a6 p_ilosc_godzin_rehab_k=p_ilosc_godzin_rehab_k+a7 a5=a4+1 else ilosc_godzin_rehab_k=ilosc_godzin_rehab_k+a7 end else a6=0 end end a2=p_ilosc_godzin_rehab_k+ilosc_godzin_rehab_k end []=a2-a1 else []=0 end