// identyfikator ubezpieczonego case of Pracownik (PESEL)<>'' identyf_ub$='PESEL' && Pracownik (PESEL) of Pracownik (Nr dowodu)<>'' identyf_ub$='dow¢d osobisty nr:' && Funkcja usuwaj¥ca znaki przestankowe (Pracownik (Nr dowodu)) of Pracownik (Nr paszportu) <>'' identyf_ub$='paszport nr:' && Funkcja usuwaj¥ca znaki przestankowe (Pracownik (Nr paszportu)) else identyf_ub$='' end // etat$='' Kartoteka anga¾y (Data od) =data Set(Kartoteka anga¾y) Previous(Kartoteka anga¾y) if eof() Clear(Kartoteka anga¾y) else etat$=Kartoteka anga¾y (Etat) end // kod_tyt$='' kod_kch$='' nazwa_kch$='' kod_tyt$=Pobierz tytuˆ ubezpieczenia (data, kod_tyt$) // Kasy chorych (Data)=data Set(Kasy chorych) Previous(Kasy chorych) if eof() clear (Kasy chorych) else kod_kch$=Kasy chorych (Kod) nazwa_kch$=PobierzWarto˜†Sˆownika(Kasy Chorych, Kasy chorych (Kod)) end // //informacja o przekroczeniu podstawy na ub.emerytalno-rentowe przekrocz$='' Informacje o przekroczeniu podstawy (Od miesi¥ca)=okres Set(Informacje o przekroczeniu podstawy) Previous(Informacje o przekroczeniu podstawy) if not eof() if Rok(okres)=Rok(Informacje o przekroczeniu podstawy (Od miesi¥ca)) przekrocz$=Informacje o przekroczeniu podstawy (Kto zgˆosiˆ) end end case of przekrocz$='pˆatnik' przekrocz$='zostaˆa przekazana przez pˆatnika skˆadek' of przekrocz$='ubezpieczony' przekrocz$='zostaˆa przekazana przez ubezpieczonego' of przekrocz$='ZUS' przekrocz$='zostaˆa przekazana przez ZUS' else przekrocz$='nie dotyczy' end // nagl=1 koniec=0 ostatni=0 kod_tyt2$='' kod_tyt3$='' lp=1 // okres=PierwszyDzieä (okres+40) pdata=OstatniDzieä(okres) // // ******** wska«niki ************* podstawa=Podaj kwot© z poprzedniego kwartaˆu (okres) podst_250=Round(podstawa*2.5,0.01) podstawa_w=Round(0.6*podstawa,0.01) podstawa=Round(0.6*podstawa,0.01) Stopy procentowe skˆadek na ub. spoˆeczne i zdrow. (Od miesi¥ca)=okres Set(Stopy procentowe skˆadek na ub. spoˆeczne i zdrow.) Previous(Stopy procentowe skˆadek na ub. spoˆeczne i zdrow.) if not eof() st_ub_emer=Stopy procentowe skˆadek na ub. spoˆeczne i zdrow. (Emerytalne) st_ub_rent_p=Stopy procentowe skˆadek na ub. spoˆeczne i zdrow. (Rentowe) st_ub_rent_u=Stopy procentowe skˆadek na ub. spoˆeczne i zdrow. (Rentowe ubezpieczony) st_ub_chor=Stopy procentowe skˆadek na ub. spoˆeczne i zdrow. (Chorobowe) st_ub_zdr=Stopy procentowe skˆadek na ub. spoˆeczne i zdrow. (Zdrowotne) end if okres0 Ostrze¾enie('Niepoprawne dane lub brak informacji o stopach procentowych skˆadek na ubezpieczenie spoˆeczne') else st_ub_rent_u=st_ub_rent_p/2 st_ub_rent_p=st_ub_rent_u end else if st_ub_rent_u=0 Ostrze¾enie('Niepoprawne dane lub brak informacji o stopach procentowych skˆadek na ubezpieczenie spoˆeczne') end end // Pˆaca minimalna (Od) = okres Set (Pˆaca minimalna) Previous(Pˆaca minimalna) if not eof() Placa_minimalna=Pˆaca minimalna (Wysoko˜†) placa_min30=Round(Placa_minimalna*0.3,0.01) else Ostrze¾enie ('Brakuje informacji o wysoko˜ci pˆacy minimalnej') end // Kwota zasiˆku staˆego z pomocy spoˆecznej (Od dnia) = OstatniDzieä(okres) Set (Kwota zasiˆku staˆego z pomocy spoˆecznej) Previous(Kwota zasiˆku staˆego z pomocy spoˆecznej) if not eof() zasilek_staly=Kwota zasiˆku staˆego z pomocy spoˆecznej (Kwota) else Ostrze¾enie ('Brakuje informacji o kwocie zasiˆku staˆego z pomocy spoˆecznej') end // Przeci©tne wynagrodzenie do cel¢w ZUS (Rok)=Rok(okres) Get(Przeci©tne wynagrodzenie do cel¢w ZUS) if found() roczna_podstawa_zus=Przeci©tne wynagrodzenie do cel¢w ZUS (Wysoko˜†) else Ostrze¾enie ('Brak informacji o przeci©tnym prognozowanym wynagrodzeniu rok'&&num2txt(Rok(okres))) end if okres>=Data(1,1,2009) //zmiana podstawy dla wˆa˜cicieli z kwartalnej na roczn¥ a1=Round(roczna_podstawa_zus/30,0.01) podstawa=Round(0.6*a1,0.01) end if {Firma zatrudniaj¥ca}='powy¾ej 20 pracownik¢w' ponad20=1 else ponad20=0 end // ************************************** // podstawa_emr=0 podstawa_chw=0 podstawa_zdr=0 emer=0 rent=0 emer_zp=0 rent_zp=0 chor=0 wyp_zp=0 zdr=0 // do wychowawczego pod_emr_w=0 pod_zdr_w=0 emer_zp_w=0 rent_zp_w=0 zdr_w=0 limit_w=0 kwota_m=0 //macierzyäski //----------------------------------- podst_emr_u=0 podst_chw_u=0 podst_zdr_u=0 emer_u=0 rent_u=0 chor_u=0 zdr_u=0 emer_zp_u=0 rent_zp_u=0 wyp_zp_u=0 // podstawa_emr=0 podstawa_chw=0 podstawa_zdr=0 emer=0 rent=0 emer_zp=0 rent_zp=0 chor=0 wyp_zp=0 zdr=0 // zatrudniony=0 na_umowe=0 umowa_od=0 umowa_do=0 na_umoweR=0 umowa=0 na_projekt=0 projekt_od=0 projekt_do=0 przekroczenie=0 absolwent=0 //--------------------------------------------------------------- //czy pracownik zatrudniony na umowe o prac© w okresie deklaracji data_zatrudnienia=Zatrudniony od (pdata) if data_zatrudnienia>0 data_zwolnienia=Zatrudniony do (pdata) if data_zwolnienia=0 data_zwolnienia=domyslna_data end Kartoteka um¢w o prac© (Data od)=pdata Set(Kartoteka um¢w o prac©) Previous(Kartoteka um¢w o prac©) if eof() Clear(Kartoteka um¢w o prac©) end if not Kartoteka um¢w o prac© (Sta¾ absolwencki) absolwent=0 else absolwent=1 end if Por¢wnaj okres z okresem (data_zatrudnienia, data_zwolnienia, okres, pdata) zatrudniony=1 RCA=1 //tworzymy deklaracje RCA end end if absolwent zatrudniony=0 RCA=0 //nie tworzymy deklaracji RCA end kod_tyt$=Pobierz tytuˆ ubezpieczenia (pdata, kod_tyt$) Pobierz typ identyfikatora osoby ubezpieczonej (rodz_dok_pr$, nr_dok_pr$) Ubezpieczenia dobrowolne (Data od)=pdata Set(Ubezpieczenia dobrowolne) Previous(Ubezpieczenia dobrowolne) if eof() Clear(Ubezpieczenia dobrowolne) else if Ubezpieczenia dobrowolne (Data od)>pdata Clear(Ubezpieczenia dobrowolne) end end // np. nakˆadca z prawem do emerytury RCA->RZA Ubezpieczenia obowi¥zkowe (Data od)=pdata Set(Ubezpieczenia obowi¥zkowe) Previous(Ubezpieczenia obowi¥zkowe) if eof() Clear(Ubezpieczenia obowi¥zkowe) else if Ubezpieczenia obowi¥zkowe (Data od)>pdata Clear(Ubezpieczenia obowi¥zkowe) end end if Ubezpieczenia obowi¥zkowe (Data obowi¥zku)'0110' RCA=0 end end end //----------------------------------------------------------- // —wiadczenia chorobowe i okresy przerw w opˆacaniu skˆadek Czy˜†TabNum() Czy˜†TabTxt() kodn$='' ilpoz=0 // ===== RSA zasiˆki ===== PobierzOkres(okres) a1=RejestrujListyWyr¢¾nikaOkresuWyp(OK) loop Nast©pnaListaWyr¢¾nika() if eof () break end if Lista (Nr typu listy)=1 pierwszy=Lista (Okres) nr_sys=Lista (Nr systemowy) li_zam=Lista (Zamkni©ta) //INFO('lista podstawowa:' && Pracownik (Nazwisko)) call wychowawczy if not zatrudniony and SubString(kod_tyt$,1,2)='01' if SubString(kod_tyt$,1,4)='0110' //zmiana tytuˆu ubezpieczenia je¾eli if okresOstatniDzieä(okres) break end if Nieobecno˜† (Data Do)0 data2=Min(data2,OstatniDzieä(okres_n)) ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 data1=0 end end end if data1<>0 data2=Min(data2,OstatniDzieä(okres_n)) ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 end end //---------------------------------------------------------- a1=0 if zatrudniony Umowy cywilno_prawne (Data wypˆaty)=okres Set(Umowy cywilno_prawne) loop Next(Umowy cywilno_prawne) if eof() or Umowy cywilno_prawne (Data wypˆaty)>OstatniDzieä(okres) break end if ZawieraSi©(Umowy cywilno_prawne (Data wypˆaty),data_zatrudnienia,data_zwolnienia) and Umowy cywilno_prawne (Rady nadzorcze)=0 a1=Umowy cywilno_prawne (Emerytalne zleceniobiorca) a1=a1+Umowy cywilno_prawne (Rentowe zleceniobiorca) a1=a1+Umowy cywilno_prawne (Chorobowe zleceniobiorca) a1=a1+Umowy cywilno_prawne (Zdrowotne zleceniobiorca) a1=a1+Umowy cywilno_prawne (Emerytalne zleceniodawca) a1=a1+Umowy cywilno_prawne (Rentowe zleceniodawca) a1=a1+Umowy cywilno_prawne (Wypadkowe zleceniodawca) if a1>0 emer=emer+Umowy cywilno_prawne (Emerytalne zleceniobiorca) rent=rent+Umowy cywilno_prawne (Rentowe zleceniobiorca) chor=chor+Umowy cywilno_prawne (Chorobowe zleceniobiorca) zdr=zdr+Umowy cywilno_prawne (Zdrowotne zleceniobiorca) emer_zp=emer_zp+Umowy cywilno_prawne (Emerytalne zleceniodawca) rent_zp=rent_zp+Umowy cywilno_prawne (Rentowe zleceniodawca) wyp_zp=wyp_zp+Umowy cywilno_prawne (Wypadkowe zleceniodawca) umowa=umowa+Umowy cywilno_prawne (Wynagrodzenie brutto) end end end PobierzOkres(okres) if not Wyr¢¾nikOkresuWyp (Rady U) podstawa_emr=Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. emerytalne i rentowe U) podstawa_chw=Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. chorobowe i wypadkowe U) podstawa_zdr=Max(Wyr¢¾nikOkresuWyp (Podstawa skˆadki zdrowotnej U),0) przekroczenie=Wyr¢¾nikOkresuWyp (Ograniczenie podstawy U) end //# podstawa_emr=podstawa_emr+Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. emerytalne i rentowe P) //# podstawa_chw=podstawa_chw+Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. chorobowe i wypadkowe P) //# podstawa_zdr=podstawa_zdr+Max(Wyr¢¾nikOkresuWyp(Podstawa skˆadki zdrowotnej P),0) //# przekroczenie=przekroczenie+Wyr¢¾nikOkresuWyp (Ograniczenie podstawy P) end PobierzOkres(okres) podstawa_emr=podstawa_emr+Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. emerytalne i rentowe) podstawa_chw=podstawa_chw+Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. chorobowe i wypadkowe) podstawa_zdr=podstawa_zdr+Max(Wyr¢¾nikOkresuWyp (Podstawa skˆadki zdrowotnej),0) zas_wych=Wyr¢¾nikOkresuWyp (Zasiˆek wychowawczy) wyn_ch=Wyr¢¾nikOkresuWyp (Wynagrodzenie chorobowe) il_piel=Wyr¢¾nikOkresuWyp (Ilo˜† zasiˆk¢w piel©gnacyjnych) przekroczenie=przekroczenie+Wyr¢¾nikOkresuWyp (Ograniczenie podstawy) if podstawa_emr+podstawa_chw+zas_wych+il_piel+przekroczenie+a1+wyn_ch>0 if not zatrudniony and SubString(kod_tyt$,1,2)='01' if SubString(kod_tyt$,1,4)='0110' //zmiana tytuˆu ubezpieczenia je¾eli if okres'0511' //info(1) if RCA podstawa_emr=podstawa_emr+umowa podstawa_chw=podstawa_chw+umowa podstawa_zdr=podstawa_zdr+(umowa-emer-rent-chor) emer=emer+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne) rent=rent+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe) chor=chor+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie chorobowe) zdr=zdr+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne) emer_zp=emer_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (pracodawca)) rent_zp=rent_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (pracodawca)) wyp_zp=wyp_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe) if not Wyr¢¾nikOkresuWyp (Rady U) emer=emer+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne U) rent=rent+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe U) chor=chor+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie chorobowe U) zdr=zdr+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne U) emer_zp=emer_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (pracodawca) U) rent_zp=rent_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (pracodawca) U) wyp_zp=wyp_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe U) end //# emer=emer+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne P) //# rent=rent+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe P) //# chor=chor+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie chorobowe P) //# zdr=zdr+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne P) //# emer_zp=emer_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (pracodawca) P) //# rent_zp=rent_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (pracodawca) P) //# wyp_zp=wyp_zp+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe P) else if podstawa_zdr>0 and (not absolwent) podstawa_zdr=podstawa_zdr zdr=Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne)+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne U) //# zdr=zdr+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne P) //info('tylko RZA_zdr:' && num2txt(zdr) && Pracownik (Nazwisko) ) end end else //info('2 -wˆa˜ciciele i osoby wsp¢ˆpracuj¥ce') a1=0 podst_wl=0 podst_wlc=0 podst_zdr_wl=0 skl_wsp=0 if Ubezpieczenia dobrowolne (Data od)>0 if Ubezpieczenia dobrowolne (Emerytalne) and Ubezpieczenia dobrowolne (Emerytalne od)<=pdata a1=1 end if Ubezpieczenia dobrowolne (Rentowe) and Ubezpieczenia dobrowolne (Rentowe od)<=pdata a1=1 end if Ubezpieczenia dobrowolne (Chorobowe) and Ubezpieczenia dobrowolne (Chorobowe od)<=pdata a1=1 end end if Ubezpieczenia obowi¥zkowe (Data obowi¥zku)>0 and Ubezpieczenia obowi¥zkowe (Data obowi¥zku)<=pdata or a1=1 // ------- kod ubezp. 0511 -------------- //info(Pracownik (Nazwisko) && Pracownik (Imi©) && kod_tyt$) Clear(Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych) Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Okres)= okres Get(Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych) // podst_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Podstawa) emer_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Skˆadka emerytalna) rent_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Skˆadka rentowa) podst_wlc=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Podstawa chorobowa) chor_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Skˆadka chorobowa) wyp_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Skˆadka wypadkowa) podst_zdr_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Podstawa zdrowotna) zdr_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Skˆadka zdrowotna) // -------------------------------------- else if Ubezpieczenia obowi¥zkowe (Zdrowotne od)>0 and Ubezpieczenia obowi¥zkowe (Zdrowotne od)<=pdata or | (Ubezpieczenia dobrowolne (Zdrowotne) and Ubezpieczenia dobrowolne (Zdrowotne od)<=pdata) podst_zdr_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Podstawa zdrowotna) zdr_wl=Podstawy na ubezp.spoˆeczne os¢b wsp¢ˆpracuj¥cych (Skˆadka zdrowotna) end end end // //umowy cywilno prawne //nie zawieraj¥ce si© w okresie zatrudnienia or Rady Nadzorcze emer_u=0 rent_u=0 chor_u=0 zdr_u=0 emer_zp_u=0 rent_zp_u=0 wyp_zp_u=0 umowa=0 RCAu=0 RZAu=0 dod_zat=0 kwota_rn=0 zdr_rn=0 // Clear(Umowy cywilno_prawne) Set(Umowy cywilno_prawne) loop Next(Umowy cywilno_prawne) if eof() //or Umowy cywilno_prawne (Data wypˆaty)>OstatniDzieä(okres) //zm 2.500 break end if not ZawieraSi©(Umowy cywilno_prawne (Data wypˆaty),data_zatrudnienia,data_zwolnienia) or data_zatrudnienia=-1 or Umowy cywilno_prawne (Rady nadzorcze) if ZawieraSi©(Umowy cywilno_prawne (Data wypˆaty),okres,pdata) a1=Umowy cywilno_prawne (Emerytalne zleceniobiorca) a1=a1+Umowy cywilno_prawne (Rentowe zleceniobiorca) a1=a1+Umowy cywilno_prawne (Chorobowe zleceniobiorca) a1=a1+Umowy cywilno_prawne (Zdrowotne zleceniobiorca) a1=a1+Umowy cywilno_prawne (Emerytalne zleceniodawca) a1=a1+Umowy cywilno_prawne (Rentowe zleceniodawca) a1=a1+Umowy cywilno_prawne (Wypadkowe zleceniodawca) if a1>0 IF Umowy cywilno_prawne (Rady nadzorcze) and SubString(kod_tyt$,1,4)='0110' // //zmiana tytuˆu ubezpieczenia je¾eli Rady Nadzorcze kwota_rn=kwota_rn+Umowy cywilno_prawne (Wynagrodzenie brutto) zdr_rn=zdr_rn+Umowy cywilno_prawne (Zdrowotne zleceniobiorca) //info('RN_kart_umc-kwota_rn:' && num2txt(kwota_rn)) else emer_u=emer_u+Umowy cywilno_prawne (Emerytalne zleceniobiorca) rent_u=rent_u+Umowy cywilno_prawne (Rentowe zleceniobiorca) chor_u=chor_u+Umowy cywilno_prawne (Chorobowe zleceniobiorca) zdr_u=zdr_u+Umowy cywilno_prawne (Zdrowotne zleceniobiorca) emer_zp_u=emer_zp_u+Umowy cywilno_prawne (Emerytalne zleceniodawca) rent_zp_u=rent_zp_u+Umowy cywilno_prawne (Rentowe zleceniodawca) wyp_zp_u=wyp_zp_u+Umowy cywilno_prawne (Wypadkowe zleceniodawca) umowa=umowa+Umowy cywilno_prawne (Wynagrodzenie brutto) END end end end end // umowy okresowe i Projekty if not zatrudniony umowa_od=Umowa okresowa od (pdata) if umowa_od>0 umowa_do=Umowa okresowa do (pdata) if Por¢wnaj okres z okresem (umowa_od, umowa_do, okres, pdata) if Umowy okresowe (Rady Nadzorcze) na_umoweR=1 //info('R-um_okresowa:' && data2txt(umowa_od) && data2txt(umowa_do)) else na_umowe=1 end a2=0 a1=0 if Ubezpieczenia dobrowolne (Data od)>0 if Ubezpieczenia dobrowolne (Emerytalne) and Ubezpieczenia dobrowolne (Emerytalne od)<=pdata a1=1 end if Ubezpieczenia dobrowolne (Rentowe) and Ubezpieczenia dobrowolne (Rentowe od)<=pdata a1=1 end if Ubezpieczenia dobrowolne (Chorobowe) and Ubezpieczenia dobrowolne (Chorobowe od)<=pdata a1=1 end end if Ubezpieczenia obowi¥zkowe (Data obowi¥zku)>0 and Ubezpieczenia obowi¥zkowe (Data obowi¥zku)<=pdata a1=1 end if Ubezpieczenia obowi¥zkowe (Emerytalne) a1=1 end if Ubezpieczenia obowi¥zkowe (Rentowe) a1=1 end if Ubezpieczenia obowi¥zkowe (Chorobowe) a1=1 end if Ubezpieczenia obowi¥zkowe (Wypadkowe) a1=1 end if Ubezpieczenia obowi¥zkowe (Zdrowotne od)>0 and Ubezpieczenia obowi¥zkowe (Zdrowotne od)<=pdata or | (Ubezpieczenia dobrowolne (Zdrowotne) and Ubezpieczenia dobrowolne (Zdrowotne od)<=pdata) a2=1 end if a1 RCAu=1 //generujemy rca else if a2 //generujemy rza RZAu=1 end end end end // projekty //# projekt_od=Umowa okresowa projekt od (pdata) //# if projekt_od>0 //# projekt_do=Umowa okresowa projekt do (pdata) //# if Por¢wnaj okres z okresem (projekt_od, projekt_do, okres, pdata) //# na_projekt=1 //# a2=0 //# a1=0 //# if Ubezpieczenia dobrowolne (Data od)>0 //# if Ubezpieczenia dobrowolne (Emerytalne) and Ubezpieczenia dobrowolne (Emerytalne od)<=pdata //# a1=1 //# end //# if Ubezpieczenia dobrowolne (Rentowe) and Ubezpieczenia dobrowolne (Rentowe od)<=pdata //# a1=1 //# end //# if Ubezpieczenia dobrowolne (Chorobowe) and Ubezpieczenia dobrowolne (Chorobowe od)<=pdata //# a1=1 //# end //# end //# if Ubezpieczenia obowi¥zkowe (Data obowi¥zku)>0 and Ubezpieczenia obowi¥zkowe (Data obowi¥zku)<=pdata //# a1=1 //# end //# if Ubezpieczenia obowi¥zkowe (Emerytalne) //# a1=1 //# end //# if Ubezpieczenia obowi¥zkowe (Rentowe) //# a1=1 //# end //# if Ubezpieczenia obowi¥zkowe (Chorobowe) //# a1=1 //# end //# if Ubezpieczenia obowi¥zkowe (Wypadkowe) //# a1=1 //# end //# if Ubezpieczenia obowi¥zkowe (Zdrowotne od)>0 and Ubezpieczenia obowi¥zkowe (Zdrowotne od)<=pdata or | //# (Ubezpieczenia dobrowolne (Zdrowotne) and Ubezpieczenia dobrowolne (Zdrowotne od)<=pdata) //# a2=1 //# end //# if a1 //# RCAu=1 //generujemy rca //# else //# if a2 //generujemy rza //# RZAu=1 //# end //# end //# end //# end // PobierzOkres(okres) a1=Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne U) a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe U) a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie chorobowe U) a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (pracodawca) U)+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (bud¾et) U) a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne prac U (PFRON)) a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (pracodawca) U)+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (bud¾et) U) a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe U)+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe (PFRON) U) a1=a1+Wyr¢¾nikOkresuWyp (Ograniczenie podstawy U) //# a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne P) //# a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe P) //# a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie chorobowe P) //# a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (pracodawca) P) //# a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (pracodawca) P) //# a1=a1+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe P) //# a1=a1+Wyr¢¾nikOkresuWyp (Ograniczenie podstawy P) dod_zat=a1 a2=Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne U) //# a2=a2+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne P) if a1 RCAu=1 //generujemy rca else if a2 and RCAu=0 //generujemy rza RZAu=1 end end //info('dod_zatr:' && num2txt(dod_zat) && 'zdr_u:' && num2txt(a2)) else // zatrudniony ale i Rady Nadzorcze umowa_od=Umowa okresowa od (pdata) if umowa_od>0 umowa_do=Umowa okresowa do (pdata) if Por¢wnaj okres z okresem (umowa_od, umowa_do, okres, pdata) if Umowy okresowe (Rady Nadzorcze) RZAu=1 end end end end // ---- nieobecno˜ci i zasiˆki z um¢w okresowych ----- if (na_umowe or na_umoweR) and (RCAu or RZAu) call nieob_u end a1=RejestrujListyWyr¢¾nikaOkresuWyp(OK U) //INFO('lista U:' && Pracownik (Nazwisko)&&num2txt(a1)) loop Nast©pnaListaWyr¢¾nika() if eof () break end if Lista (Nr typu listy)=7 and (not zatrudniony) //umowy Pobierz typ identyfikatora osoby ubezpieczonej (rodz_dok_pr$, nr_dok_pr$) pierwszy=Lista (Okres) nr_sys=Lista (Nr systemowy) li_zam=Lista (Zamkni©ta) if li_zam call zasilki_u else call zasilki_sys_u end end end // //projekty //# if na_projekt and (RCAu or RZAu) //# call nieob_p //# end //# a1=RejestrujListyWyr¢¾nikaOkresuWyp(OK P) //INFO('lista P:' && Pracownik (Nazwisko)&&num2txt(a1)) //# loop //# Nast©pnaListaWyr¢¾nika() //# if eof () //# break //# end //# if Lista (Nr typu listy)=9 and (not zatrudniony)//projekty //# Pobierz typ identyfikatora osoby ubezpieczonej (rodz_dok_pr$, nr_dok_pr$) //# pierwszy=Lista (Okres) //# nr_sys=Lista (Nr systemowy) //# li_zam=Lista (Zamkni©ta) //# if li_zam //# call zasilki_u //# else //# call zasilki_sys_u //# end //# end //# end if emer_u+rent_u+chor_u+emer_zp_u+rent_zp_u+wyp_zp_u+dod_zat>0 or RCAu //or na_umowe kod_tyt$=Pobierz tytuˆ ubezpieczenia (pdata, kod_tyt$) PobierzOkres(okres) podst_emr_u=umowa+Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. emerytalne i rentowe U) podst_chw_u=Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. chorobowe i wypadkowe U) if chor_u+wyp_zp_u>0 podst_chw_u=podst_chw_u+umowa end podst_zdr_u=Wyr¢¾nikOkresuWyp (Podstawa skˆadki zdrowotnej U) //info('jest RCA - RZA:' && Pracownik (Nazwisko) && kod_tyt$ && 'zdr:' && num2txt(zdr_u)) if zdr_u>0 podst_zdr_u=podst_zdr_u+(umowa-emer_u-rent_u-chor_u) end emer_u=emer_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne U) rent_u=rent_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe U) chor_u=chor_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie chorobowe U) zdr_u=zdr_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne U) emer_zp_u=emer_zp_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (pracodawca) U) rent_zp_u=rent_zp_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (pracodawca) U) wyp_zp_u=wyp_zp_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe U) //# podst_emr_u=podst_emr_u+Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. emerytalne i rentowe P) //# podst_chw_u=podst_chw_u+Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. chorobowe i wypadkowe P) //# podst_zdr_u=podst_zdr_u+Wyr¢¾nikOkresuWyp(Podstawa skˆadki zdrowotnej P) //# emer_u=emer_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne P) //# rent_u=rent_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe P) //# chor_u=chor_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie chorobowe P) //# zdr_u=zdr_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne P) //# emer_zp_u=emer_zp_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie emerytalne (pracodawca) P) //# rent_zp_u=rent_zp_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie rentowe (pracodawca) P) //# wyp_zp_u=wyp_zp_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie wypadkowe P) else if zdr_u>0 or RZAu //or na_umoweR kod_tyt$=Pobierz tytuˆ ubezpieczenia (pdata, kod_tyt$) if SubString(kod_tyt$,1,4)='0110' //zmiana tytuˆu ubezpieczenia je¾eli Rady Nadzorcze kwota_rn=kwota_rn+Wyr¢¾nikOkresuWyp (Podstawa skˆadki zdrowotnej U) zdr_rn=zdr_rn+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne U) else podst_zdr_u=umowa+Wyr¢¾nikOkresuWyp (Podstawa skˆadki zdrowotnej U) zdr_u=zdr_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne U) end //# podst_zdr_u=podst_zdr_u+Wyr¢¾nikOkresuWyp(Podstawa skˆadki zdrowotnej P) //# zdr_u=zdr_u+Wyr¢¾nikOkresuWyp (Skˆadka na ubezpieczenie zdrowotne P) //info('samo RZA:' && Pracownik (Nazwisko) && kod_tyt$ && kod_tyt2$ && 'zdr:' && num2txt(zdr_u)&& 'podst:' && num2txt(podst_zdr_u)) end end //-------------- IF not zatrudniony and (podst_emr_u+podst_chw_u+podst_zdr_u)>0 podstawa_emr=podst_emr_u podstawa_chw=podst_chw_u podstawa_zdr=podst_zdr_u emer=emer_u rent=rent_u chor=chor_u zdr=zdr_u emer_zp=emer_zp_u rent_zp=rent_zp_u wyp_zp=wyp_zp_u END //-------------- //rady nadzorcze zdr_rn=zdr_rn+Wyr¢¾nikOkresuWyp(Skˆadka na ubezpieczenie zdrowotne R) if zdr_rn>0 kod_tyt$=Pobierz tytuˆ ubezpieczenia (pdata, kod_tyt$) if SubString(kod_tyt$,1,4)<>'2240' if kod_tyt$='' //zmiana tytuˆu ubezpieczenia je¾eli pusty kod_tyt$='224000' else if kod_tyt2$='' kod_tyt2$='2240'&SubString(kod_tyt$,5,2) //rady nadzorcze else if kod_tyt3$='' kod_tyt3$='2240'&SubString(kod_tyt$,5,2) //rady nadzorcze end end end end kwota_rn=kwota_rn+Wyr¢¾nikOkresuWyp (Podstawa skˆadki zdrowotnej R) end if SubString(kod_tyt$,1,4)='2240' and kwota_rn>0 podstawa_zdr=kwota_rn zdr=zdr_rn end //-------------------------------------------------------- //info('wolna_skˆadki_okres:' && data2txt(okres) && num2txt(Wyr¢¾nikOkresuWyp (Podstawa skˆadki na ub. emerytalne i rentowe))&& pracownik$) // if kwota_m>0 // zmiana kodu ubezp. gdy macierzyäski if kod_tyt2$<>'' kod_tyt3$='1240'&SubString(kod_tyt$,5,2) else kod_tyt2$='1240'&SubString(kod_tyt$,5,2) end end // //---------------------------------------------------------- // sekcja B: —wiadczenia chorobowe i okresy przerw w opˆacaniu skˆadek zasilek$='' zas_od=0 zas_do=0 zas_dni=0 zas_kwota=0 zasilek2$='' zas_od2=0 zas_do2=0 zas_dni2=0 zas_kwota2=0 zasilek3$='' zas_od3=0 zas_do3=0 zas_dni3=0 zas_kwota3=0 zasilek4$='' zas_od4=0 zas_do4=0 zas_dni4=0 zas_kwota4=0 zasilek5$='' zas_od5=0 zas_do5=0 zas_dni5=0 zas_kwota5=0 zasilek6$='' zas_od6=0 zas_do6=0 zas_dni6=0 zas_kwota6=0 zas$='' i=1 while i<=ilpoz zas$=TabTxt(1,i) case of zas$='B' or zas$='Q' //zas$=zas$ && '- urlop bezpˆatny' zas$='urlop bezpˆatny' of zas$='N' zas$='nieobecno˜† nieusprawiedliwiona' of zas$='P' or zas$='3' zas$='nieobecno˜† usprawiedliwiona (niepˆatna)' of zas$='J' zas$='sˆu¾ba lub †wiczenia wojskowe' of zas$='W' zas$='urlop wychowawczy' else zas$=SubString(zas$,5,Len(zas$)) end case of i=1 zasilek$=zas$ zas_od=TabNum(1,i) zas_do=TabNum(2,i) zas_dni=zas_do-zas_od+1 zas_kwota=TabNum(3,i) if InString('rehab',zas$) zas_dni=1 end if InString('zasiˆek',zas$) or InString('rehab', zas$) if not ponad20 zas_dni=0 end end of i=2 zasilek2$=zas$ zas_od2=TabNum(1,i) zas_do2=TabNum(2,i) zas_dni2=zas_do2-zas_od2+1 zas_kwota2=TabNum(3,i) if InString('rehab',zas$) zas_dni2=1 end if InString('zasiˆek',zas$) or InString('rehab', zas$) if not ponad20 zas_dni2=0 end end of i=3 zasilek3$=zas$ zas_od3=TabNum(1,i) zas_do3=TabNum(2,i) zas_dni3=zas_do3-zas_od3+1 zas_kwota3=TabNum(3,i) if InString('rehab',zas$) zas_dni3=1 end if InString('zasiˆek',zas$) or InString('rehab', zas$) if not ponad20 zas_dni3=0 end end of i=4 zasilek4$=zas$ zas_od4=TabNum(1,i) zas_do4=TabNum(2,i) zas_dni4=zas_do4-zas_od4+1 zas_kwota4=TabNum(3,i) if InString('rehab',zas$) zas_dni4=1 end if InString('zasiˆek',zas$) or InString('rehab', zas$) if not ponad20 zas_dni4=0 end end of i=5 zasilek5$=zas$ zas_od5=TabNum(1,i) zas_do5=TabNum(2,i) zas_dni5=zas_do5-zas_od5+1 zas_kwota5=TabNum(3,i) // *** ML TabNum(5,i) if InString('rehab',zas$) zas_dni5=1 end if InString('zasiˆek',zas$) or InString('rehab', zas$) if not ponad20 zas_dni5=0 end end of i=6 zasilek6$=zas$ zas_od6=TabNum(1,i) zas_do6=TabNum(2,i) zas_dni6=zas_do6-zas_od6+1 zas_kwota6=TabNum(3,i) if InString('rehab',zas$) zas_dni6=1 end if InString('zasiˆek',zas$) or InString('rehab', zas$) if not ponad20 zas_dni6=0 end end end i=i+1 end if okres=PierwszyDzieä(okres_do) ostatni=1 end //info('wolna_zas_ilpoz:' && num2txt(ilpoz) && Pracownik (Nazwisko)&& Pracownik (Imi©)) //info('wolna_zasilek:' && zasilek$ && 'zas2:' && zasilek2$ && 'zas3:' && zasilek3$) //========================== // ***** procedury ***** zasilki: Karta zasiˆkowa (Okres)=PierwszyDzieä(pierwszy-1) Set(Karta zasiˆkowa) loop Next(Karta zasiˆkowa) // kodn$='' data1=0 data2=0 kwota=0 a1=0 a2=0 // if eof() or Karta zasiˆkowa (Okres)>pierwszy break end ok=1 if Karta zasiˆkowa (Nr listy syst.)<>nr_sys //Lista (Nr systemowy) ok=0 end if ok //zapis case of Karta zasiˆkowa (rodzaj)='8 do 35 dni' or | Karta zasiˆkowa (rodzaj)='7 do 35 dni' or | Karta zasiˆkowa (rodzaj)='C do 35 dni' or | Karta zasiˆkowa (rodzaj)='2 do 35 dni' or | Karta zasiˆkowa (rodzaj)='T do 35 dni' kodn$='331-wynagrodzenie chorobowe finansowane przez pracodawc©' of Karta zasiˆkowa (rodzaj)='8 ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='8 ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Karta zasiˆkowa (rodzaj)='C ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='C ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Karta zasiˆkowa (rodzaj)='7 ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='7 ponad 35 dni 80' or | Karta zasiˆkowa (rodzaj)='7 ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Karta zasiˆkowa (rodzaj)='2 ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='2 ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Karta zasiˆkowa (rodzaj)='T ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='T ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Karta zasiˆkowa (rodzaj)='1 do 35 dni' kodn$='333' // ????? of Karta zasiˆkowa (rodzaj)='1 ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='1 ponad 90 dni' kodn$='314-zasiˆek chorobowy z ubezpieczenia wypadkowego' of Karta zasiˆkowa (rodzaj)='M macierzyäski' or | Karta zasiˆkowa (rodzaj)='H macierzyäski' or | Karta zasiˆkowa (rodzaj)='F ojcowski' or | Karta zasiˆkowa (rodzaj)='W macierzyäski' kodn$='311-zasiˆek macierzyäski' kwota_m=kwota_m+Karta zasiˆkowa (Zasiˆek brutto) of Karta zasiˆkowa (rodzaj)='D opiekuäczy' or | Karta zasiˆkowa (rodzaj)='I opiekuäczy' or | Karta zasiˆkowa (rodzaj)='E opiekuäczy' kodn$='312-zasiˆek opiekuäczy' of Karta zasiˆkowa (rodzaj)='4 ˜wiadczenie' or | Karta zasiˆkowa (rodzaj)='6 ˜wiadczenie' or | Karta zasiˆkowa (rodzaj)='9 ˜wiadczenie' kodn$='321-˜wiadczenie rehabiltacyjne z ub.chorobowego' of Karta zasiˆkowa (rodzaj)='5 ˜wiadczenie' kodn$='322-˜wiadczenie rehabiltacyjne z ub.wypadkowego' if ponad20 // (Ilo˜† dni)=1 else // (Ilo˜† dni)=0 end end data1=Karta zasiˆkowa (Data od) data2=Karta zasiˆkowa (Data do) kwota=Karta zasiˆkowa (Zasiˆek brutto) if data1<>0 ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 TabNum(3,ilpoz)=kwota end end end // zasilki_sys: Clear(Kartoteka zasiˆkowa systemowa) Set(Kartoteka zasiˆkowa systemowa) loop Next(Kartoteka zasiˆkowa systemowa) // kodn$='' data1=0 data2=0 kwota=0 a1=0 a2=0 // if eof() break end if Kartoteka zasiˆkowa systemowa (Numer listy)=nr_sys //Lista (Nr systemowy) ok=1 if Kartoteka zasiˆkowa systemowa (korekta) Clear(Karta zasiˆkowa) Set(Karta zasiˆkowa) loop Next(Karta zasiˆkowa) if eof() break end if Karta zasiˆkowa (Data od)=Kartoteka zasiˆkowa systemowa (Data od) and Karta zasiˆkowa (rodzaj)=Kartoteka zasiˆkowa systemowa (rodzaj) ok=0 end //doplaty if Kartoteka zasiˆkowa systemowa (Data od)>=Data(1,10,2003) if Karta zasiˆkowa (Data od)=Kartoteka zasiˆkowa systemowa (Data od) and (Karta zasiˆkowa (rodzaj)<>Kartoteka zasiˆkowa systemowa (rodzaj) or | Karta zasiˆkowa (Pomniejszenie)<>Kartoteka zasiˆkowa systemowa (Pomniejszenie)) case of Kartoteka zasiˆkowa systemowa (rodzaj)='8 do 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='7 do 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='2 do 35 dni' kodn$='335' of Kartoteka zasiˆkowa systemowa (rodzaj)='8 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='8 ponad 90 dni' kodn$='317' if ponad20 // (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else // (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='1 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='1 ponad 90 dni' kodn$='318' if ponad20 // (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else // (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='C do 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='T do 35 dni' kodn$='335' of Kartoteka zasiˆkowa systemowa (rodzaj)='C ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='C ponad 90 dni' kodn$='317' of Kartoteka zasiˆkowa systemowa (rodzaj)='T ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='T ponad 90 dni' kodn$='317' if ponad20 // (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else // (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='M macierzyäski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='H macierzyäski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='F ojcowski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='W macierzyäski' kodn$='315' of Kartoteka zasiˆkowa systemowa (rodzaj)='D opiekuäczy' or | Kartoteka zasiˆkowa systemowa (rodzaj)='I opiekuäczy' or | Kartoteka zasiˆkowa systemowa (rodzaj)='E opiekuäczy' kodn$='316' of Kartoteka zasiˆkowa systemowa (rodzaj)='4 ˜wiadczenie' or | Kartoteka zasiˆkowa systemowa (rodzaj)='6 ˜wiadczenie' or | Kartoteka zasiˆkowa systemowa (rodzaj)='9 ˜wiadczenie' kodn$='323' of Kartoteka zasiˆkowa systemowa (rodzaj)='5 ˜wiadczenie' kodn$='324' of Kartoteka zasiˆkowa systemowa (rodzaj)='7 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='7 ponad 35 dni 80' or | Kartoteka zasiˆkowa systemowa (rodzaj)='7 ponad 90 dni' kodn$='317' of Kartoteka zasiˆkowa systemowa (rodzaj)='2 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='2 ponad 90 dni' kodn$='317' end data1=Kartoteka zasiˆkowa systemowa (Data od)+Kartoteka zasiˆkowa systemowa (Pomniejszenie) if Karta zasiˆkowa (Pomniejszenie)>Kartoteka zasiˆkowa systemowa (Pomniejszenie) and | Karta zasiˆkowa (rodzaj)=Kartoteka zasiˆkowa systemowa (rodzaj) data2=Kartoteka zasiˆkowa systemowa (Data od) else data2=Kartoteka zasiˆkowa systemowa (Data do) end a1=Kartoteka zasiˆkowa systemowa (Stawka dzienna)*(Kartoteka zasiˆkowa systemowa (Ilo˜† dni)-Kartoteka zasiˆkowa systemowa (Pomniejszenie)) //jest a2=Karta zasiˆkowa (Zasiˆek brutto) kwota=Max(a1-a2,0) if kodn$='315' // wyr¢wnanie macierzyäskiego kwota_m=kwota_m+kwota end if kwota>0 ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 TabNum(3,ilpoz)=kwota end ok=0 break end end end end if Kartoteka zasiˆkowa systemowa (Data do)-Kartoteka zasiˆkowa systemowa (Data od)+1-Kartoteka zasiˆkowa systemowa (Pomniejszenie)=0 | and Kartoteka zasiˆkowa systemowa (Data od)>=Data(1,10,2003) ok=0 end if ok //zapis case of Kartoteka zasiˆkowa systemowa (rodzaj)='8 do 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='7 do 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='2 do 35 dni' kodn$='331-wynagrodzenie chorobowe finansowane przez pracodawc©' of Kartoteka zasiˆkowa systemowa (rodzaj)='C do 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='T do 35 dni' kodn$='331-wynagrodzenie chorobowe finansowane przez pracodawc©' of Kartoteka zasiˆkowa systemowa (rodzaj)='8 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='8 ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' if ponad20 // (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else // (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='7 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='7 ponad 35 dni 80' or | Kartoteka zasiˆkowa systemowa (rodzaj)='7 ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Kartoteka zasiˆkowa systemowa (rodzaj)='2 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='2 ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Kartoteka zasiˆkowa systemowa (rodzaj)='C ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='C ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Kartoteka zasiˆkowa systemowa (rodzaj)='T ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='T ponad 90 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' of Kartoteka zasiˆkowa systemowa (rodzaj)='1 do 35 dni' kodn$='333' // ???? of Kartoteka zasiˆkowa systemowa (rodzaj)='1 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='1 ponad 90 dni' kodn$='314-zasiˆek chorobowy z ubezpieczenia wypadkowego' of Kartoteka zasiˆkowa systemowa (rodzaj)='M macierzyäski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='H macierzyäski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='F ojcowski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='W macierzyäski' kodn$='311-zasiˆek macierzyäski' of Kartoteka zasiˆkowa systemowa (rodzaj)='D opiekuäczy' or | Kartoteka zasiˆkowa systemowa (rodzaj)='I opiekuäczy' or | Kartoteka zasiˆkowa systemowa (rodzaj)='E opiekuäczy' kodn$='312-zasiˆek opiekuäczy' of Kartoteka zasiˆkowa systemowa (rodzaj)='4 ˜wiadczenie' or | Kartoteka zasiˆkowa systemowa (rodzaj)='6 ˜wiadczenie' or | Kartoteka zasiˆkowa systemowa (rodzaj)='9 ˜wiadczenie' kodn$='321-˜wiadczenie rehabiltacyjne z ub.chorobowego' of Kartoteka zasiˆkowa systemowa (rodzaj)='5 ˜wiadczenie' kodn$='322-˜wiadczenie rehabiltacyjne z ub.wypadkowego' end data1=Kartoteka zasiˆkowa systemowa (Data od) data2=Kartoteka zasiˆkowa systemowa (Data do) kwota=Kartoteka zasiˆkowa systemowa (Stawka dzienna)*Kartoteka zasiˆkowa systemowa (Ilo˜† dni) if SubString(kodn$,1,3)='311' /// *** ML byˆo kodn$='311' // macierzyäski kwota_m=kwota_m+kwota end if data1<>0 ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 TabNum(3,ilpoz)=kwota end end end end // zasilki_zus: // kodn$='' data1=0 data2=0 kwota=0 a1=0 a2=0 // a1=Wyr¢¾nikOkresuWyp (Zasiˆek wyr¢wnawczy) a2=Wyr¢¾nikOkresuWyp (Ilo˜† dni zasiˆku wyr¢wnawczego) if a1>0 Zasiˆki wyr¢wnawcze (Data od)=OstatniDzieä(okres) Set(Zasiˆki wyr¢wnawcze) Previous(Zasiˆki wyr¢wnawcze) if not eof() if Zasiˆki wyr¢wnawcze (Data od)<=okres and Zasiˆki wyr¢wnawcze (Data do)>=OstatniDzieä(okres) data1=Zasiˆki wyr¢wnawcze (Data od) data2=Zasiˆki wyr¢wnawcze (Data do) end end //data1=Max(data1,okres) //data2=Min(data2,OstatniDzieä(okres)) if data1<>0 kodn$='212-zasiˆek wyr¢wnawczy' ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 TabNum(3,ilpoz)=kwota end end // wychowawczy: data1 = Max (okres, data_zatrudnienia) data2 = Min (pdata, data_zwolnienia) wyl=0 wyl_zd=0 Clear(Wyˆ¥czenia) Set(Wyˆ¥czenia) //Previous(Wyˆ¥czenia) loop Next(Wyˆ¥czenia) if eof() break end if Wyˆ¥czenia (Okres_do)=0 Wyˆ¥czenia (Okres_do)=domyslna_data end //sprawdzenie czy nie wyˆaczone naliczanie dla kodu 12xx if Por¢wnaj okres z okresem (okres, pdata, Wyˆ¥czenia (Okres_od), Wyˆ¥czenia (Okres_do)) | and Wyˆ¥czenia (Rodzaj)='spoˆecznego i zdrowotnego' wyl=1 end if Por¢wnaj okres z okresem (okres, pdata, Wyˆ¥czenia (Okres_od), Wyˆ¥czenia (Okres_do)) | and Wyˆ¥czenia (Rodzaj)='zdrowotnego' wyl_zd=1 end end if SubString(kod_tyt$,5,1)<>'0' wyl=1 //INFO('wych-wyˆ¥cz. skˆadek:' && Pracownik (Nazwisko)&&num2txt(wyl)&&num2txt(wyl_zd)) end // zas_w=0 data1=okres data2=OstatniDzieä(okres) Zasiˆek wychowawczy (Od miesi¥ca)=okres Set(Zasiˆek wychowawczy) Previous(Zasiˆek wychowawczy) if not eof() //pobranie wˆa˜ciwego zapisu o przysˆuguj¥cym zasiˆku wychowawczym if Zasiˆek wychowawczy (Od miesi¥ca)<=OstatniDzieä(okres) and Zasiˆek wychowawczy (Do miesi¥ca)>=okres zas_w=1 end end //INFO('wych:' && Pracownik (Nazwisko)&&Pracownik (Imi©)&&num2txt(zas_w)) if okres>=Data(1,5,2004) zas_w=0 end if not wyl and (ponad20 or (ponad20=0 and zas_w=0)) dni=Ilo˜†Nieobecno˜ci(data1,data2,'W',3) //INFO('dni wych:' && Pracownik (Nazwisko)&&num2txt(dni)) //jezeli wyst¥piˆy nieobecno˜ci typu W if dni=0 //brak informacji o urlopie wychowawczym w ewidencji //INFO('0'&&Pracownik (Nazwisko)) ok=0 if okres>Data(1,6,2001) ok=1 else a1=RejestrujListyWyr¢¾nikaOkresuWyp(Zasiˆek wychowawczy) loop Nast©pnaListaWyr¢¾nika() if eof () break end if Lista (Nr typu listy)=1 if Lista (Okres)=Data(1,6,2001) ok=1 break end end end end if ok PobierzOkres(okres) pod_zdr_w=Wyr¢¾nikOkresuWyp (Zasiˆek wychowawczy) if pod_zdr_w and wyl_zd=0 if okres>=Data(1,5,2004) pod_zdr_w=pod_zdr_w+zasilek_staly //??? end pod_emr_w=0 //placa_minimalna end end end //zasiˆek macierzyäski w okresie urlopu wychowawczego dni_mw=0 Clear(Zasiˆek macierzyäski w okresie wychowawczego) Set(Zasiˆek macierzyäski w okresie wychowawczego) loop Next(Zasiˆek macierzyäski w okresie wychowawczego) if eof() or Zasiˆek macierzyäski w okresie wychowawczego (Data od)>OstatniDzieä(okres) break end if Por¢wnaj okres z okresem (Zasiˆek macierzyäski w okresie wychowawczego (Data od), Zasiˆek macierzyäski w okresie wychowawczego (Data do), data1, data2) if Zasiˆek macierzyäski w okresie wychowawczego (Data od)data2 Zasiˆek macierzyäski w okresie wychowawczego (Data do)=data2 end dni_mw=dni_mw+Zasiˆek macierzyäski w okresie wychowawczego (Data do)-Zasiˆek macierzyäski w okresie wychowawczego (Data od)+1 end end dni=Max(dni-dni_mw,0) dni_mies=OstatniDzieä(okres)-PierwszyDzieä(okres)+1 if dni kod_tyt2$='1211'&SubString(kod_tyt$,5,2) case of okres=Data(1,5,2004) pod_zdr_w=pod_zdr_w+Wyr¢¾nikOkresuWyp (Zasiˆek wychowawczy) end if wyl_zd zdr_w=0 pod_zdr_w=0 else zdr_w=Round(pod_zdr_w*st_ub_zdr/100,0.01) end emer_zp_w=Round(pod_emr_w*st_ub_emer/100,0.01) rent_zp_w=Round(pod_emr_w*(st_ub_rent_p+st_ub_rent_u)/100,0.01) end end // //umowy okresowe nieob_u: //za okresy nieskˆadkowe w miesi¥cu deklarcacji data1 = Max (okres, umowa_od) data2 = Min (pdata, umowa_do) Clear(Ewidencja nieobecno˜ci dla um¢w) Set(Ewidencja nieobecno˜ci dla um¢w) loop Next(Ewidencja nieobecno˜ci dla um¢w) if Eof() or Ewidencja nieobecno˜ci dla um¢w (Data od) > data2 break end // if Ewidencja nieobecno˜ci dla um¢w (Pow¢d nieobecno˜ci)<>'choroba' k$=PobierzKodSˆownika(Rodzaje okres¢w nieskˆadkowych,Ewidencja nieobecno˜ci dla um¢w (Pow¢d nieobecno˜ci)) if not (k$='311' or k$='312' or k$='313' or k$='314') a1=Ewidencja nieobecno˜ci dla um¢w (Data od) a2=Ewidencja nieobecno˜ci dla um¢w (Data do) if Por¢wnaj okres z okresem (a1, a2, okres, pdata) if a1data2 a2=data2 end kodn$=PobierzKodSˆownika(Rodzaje okres¢w nieskˆadkowych,Ewidencja nieobecno˜ci dla um¢w (Pow¢d nieobecno˜ci)) ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=a1 TabNum(2,ilpoz)=a2 end end end // zasilki_sys_u: dni=0 Clear(Kartoteka zasiˆkowa systemowa) Set(Kartoteka zasiˆkowa systemowa) loop Next(Kartoteka zasiˆkowa systemowa) if eof() break end if Kartoteka zasiˆkowa systemowa (Numer listy)=nr_sys//Lista (Nr systemowy) case of Kartoteka zasiˆkowa systemowa (rodzaj)='8 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='7 ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='2 ponad 35 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' if ponad20 // RSA system (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else // RSA system (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='C ponad 35 dni' or | Kartoteka zasiˆkowa systemowa (rodzaj)='T ponad 35 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' if ponad20 //RSA system (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='1 ponad 35 dni' kodn$='314-zasiˆek chorobowy z ubezpieczenia wypadkowego' if ponad20 //RSA system (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='M macierzyäski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='H macierzyäski' or | Kartoteka zasiˆkowa systemowa (rodzaj)='F ojcowski' kodn$='311-zasiˆek macierzyäski' if ponad20 //RSA system (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end of Kartoteka zasiˆkowa systemowa (rodzaj)='D opiekuäczy' or | Kartoteka zasiˆkowa systemowa (rodzaj)='I opiekuäczy' or | Kartoteka zasiˆkowa systemowa (rodzaj)='E opiekuäczy' kodn$='312-zasiˆek opiekuäczy' if ponad20 //RSA system (Ilo˜† dni)=Kartoteka zasiˆkowa systemowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end end data1=Kartoteka zasiˆkowa systemowa (Data od) data2=Kartoteka zasiˆkowa systemowa (Data do) kwota=Kartoteka zasiˆkowa systemowa (Stawka dzienna)*Kartoteka zasiˆkowa systemowa (Ilo˜† dni) if SubString(kodn$,1,3)='311' /// *** ML byˆo kodn$='311' // macierzyäski kwota_m=kwota_m+kwota end if kwota>0 ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 TabNum(3,ilpoz)=kwota end end end // zasilki_u: dni=0 Karta zasiˆkowa (Okres)=pierwszy Set(Karta zasiˆkowa) loop Next(Karta zasiˆkowa) // kodn$='' data1=0 data2=0 kwota=0 a1=0 a2=0 // if eof() or Karta zasiˆkowa (Okres)>pierwszy break end if Karta zasiˆkowa (Nr listy syst.)=nr_sys//Lista (Nr systemowy) case of Karta zasiˆkowa (rodzaj)='8 ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='7 ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='2 ponad 35 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' if ponad20 // RSA system (Ilo˜† dni)=Karta zasiˆkowa (Ilo˜† dni) else // RSA system (Ilo˜† dni)=0 end of Karta zasiˆkowa (rodzaj)='C ponad 35 dni' or | Karta zasiˆkowa (rodzaj)='T ponad 35 dni' kodn$='313-zasiˆek chorobowy z ubezpieczenia chorobowego' if ponad20 //RSA system (Ilo˜† dni)=Karta zasiˆkowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end of Karta zasiˆkowa (rodzaj)='1 ponad 35 dni' kodn$='314-zasiˆek chorobowy z ubezpieczenia wypadkowego' if ponad20 //RSA system (Ilo˜† dni)=Karta zasiˆkowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end of Karta zasiˆkowa (rodzaj)='M macierzyäski' or | Karta zasiˆkowa (rodzaj)='H macierzyäski' or | Karta zasiˆkowa (rodzaj)='F ojcowski' kodn$='311-zasiˆek macierzyäski' kwota_m=kwota_m+Karta zasiˆkowa (Zasiˆek brutto) if ponad20 //RSA system (Ilo˜† dni)=Karta zasiˆkowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end of Karta zasiˆkowa (rodzaj)='D opiekuäczy' or | Karta zasiˆkowa (rodzaj)='I opiekuäczy' or | Karta zasiˆkowa (rodzaj)='E opiekuäczy' kodn$='312-zasiˆek opiekuäczy' if ponad20 //RSA system (Ilo˜† dni)=Karta zasiˆkowa (Ilo˜† dni) else //RSA system (Ilo˜† dni)=0 end end data1=Karta zasiˆkowa (Data od) data2=Karta zasiˆkowa (Data do) kwota=Karta zasiˆkowa (Zasiˆek brutto) if data1<>0 ilpoz=ilpoz+1 TabTxt(1,ilpoz)=kodn$ TabNum(1,ilpoz)=data1 TabNum(2,ilpoz)=data2 TabNum(3,ilpoz)=kwota end end end // //projekty //#nieob_p: //za okresy nieskˆadkowe w miesi¥cu deklarcacji //# data1 = Max (okres, projekt_od) //# data2 = Min (pdata, projekt_do) //# Clear(Ewidencja nieobecno˜ci do projekt¢w) //# Set(Ewidencja nieobecno˜ci do projekt¢w) //# loop //# Next(Ewidencja nieobecno˜ci do projekt¢w) //# if Eof() or Ewidencja nieobecno˜ci do projekt¢w (Data od) > data2 //# break //# end //# k$=PobierzKodSˆownika(Rodzaje okres¢w nieskˆadkowych,Ewidencja nieobecno˜ci do projekt¢w (Pow¢d nieobecno˜ci)) //# if not (k$='311' or k$='312' or k$='313' or k$='314') //# a1=Ewidencja nieobecno˜ci do projekt¢w (Data od) //# a2=Ewidencja nieobecno˜ci do projekt¢w (Data do) //# if Por¢wnaj okres z okresem (a1, a2, okres, pdata) //# if a1data2 //# a2=data2 //# end ////# Clear(RSA system) ////# RSA system (Nazwisko)=Pracownik (Nazwisko) ////# RSA system (Imi©)=Pracownik (Imi©) ////# RSA system (Typ id)=rodz_dok_pr$ ////# RSA system (Id)=nr_dok_pr$ ////# RSA system (Tytuˆ)=kod_tyt$ //# kodn$=PobierzKodSˆownika(Rodzaje okres¢w nieskˆadkowych,Ewidencja nieobecno˜ci do projekt¢w (Pow¢d nieobecno˜ci)) //# ilpoz=ilpoz+1 //# TabTxt(1,ilpoz)=kodn$ //# TabNum(1,ilpoz)=a1 //# TabNum(2,ilpoz)=a2 //# end //# end //# end // <+> Automatyczne obliczanie zmiennych - Obliczanie <-> Automatyczne obliczanie zmiennych - Obliczanie