// *************************************************************************** // * * // * * // * * // * * // * 7.05.2014 WA-PRO (Administrator) * // *************************************************************************** Local miesiact$='' pierwszy=0 ostatni=0 kraj_f$='' woj_f$='' powiat_f$='' gmina_f$='' ulica_f$='' dom_f$='' lokal_f$='' miasto_f$='' kod_p_f$='00-000' poczta_f$='' email_f$='' telefon_f$='' fax_f$='' kraj_p$='' woj_p$='' powiat_p$='' gmina_p$='' ulica_p$='' nr_domu_p$='' nr_lokalu_p$='' miasto_p$='' kod_p$='' poczta_p$='' kod_woj_p$='' zaklad_zpch=0 firma_do_25=0 wsk6=0 nr_pfron$='' i=0 angaz_od=0 angaz_do=0 data_p=0 data_l=0 etat=0 sch=0 niep_od=0 niep_do=0 zatr_niep1=0 data_1=0 data_2=0 ilosc_dni=0 stopien$='' znacznie_niep1D=0 umiark_niep1D=0 lekki_niep1D=0 chronZnacznyD=0 chronUmiarkowanyD=0 chronLekkiD=0 chronSZnacznyD=0 chronSUmiarkowanyD=0 chronSLekkiD=0 normZnacznyD=0 normUmiarkowanyD=0 normLekkiD=0 normSZnacznyD=0 normSUmiarkowanyD=0 normSLekkiD=0 lp=0 zatrudniony_od=0 zatrudniony_do=0 zatrudniony_odU=0 kosztyPlacy=0 a1=0 a2=0 a3=0 kwUstalona=0 pomniejszenia=0 kwDofWyplata=0 l1=0 l2=0 tekst$='' nazwa_pliku$='' regon$=Firma (REGON)&{Koäcowe znaki REGON-u} lpd=0 pomin=0 a4=0 rodzajInformacji$='Z' idTypuWnD$='8' rokt$='' miesiactw$='' roktw$='' okresw=0 nrDowodu$='' imie2$='' stanowiPomocPubliczna$='T' limitKosztowPlacy=0 czyZgloszeniowy$='N' firma_full$='' pkd$='' formaPrawna$='' wielkoscPracodawcy$='' kodAdresuPrzedsiebiorcy$='' adresJak$='' ulica_k$='' dom_k$='' lokal_k$='' miasto_k$='' kod_p_k$='00-000' poczta_k$='' email_k$='' telefon_k$='' fax_k$='' nrRachunku$='' etat_osoba=0 // w etatach metoda_licz_sr$='˜rednia arytmetyczna' // zatr_ogolem=0 // zatr_niep=0 // znacz_niep=0 // znacz_niep_poz=0 // umiark_niep=0 // umiark_niep_poz=0 // lekki_niep=0 // znacz_cup=0 // znacz_nn=0 // umiark_cup=0 // umiark_nn=0 // lekki_cup=0 // lekki_nn=0 pfron=0 suma_zatr_ogolem=0 suma_zatr_niep=0 tokres=0 nowozatrudnieni=0 czyPapierowo$='' czyElektronicznie$='' zalaczaInfoOOtrzymanejPomocy$='' zalaczaInfoONieotrzymanejPomocy$='' szczegolowaFormaPrawna$='' formaWlasnosci$='' statusPracodawcyZPC$='N' statusPracodawcyZAZ$='N' statusPracodawcyIP$='T' bzatr_ogolem=0 bzatr_niep=0 nazwaPelnomocnika$='' znacznie_niep1E=0 umiark_niep1E=0 lekki_niep1E=0 chronZnacznyE=0 chronUmiarkowanyE=0 chronLekkiE=0 chronSZnacznyE=0 chronSUmiarkowanyE=0 chronSLekkiE=0 normZnacznyE=0 normUmiarkowanyE=0 normLekkiE=0 normSZnacznyE=0 normSUmiarkowanyE=0 normSLekkiE=0 niep=0 data_emerytury=0 ilosc_dni_e=0 bezplatny=0 pracWykDzG$='T' efektZachety$='T' czyPelnomocnik$='N' pracownikNIP$='' zo=0 zn=0 zn21=0 um21=0 zn22=0 um22=0 zn28=0 um28=0 ln28=0 bst28=0 zn28n=0 um28n=0 ln28n=0 bst28n=0 zasw=0 onchp=0 ouu=0 end free(Kolejka) if elektronicznie czyPapierowo$='N' czyElektronicznie$='T' else czyPapierowo$='T' czyElektronicznie$='N' end if otrzymana zalaczaInfoOOtrzymanejPomocy$='T' else zalaczaInfoOOtrzymanejPomocy$='N' end if nieotrzymana zalaczaInfoONieotrzymanejPomocy$='T' else zalaczaInfoONieotrzymanejPomocy$='N' end miesiact$=num2txt(miesi¥c(okres)) if len(miesiact$)<2 miesiact$='0'&miesiact$ end rokt$=num2txt(rok(okres)) pierwszy=PierwszyDzieä(okres) ostatni=OstatniDzieä(okres) UstawDat©DanychPodstawowych(ostatni) Clear(Status ZPCH) Set(Status ZPCH) loop Next(Status ZPCH) if eof() break end if Status ZPCH (Data do)=0 Status ZPCH (Data do)=domyslna_data end if Status ZPCH (Pracy chronionej) or Status ZPCh (Aktywizacji) zaklad_zpch=Por¢wnaj okres z okresem (Status ZPCH (Data od), Status ZPCH (Data do), pierwszy, ostatni) if zaklad_zpch case of Status ZPCh (Pracy chronionej) statusPracodawcyZPC$='T' statusPracodawcyZAZ$='N' statusPracodawcyIP$='N' of Status ZPCh (Aktywizacji) statusPracodawcyZPC$='N' statusPracodawcyZAZ$='T' statusPracodawcyIP$='N' end break end end end firma_do_25={Firma zatrudniaj¥ca mniej ni¾ 25 os¢b} if firma_do_25=0 wsk6={Wska«nik zatr. os¢b niepeˆnospr. min 6%} end nr_pfron$={Nr firmy w rejestrze PFRON} if {Pracodawca nie wykonuj¥cy dziaˆalno˜ci g} pracWykDzG$='N' end if korekta rodzajInformacji$='K' idTypuWnD$='9' end if zgloszenie czyZgloszeniowy$='T' end if {Nazwa firmy dla transferu SOD}<>'' firma_full$={Nazwa firmy dla transferu SOD} else firma_full$=Firma (Peˆna nazwa firmy) end pkd$={Kod PKD} Adres siedziby lub zamieszkania IV (ostatni,kraj_f$,woj_f$,powiat_f$,gmina_f$,ulica_f$,dom_f$,lokal_f$,miasto_f$,kod_p_f$,poczta_f$,email_f$,telefon_f$,fax_f$) Kod gminy (Gmina) = gmina_f$ Kod gminy (Wojew¢dztwo) = woj_f$ Get(Kod gminy) if Found() kodAdresuPrzedsiebiorcy$=Kod gminy (Kod gminy) else Ostrze¾enie('Nie znaleziony kod gminy dla'&&gmina_f$&&woj_f$&&| 'prosz© uzupeˆnic kartoteke systemu Kod Gminy') exit() end Adres do korespondencji IV (ostatni,ulica_k$,dom_k$,lokal_k$,miasto_k$,kod_p_k$,poczta_k$,email_k$,telefon_k$,fax_k$) if miasto_k$='' adresJak$='T' ulica_k$=ulica_f$ dom_k$=dom_f$ lokal_k$=lokal_f$ miasto_k$=miasto_f$ kod_p_k$=kod_p_f$ poczta_k$=poczta_f$ email_k$=email_f$ telefon_k$=telefon_f$ fax_k$=fax_f$ else adresJak$='N' end if {Imi© i nazwisko peˆnomocnika dla SODiR}<>'' and KartotekaPusta(Dane peˆnomocnika do SODiR) Ostrze¾enie('Prosz© uzupeˆni† dane peˆnomocnika w kartotece firmy Dane peˆnomocnika do SODiR') exit() end Dane peˆnomocnika do SODiR (Od miesi¥ca)=okres Set(Dane peˆnomocnika do SODiR) Previous(Dane peˆnomocnika do SODiR) if not eof() if Dane peˆnomocnika do SODiR (Do miesi¥ca)=0 Dane peˆnomocnika do SODiR (Do miesi¥ca)=domyslna_data end if ZawieraSi©(okres,Dane peˆnomocnika do SODiR (Od miesi¥ca),Dane peˆnomocnika do SODiR (Do miesi¥ca)) adresJak$='N' czyPelnomocnik$='T' nazwaPelnomocnika$=Dane peˆnomocnika do SODiR (Imi© i nazwisko) ulica_k$=Dane peˆnomocnika do SODiR (Ulica) dom_k$=Dane peˆnomocnika do SODiR (Dom) lokal_k$=Dane peˆnomocnika do SODiR (Lokal) miasto_k$=Dane peˆnomocnika do SODiR (Miejscowo˜†) kod_p_k$=Dane peˆnomocnika do SODiR (Kod) poczta_k$=Dane peˆnomocnika do SODiR (Poczta) email_k$=Dane peˆnomocnika do SODiR (Email) telefon_k$=Dane peˆnomocnika do SODiR (Telefon) fax_k$=Dane peˆnomocnika do SODiR (Faks) end end if zgloszenie or zmiana formaPrawna$={Kod formy prawnej dla SODiR} szczegolowaFormaPrawna$={Kod szczeg¢lnej formy prawnej dla SODiR} formaWlasnosci$={Kod formy wˆasno˜ci dla SODiR} wielkoscPracodawcy$={Kod wielko˜ci przedsi©biorcy dla SODiR} WybierzRekordKartoteki(Rachunki bankowe firmy) if KodWyj˜cia() nrRachunku$=Rachunki bankowe firmy (Lk)&Funkcja usuwaj¥ca znaki przestankowe (Rachunki bankowe firmy (Numer rachunku)) end end i=12 tokres=PierwszyDzieä(okres-1) while i>0 bzatr_ogolem=0 bzatr_niep=0 Stan zatrudnienia SODiR (Miesi¥c)=tokres Get(Stan zatrudnienia SODiR) if found() if Stan zatrudnienia SODiR (Og¢ˆem WE)>0 bzatr_ogolem=Round(Stan zatrudnienia SODiR (Og¢ˆem WE)/10,0.001) bzatr_niep=Round(Stan zatrudnienia SODiR (Osoby niepeˆnosprawne WE)/10,0.001) else Funkcja do SODiR zatrudnienie WE (tokres, bzatr_ogolem, bzatr_niep) Stan zatrudnienia SODiR (Og¢ˆem WE)=bzatr_ogolem*10 Stan zatrudnienia SODiR (Osoby niepeˆnosprawne WE)=bzatr_niep*10 Put(Stan zatrudnienia SODiR) end else Funkcja do SODiR zatrudnienie WE (tokres, bzatr_ogolem, bzatr_niep) Stan zatrudnienia SODiR (Miesi¥c)=tokres Stan zatrudnienia SODiR (Og¢ˆem WE)=bzatr_ogolem*10 Stan zatrudnienia SODiR (Osoby niepeˆnosprawne WE)=bzatr_niep*10 Stan zatrudnienia SODiR (Og¢ˆem)=0 Stan zatrudnienia SODiR (Osoby niepeˆnosprawne)=0 Add(Stan zatrudnienia SODiR) end suma_zatr_ogolem=suma_zatr_ogolem+bzatr_ogolem suma_zatr_niep=suma_zatr_niep+bzatr_niep i=i-1 tokres=PierwszyDzieä(tokres-1) end suma_zatr_ogolem=Round(suma_zatr_ogolem/12,0.001) suma_zatr_niep=Round(suma_zatr_niep/12,0.001) bzatr_ogolem=0 bzatr_niep=0 Funkcja do SODiR zatrudnienie WE (okres, bzatr_ogolem, bzatr_niep) bzatr_ogolem=Round(bzatr_ogolem,0.001) //??? bzatr_niep=Round(bzatr_niep,0.001) //??? zo=0 zn=0 //Funkcja do deklaracji DEK-II(okres,ostatni,metoda_licz_sr$,zatr_ogolem,zatr_niep,znacz_niep,znacz_niep_poz,umiark_niep,umiark_niep_poz,lekki_niep,etat_osoba,znacz_cup,znacz_nn,umiark_cup,umiark_nn,lekki_cup,lekki_nn,pfron,0,0,0) Funkcja do deklaracji DEK-II (okres,ostatni,metoda_licz_sr$,etat_osoba,zo,zn,zn21,um21,zn22,um22,zn28,um28,ln28,bst28,zn28n,um28n,ln28n,bst28n,pfron,zasw,onchp,ouu) zo=Round(zo,0.001) //??? zn=Round(zn,0.001) //?? Stan zatrudnienia SODiR (Miesi¥c)=okres Get(Stan zatrudnienia SODiR) if found() Stan zatrudnienia SODiR (Og¢ˆem)=zo*10 Stan zatrudnienia SODiR (Osoby niepeˆnosprawne)=zn*10 Stan zatrudnienia SODiR (Og¢ˆem WE)=bzatr_ogolem*10 Stan zatrudnienia SODiR (Osoby niepeˆnosprawne WE)=bzatr_niep*10 Put(Stan zatrudnienia SODiR) else Stan zatrudnienia SODiR (Miesi¥c)=okres Stan zatrudnienia SODiR (Og¢ˆem)=zo*10 Stan zatrudnienia SODiR (Osoby niepeˆnosprawne)=zn*10 Stan zatrudnienia SODiR (Og¢ˆem WE)=bzatr_ogolem*10 Stan zatrudnienia SODiR (Osoby niepeˆnosprawne WE)=bzatr_niep*10 Add(Stan zatrudnienia SODiR) end i=1 WybierzPracownik¢w() Loop Nast©pnyWybranyPracownik() if eof() break end Post©p() WybierzListyPracownika(okres,okres) Loop Nast©pnaListaPˆac() if eof() break end if Lista (Nr typu listy)=1 okresw=Lista (Data wypˆaty) break end end if okresw=0 okresw=okres end miesiactw$=num2txt(miesi¥c(okresw)) if len(miesiactw$)<2 miesiactw$='0'&miesiactw$ end roktw$=num2txt(rok(okresw)) if Pracownik (PESEL)='' //zmiana nrDowodu$=Funkcja usuwaj¥ca znaki przestankowe (Pracownik (Nr dowodu)) end if Pracownik (PodajNIP) pracownikNIP$=Pracownik (NIP) else pracownikNIP$='' end Dane do pfron (Data od)=ostatni Set(Dane do pfron) Previous(Dane do pfron) if not eof() pomin=Dane do pfron (Pomin) if Dane do pfron (Nie pomoc publiczna) stanowiPomocPubliczna$='N' end if Dane do pfron (Brak zach©ty) efektZachety$='N' end data_emerytury=Dane do pfron (Data od emerytury) end clear (Kartoteka anga¾y) Set (Kartoteka anga¾y) Loop Next (Kartoteka anga¾y) if eof() or Kartoteka anga¾y (Data od) > ostatni break end angaz_od=Kartoteka anga¾y (Data od) angaz_do=Kartoteka anga¾y (Data do) if angaz_do=0 angaz_do=domyslna_data end if Por¢wnaj okres z okresem (angaz_od,angaz_do,pierwszy,ostatni) etat=Etat(Kartoteka anga¾y (Etat)) data_l=max(pierwszy,angaz_od) data_p=min(ostatni,angaz_do) call oblicz_niep end end if zatr_niep1 lp=lp+1 chronZnacznyD=Round(chronZnacznyD/(ostatni-pierwszy+1),0.001) chronUmiarkowanyD=Round(chronUmiarkowanyD/(ostatni-pierwszy+1),0.001) chronLekkiD=Round(chronLekkiD/(ostatni-pierwszy+1),0.001) chronSZnacznyD=Round(chronSZnacznyD/(ostatni-pierwszy+1),0.001) chronSUmiarkowanyD=Round(chronSUmiarkowanyD/(ostatni-pierwszy+1),0.001) chronSLekkiD=Round(chronSLekkiD/(ostatni-pierwszy+1),0.001) normZnacznyD=Round(normZnacznyD/(ostatni-pierwszy+1),0.001) normUmiarkowanyD=Round(normUmiarkowanyD/(ostatni-pierwszy+1),0.001) normLekkiD=Round(normLekkiD/(ostatni-pierwszy+1),0.001) normSZnacznyD=Round(normSZnacznyD/(ostatni-pierwszy+1),0.001) normSUmiarkowanyD=Round(normSUmiarkowanyD/(ostatni-pierwszy+1),0.001) normSLekkiD=Round(normSLekkiD/(ostatni-pierwszy+1),0.001) chronZnacznyE=Round(chronZnacznyE/(ostatni-pierwszy+1),0.001) chronUmiarkowanyE=Round(chronUmiarkowanyE/(ostatni-pierwszy+1),0.001) chronLekkiE=Round(chronLekkiE/(ostatni-pierwszy+1),0.001) chronSZnacznyE=Round(chronSZnacznyE/(ostatni-pierwszy+1),0.001) chronSUmiarkowanyE=Round(chronSUmiarkowanyE/(ostatni-pierwszy+1),0.001) chronSLekkiE=Round(chronSLekkiE/(ostatni-pierwszy+1),0.001) normZnacznyE=Round(normZnacznyE/(ostatni-pierwszy+1),0.001) normUmiarkowanyE=Round(normUmiarkowanyE/(ostatni-pierwszy+1),0.001) normLekkiE=Round(normLekkiE/(ostatni-pierwszy+1),0.001) normSZnacznyE=Round(normSZnacznyE/(ostatni-pierwszy+1),0.001) normSUmiarkowanyE=Round(normSUmiarkowanyE/(ostatni-pierwszy+1),0.001) normSLekkiE=Round(normSLekkiE/(ostatni-pierwszy+1),0.001) a1=chronZnacznyD+chronUmiarkowanyD+chronLekkiD+chronSZnacznyD a1=a1+chronSUmiarkowanyD+chronSLekkiD+normZnacznyD+normUmiarkowanyD a1=a1+normLekkiD+normSZnacznyD+normSUmiarkowanyD+normSLekkiD while a1>1 case of normSLekkiD>0 normSLekkiD=normSLekkiD-0.001 of normSUmiarkowanyD>0 normSUmiarkowanyD=normSUmiarkowanyD-0.001 of normSZnacznyD>0 normSZnacznyD=normSZnacznyD-0.001 of chronSLekkiD>0 chronSLekkiD=chronSLekkiD-0.001 of chronSUmiarkowanyD>0 chronSUmiarkowanyD=chronSUmiarkowanyD-0.001 of chronSZnacznyD>0 chronSZnacznyD=chronSZnacznyD-0.001 of normLekkiD>0 normLekkiD=normLekkiD-0.001 of normUmiarkowanyD>0 normUmiarkowanyD=normUmiarkowanyD-0.001 of normZnacznyD>0 normZnacznyD=normZnacznyD-0.001 of chronLekkiD>0 chronLekkiD=chronLekkiD-0.001 of chronUmiarkowanyD>0 chronUmiarkowanyD=chronUmiarkowanyD-0.001 of chronZnacznyD>0 chronZnacznyD=chronZnacznyD-0.001 end a1=chronZnacznyD+chronUmiarkowanyD+chronLekkiD+chronSZnacznyD a1=a1+chronSUmiarkowanyD+chronSLekkiD+normZnacznyD+normUmiarkowanyD a1=a1+normLekkiD+normSZnacznyD+normSUmiarkowanyD+normSLekkiD end a1=chronZnacznyE+chronUmiarkowanyE+chronLekkiE+chronSZnacznyE a1=a1+chronSUmiarkowanyE+chronSLekkiE+normZnacznyE+normUmiarkowanyE a1=a1+normLekkiE+normSZnacznyE+normSUmiarkowanyE+normSLekkiE while a1>1 case of normSLekkiE>0 normSLekkiE=normSLekkiE-0.001 of normSUmiarkowanyE>0 normSUmiarkowanyE=normSUmiarkowanyE-0.001 of normSZnacznyE>0 normSZnacznyE=normSZnacznyE-0.001 of chronSLekkiE>0 chronSLekkiE=chronSLekkiE-0.001 of chronSUmiarkowanyE>0 chronSUmiarkowanyE=chronSUmiarkowanyE-0.001 of chronSZnacznyE>0 chronSZnacznyE=chronSZnacznyE-0.001 of normLekkiE>0 normLekkiE=normLekkiE-0.001 of normUmiarkowanyE>0 normUmiarkowanyE=normUmiarkowanyE-0.001 of normZnacznyE>0 normZnacznyE=normZnacznyE-0.001 of chronLekkiE>0 chronLekkiE=chronLekkiE-0.001 of chronUmiarkowanyE>0 chronUmiarkowanyE=chronUmiarkowanyE-0.001 of chronZnacznyE>0 chronZnacznyE=chronZnacznyE-0.001 end a1=chronZnacznyE+chronUmiarkowanyE+chronLekkiE+chronSZnacznyE a1=a1+chronSUmiarkowanyE+chronSLekkiE+normZnacznyE+normUmiarkowanyE a1=a1+normLekkiE+normSZnacznyE+normSUmiarkowanyE+normSLekkiE end zatrudniony_od=Zatrudniony od (ostatni) zatrudniony_odU=zatrudniony_od zatrudniony_od=max(zatrudniony_od,pierwszy) zatrudniony_do=Zatrudniony do (ostatni) if zatrudniony_do=0 zatrudniony_do=ostatni else zatrudniony_do=min(zatrudniony_do,ostatni) end if PierwszyDzieä(zatrudniony_odU)=pierwszy a1=chronZnacznyD+chronUmiarkowanyD+chronLekkiD+chronSZnacznyD a1=a1+chronSUmiarkowanyD+chronSLekkiD+normZnacznyD+normUmiarkowanyD a1=a1+normLekkiD+normSZnacznyD+normSUmiarkowanyD+normSLekkiD nowozatrudnieni=nowozatrudnieni+a1 end Adres zameldowania lub zamieszkania pracownika III (ostatni,kraj_p$,woj_p$,powiat_p$,gmina_p$,ulica_p$,nr_domu_p$,nr_lokalu_p$,miasto_p$,kod_p$,poczta_p$) kod_woj_p$=Kod wojew¢dztwa (woj_p$) if kod_p$='' kod_p$='00-000' end imie2$=Pracownik (Drugie Imi©) if stanowiPomocPubliczna$='T' efektZachety$='T' end //INFDP if pomin=0 lpd=lpd+1 PobierzOkres(okres) kosztyPlacy=Wyr¢¾nikOkresu (Wynagrodzenia osi¥gane)+Wyr¢¾nikOkresu (Koszty pracy SOD) end //INFDP if pomin=0 //nagˆ¢wek call DodajNaglowek tekst$='' call AddKolejka //tresc tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka call DodajKonczenie if (val('¢')=243) //windows nazwa_pliku$='infdp7_'&miesiact$&'-'&rokt$&'_'&Pracownik(PESEL)&'.xml' else nazwa_pliku$='J'&miesiact$&format(Pracownik(Nr ewidencyjny),'@n05')&'.xml' end Transfer pfron(nazwa_pliku$,0) free(Kolejka) end end call zeruj end //WND call DodajNaglowek tekst$='' call AddKolejka //tresc tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka //tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' //??? //tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka //zakonczenie call DodajKonczenie if (val('¢')=243) //windows nazwa_pliku$='wnd5_'&miesiact$&'-'&rokt$&'.xml' else nazwa_pliku$='WND5'&miesiact$&substring(num2txt(Rok(okres)),3,2)&'.xml' end Transfer pfron(nazwa_pliku$,0) free(Kolejka) DodajNaglowek: //nagˆ¢wek tekst$='' call AddKolejka tekst$='' call AddKolejka tekst$='' call AddKolejka DodajKonczenie: //zakonczenie tekst$='' call AddKolejka tekst$='' call AddKolejka AddKolejka: l1=len(tekst$) l2=1 while l2<=l1 Kolejka(Num1)=i Kolejka(Txt1)=substring(tekst$,l2,1) Add(Kolejka,'Num1') l2=l2+1 i=i+1 end zeruj: ilosc_dni=0 kraj_p$='' woj_p$='' powiat_p$='' gmina_p$='' ulica_p$='' nr_domu_p$='' nr_lokalu_p$='' miasto_p$='' kod_p$='' poczta_p$='' etat=0 zatr_niep1=0 znacznie_niep1D=0 umiark_niep1D=0 lekki_niep1D=0 sch=0 //xml chronZnacznyD=0 chronUmiarkowanyD=0 chronLekkiD=0 chronSZnacznyD=0 chronSUmiarkowanyD=0 chronSLekkiD=0 normZnacznyD=0 normUmiarkowanyD=0 normLekkiD=0 normSZnacznyD=0 normSUmiarkowanyD=0 normSLekkiD=0 l1=0 l2=0 tekst$='' zatrudniony_od=0 kod_woj_p$='' zatrudniony_od=0 zatrudniony_odU=0 zatrudniony_do=0 kosztyPlacy=0 kwUstalona=0 pomniejszenia=0 kwDofWyplata=0 pomin=0 okresw=0 nrDowodu$='' imie2$='' stanowiPomocPubliczna$='T' limitKosztowPlacy=0 data_emerytury=0 niep=0 ilosc_dni_e=0 znacznie_niep1E=0 umiark_niep1E=0 lekki_niep1E=0 chronZnacznyE=0 chronUmiarkowanyE=0 chronLekkiE=0 chronSZnacznyE=0 chronSUmiarkowanyE=0 chronSLekkiE=0 normZnacznyE=0 normUmiarkowanyE=0 normLekkiE=0 normSZnacznyE=0 normSUmiarkowanyE=0 normSLekkiE=0 bezplatny=0 efektZachety$='T' oblicz_niep: sch=0 Clear(Okresy niepeˆnosprawno˜ci) Set(Okresy niepeˆnosprawno˜ci) loop Next(Okresy niepeˆnosprawno˜ci) if eof() or Okresy niepeˆnosprawno˜ci (Data od)>data_p Clear(Okresy niepeˆnosprawno˜ci) break end niep_od=Okresy niepeˆnosprawno˜ci (Data od) niep_do=Okresy niepeˆnosprawno˜ci (Data do) if niep_do=0 niep_do=domyslna_data end if Por¢wnaj okres z okresem (data_l,data_p,niep_od,niep_do) zatr_niep1=1 // okres niepeˆnosprawno˜ci data_1 do data_2 data_1=max(niep_od,data_l) data_2=min(niep_do,data_p) ilosc_dni=data_2-data_1+1 //ilosc_dni niepeˆnosprawno˜ci bezplatny=Ilo˜†Nieobecno˜ci(data_1,data_2,'B',3) bezplatny=bezplatny+Ilo˜†Nieobecno˜ci(data_1,data_2,'Q',3) ilosc_dni=Max(ilosc_dni-bezplatny,0) stopien$=Okresy niepeˆnosprawno˜ci (Stopieä) niep=txt2num(PobierzKodSˆownika(Stopnie niepeˆnosprawno˜ci,stopien$)) bezplatny=0 // INFO(data2txt(data_emerytury)&&data2txt(data_1)&&data2txt(data_2)) if data_emerytury>0 case of data_emerytury<=data_1 ilosc_dni_e=ilosc_dni of ZawieraSi©(data_emerytury,data_1,data_2) ilosc_dni_e=data_2-data_emerytury+1 bezplatny=Ilo˜†Nieobecno˜ci(data_emerytury,data_2,'B',3) bezplatny=bezplatny+Ilo˜†Nieobecno˜ci(data_emerytury,data_2,'Q',3) ilosc_dni_e=Max(ilosc_dni_e-bezplatny,0) else ilosc_dni_e=0 end end // INFO(ilosc_dni_e) znacznie_niep1D=0 umiark_niep1D=0 lekki_niep1D=0 sch=0 case of InString('epilepsja',Okresy niepeˆnosprawno˜ci (Szczeg¢lne schorzenie)) sch=1 of InString('przewlekˆa choroba psychiczna', Okresy niepeˆnosprawno˜ci (Szczeg¢lne schorzenie)) sch=1 of InString('02-P choroby psychiczne', Okresy niepeˆnosprawno˜ci (Szczeg¢lne schorzenie)) sch=1 of InString('˜lepota oraz niedowidzenie',Okresy niepeˆnosprawno˜ci (Szczeg¢lne schorzenie)) if niep>1 sch=1 end of InString('upo˜ledzenie umysˆowe',Okresy niepeˆnosprawno˜ci (Szczeg¢lne schorzenie)) sch=1 of InString('caˆo˜ciowe zaburzenia rozwojowe',Okresy niepeˆnosprawno˜ci (Szczeg¢lne schorzenie)) if okres>=Data(1,1,2011) sch=1 end end case of stopien$='znaczny stopieä niepeˆnosprawno˜ci' znacznie_niep1D=ilosc_dni*etat znacznie_niep1E=ilosc_dni_e*etat of stopien$='umiarkowany stopieä niepeˆnosprawno˜ci' umiark_niep1D=ilosc_dni*etat umiark_niep1E=ilosc_dni_e*etat of stopien$='lekki stopieä niepeˆnosprawno˜ci' lekki_niep1D=ilosc_dni*etat lekki_niep1E=ilosc_dni_e*etat end if zaklad_zpch //INFDP if sch=1 chronZnacznyD=chronZnacznyD+znacznie_niep1D chronUmiarkowanyD=chronUmiarkowanyD+umiark_niep1D chronLekkiD=chronLekkiD+lekki_niep1D chronZnacznyE=chronZnacznyE+znacznie_niep1E chronUmiarkowanyE=chronUmiarkowanyE+umiark_niep1E chronLekkiE=chronLekkiE+lekki_niep1E else chronSZnacznyD=chronSZnacznyD+znacznie_niep1D chronSUmiarkowanyD=chronSUmiarkowanyD+umiark_niep1D chronSLekkiD=chronSLekkiD+lekki_niep1D chronSZnacznyE=chronSZnacznyE+znacznie_niep1E chronSUmiarkowanyE=chronSUmiarkowanyE+umiark_niep1E chronSLekkiE=chronSLekkiE+lekki_niep1E end else if sch=1 normZnacznyD=normZnacznyD+znacznie_niep1D normUmiarkowanyD=normUmiarkowanyD+umiark_niep1D normLekkiD=normLekkiD+lekki_niep1D normZnacznyE=normZnacznyE+znacznie_niep1E normUmiarkowanyE=normUmiarkowanyE+umiark_niep1E normLekkiE=normLekkiE+lekki_niep1E else normSZnacznyD=normSZnacznyD+znacznie_niep1D normSUmiarkowanyD=normSUmiarkowanyD+umiark_niep1D normSLekkiD=normSLekkiD+lekki_niep1D normSZnacznyE=normSZnacznyE+znacznie_niep1E normSUmiarkowanyE=normSUmiarkowanyE+umiark_niep1E normSLekkiE=normSLekkiE+lekki_niep1E end end end end