if (val('¢')=243) //windows if {Katalog eksportowy do Pˆatnika}='' katalog$=KatalogFirmy() & '\export' else katalog$={Katalog eksportowy do Pˆatnika} end //plik$='zus_dra.xml' plik$='zus_iwa.xml' Zapytaj o nazw© pliku (katalog$,plik$) if KodWyj˜cia()=0 PrzerwijWydrukRaportu() Exit() end //#plik_win$=katalog$ & '\' & plik$ //#UstawParametrRaportu(NazwaPliku,plik_win$) else if {Katalog eksportowy do Pˆatnika}='' katalog$=KatalogFirmy() & '\export' else katalog$={Katalog eksportowy do Pˆatnika} end plik$='zus_iwa.xml' Zapytaj o nazw© pliku (katalog$,plik$) if KodWyj˜cia()=0 PrzerwijWydrukRaportu() Exit() end plik$=katalog$ & '\' & plik$ UstawParametrRaportu(NazwaPliku,plik$) end kodt$={Kod terytorialny jednostki ZUS} //************************************************************************** //Dane identyfikacyjne pˆatnika platnik1$='' platnik2$='' platnik3$='' platnik4$='' UstawDat©DanychPodstawowych(data) Pobierz dane identyfikacyjne pˆatnika (data, typ$, rodz_dok, nr_dok$, datap) nip$=Funkcja usuwaj¥ca znaki przestankowe (Firma (NIP)) regonplus$=Firma (REGON) //& {Koäcowe znaki REGON-u} if Firma (Rodzaj pˆatnika)='osoba fizyczna' pesel$=Dane ewidencyjne osoby fizycznej (Pesel) nazwisko$=SubString(Dane ewidencyjne osoby fizycznej (Nazwisko),1,31) nazwisko$=Kodowanie UNICODE ZUS(nazwisko$) imie1$=SubString(Dane ewidencyjne osoby fizycznej (Pierwsze imi©),1,22) imie1$=Kodowanie UNICODE ZUS(imie1$) data_ur=Dane ewidencyjne osoby fizycznej (Data urodzenia) if {Nie podawa† firmy w eksporcie do ZUS} firma$=' ' else firma$=SubString(Firma (Nazwa firmy) ,1,31) firma$=Kodowanie UNICODE ZUS(firma$) end //platnik1$='' & nip$ & '' & '' & regonplus$ & '' platnik1$='' & nip$ & '' if regonplus$<>'' platnik1$=platnik1$ & '' & regonplus$ & '' end //platnik1$=platnik1$ & '' & pesel$ & '' if pesel$<>'' platnik1$=platnik1$ & '' & pesel$ & '' end //platnik2$='' & num2txt(rodz_dok) & '' & '' & nr_dok$ & '' platnik2$='' & Format(rodz_dok,'n1B') & '' & '' & nr_dok$ & '' if firma$<>'' platnik3$=''& firma$ & '' end platnik4$='' & nazwisko$ & '' & '' & imie1$ & '' //platnik4$=platnik2$ & '' & Format(data_ur, '@d10-') & '' platnik4$=platnik4$ & '' & Format(data_ur, '@d10-') & '' else pesel$=' ' nazwisko$=' ' imie1$=' ' data_ur=0 firma$=SubString(Firma (Nazwa firmy) ,1,31) firma$=Kodowanie UNICODE ZUS(firma$) //platnik1$='' & nip$ & '' & '' & regonplus$ & '' platnik1$='' & nip$ & '' if regonplus$<>'' platnik1$=platnik1$ & '' & regonplus$ & '' end platnik2$=''& firma$ & '' end //*************************************************************************** pkd$=SubString({Kod PKD},1,5) Adresy siedziby (Data od)=data Set(Adresy siedziby) Previous(Adresy siedziby) if eof() Clear(Adresy siedziby) end Adresy do korespondencji (Data od)=data Set(Adresy do korespondencji) Previous(Adresy do korespondencji) if eof() Clear(Adresy do korespondencji) end if Adresy do korespondencji (Miejscowo˜†)<>'' kod_p$=Funkcja usuwaj¥ca znaki przestankowe (Adresy do korespondencji (Kod pocztowy)) miejscowosc$=SubString(Adresy do korespondencji (Miejscowo˜†),1,26) miejscowosc$=Kodowanie UNICODE ZUS (miejscowosc$) ulica$=SubString(Adresy do korespondencji (Ulica),1,30) ulica$=Kodowanie UNICODE ZUS (ulica$) nr_domu$=Adresy do korespondencji (Numer domu) nr_lokalu$=Adresy do korespondencji (Numer lokalu) nr_tel_t$=Adresy do korespondencji (Modem) skrytka_p$=Adresy do korespondencji (Skrytka) nr_tel$=Adresy do korespondencji (Telefon) // nr_faksu$=Adresy do korespondencji (Faks) adres_email$=Adresy do korespondencji (Email) else kod_p$=Funkcja usuwaj¥ca znaki przestankowe (Adresy siedziby (Kod pocztowy)) miejscowosc$=SubString(Adresy siedziby (Miejscowo˜†),1,26) miejscowosc$=Kodowanie UNICODE ZUS (miejscowosc$) ulica$=SubString(Adresy siedziby (Ulica),1,30) ulica$=Kodowanie UNICODE ZUS (ulica$) nr_domu$=Adresy siedziby (Numer domu) nr_lokalu$=Adresy siedziby (Numer lokalu) nr_tel_t$='' skrytka_p$=Adresy siedziby (Skrytka) nr_tel$=Adresy siedziby (Telefon) // nr_faksu$=Adresy siedziby (Faks) adres_email$=Adresy siedziby (Email) end // xml kod_p$='' & kod_p$ & '' miejscowosc$='' & miejscowosc$ & '' ulica$='' & ulica$ & '' nr_domu$='' & nr_domu$ & '' if nr_lokalu$<>'' nr_lokalu$='' & nr_lokalu$ & '' end if nr_tel_t$<>'' nr_tel_t$='' & nr_tel_t$ & '' end if skrytka_p$<>'' skrytka_p$='' & skrytka_p$ & '' end if nr_tel$<>'' nr_tel$='' & nr_tel$ & '' end // if nr_faksu$<>'' // nr_faksu$='' & nr_faksu$ & '' // end if adres_email$<>'' adres_email$='' & adres_email$ & '' end // // Set(Pracownicy) loop Next(Pracownicy) if eof() break end // if Pracownik (Nr ewidencyjny)<>7 // cycle // end Post©p() i=1 while i<13 dalej=1 data_od=Data(1,i,rok) data_do=OstatniDzieä(data_od) data_zatrudnienia=Zatrudniony od (data_do) if data_zatrudnienia>0 //pracownicy data_zwolnienia=Zatrudniony do (data_do) if data_zwolnienia=0 data_zwolnienia=domyslna_data end if Por¢wnaj okres z okresem (data_od, data_do, data_zatrudnienia, data_zwolnienia) ilosc_dni=0 StartNieobecno˜ci(data_od) loop Nast©pnaNieobecno˜†() if Eof() or Nieobecno˜†(Data Od) > data_do break end a1=Nieobecno˜†(Data Od) a2=Nieobecno˜†(Data Do) if Nieobecno˜† (Kod Powodu)='B' or Nieobecno˜† (Kod Powodu)='Q' or Nieobecno˜† (Kod Powodu)='W' or | Nieobecno˜† (Kod Powodu)='M' or Nieobecno˜† (Kod Powodu)='J' or | Nieobecno˜† (Kod Powodu)='H' or Nieobecno˜† (Kod Powodu)='F' if a1data_do a2=data_do end ilosc_dni=ilosc_dni+a2-a1+1 //ilo˜† dni nieobecno˜ci end end if ilosc_dni<>data_do-data_od+1 // INFO('Z'&&Pracownik (Nazwisko)&&num2txt(i)) il_ub=il_ub+1 dalej=0 end end end if dalej//umowy cywilno prawne Clear(Umowy cywilno_prawne) Set(Umowy cywilno_prawne) loop Next(Umowy cywilno_prawne) if eof() break end if Umowy cywilno_prawne (Wypadkowe zleceniodawca) //zaplacona skladka wypadkowa data_zatrudnienia=Umowy cywilno_prawne (Data od) // wypeˆniony if data_zatrudnienia>0 // okres wykonywania umowy data_zwolnienia=Umowy cywilno_prawne (Data do) if data_zwolnienia=0 data_zwolnienia=domyslna_data end if Por¢wnaj okres z okresem (data_od, data_do, data_zatrudnienia, data_zwolnienia) // INFO('U1'&&Pracownik (Nazwisko)&&num2txt(i)) il_ub=il_ub+1 dalej=0 break end else // brak okresu wykonywania umowy data_zatrudnienia=Umowy cywilno_prawne (Data umowy) //od daty podpisania data_zwolnienia=Umowy cywilno_prawne (Data wypˆaty) //do daty wypˆaty // INFO(data2txt(data_od)&&data2txt(data_do)&&data2txt(data_zatrudnienia)&&data2txt(data_zwolnienia)) if Por¢wnaj okres z okresem (data_od, data_do, data_zatrudnienia, data_zwolnienia) // INFO('U2'&&Pracownik (Nazwisko)&&num2txt(i)) il_ub=il_ub+1 dalej=0 break end end end end if dalej data_zatrudnienia=Umowa okresowa od (data_do) if data_zatrudnienia>0 //umowy okresowe data_zwolnienia=Umowa okresowa do (data_do) if Por¢wnaj okres z okresem (data_od, data_do, data_zatrudnienia, data_zwolnienia) Ubezpieczenia obowi¥zkowe (Data od)=data_do Set(Ubezpieczenia obowi¥zkowe) Previous(Ubezpieczenia obowi¥zkowe) if not eof() //zarejestrowanie if Ubezpieczenia obowi¥zkowe (Wypadkowe) and Ubezpieczenia obowi¥zkowe (Data obowi¥zku)<=data_do ilosc_dni=0 Ewidencja nieobecno˜ci dla um¢w (Data od)=data_od 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) > data_do break end a1=Ewidencja nieobecno˜ci dla um¢w (Data od) a2=Ewidencja nieobecno˜ci dla um¢w (Data do) kod$=PobierzKodSˆownika(Rodzaje okres¢w nieskˆadkowych,Ewidencja nieobecno˜ci dla um¢w (Pow¢d nieobecno˜ci)) // INFO(kod$) if kod$='111' or kod$='112' or kod$='121' or kod$='311' if a1data_do a2=data_do end ilosc_dni=ilosc_dni+a2-a1+1 //ilo˜† dni nieobecno˜ci end end if ilosc_dni<>data_do-data_od+1 // INFO('UO'&&Pracownik (Nazwisko)&&num2txt(i)) il_ub=il_ub+1 dalej=0 end end end end end end if dalej kod_tyt$=Pobierz tytuˆ ubezpieczenia (data_do, kod_tyt$) if SubString(kod_tyt$,1,4)='0511' Ubezpieczenia obowi¥zkowe (Data od)=data_do Set(Ubezpieczenia obowi¥zkowe) Previous(Ubezpieczenia obowi¥zkowe) if not eof() //zarejestrowanie if Ubezpieczenia obowi¥zkowe (Wypadkowe) and Ubezpieczenia obowi¥zkowe (Data obowi¥zku)<=data_do Wyrejestrowanie ubezpieczonego (Data od)=data_do Set(Wyrejestrowanie ubezpieczonego) Previous(Wyrejestrowanie ubezpieczonego) if eof() // INFO('05a'&&Pracownik (Nazwisko)&&num2txt(i)) il_ub=il_ub+1 dalej=0 else if not Wyrejestrowanie ubezpieczonego (Wypadkowe od)Data(31,12,rok) break end il_poszk=il_poszk+1 if Kartoteka rejestracji wypadk¢w (Typ wypadku)='˜miertelny' or | Kartoteka rejestracji wypadk¢w (Typ wypadku)='cie¾ki' il_poszkc=il_poszkc+1 end end end i=1 while i<13 data_od=Data(1,i,rok) data_do=OstatniDzieä(data_od) Clear(Dane ewidencyjne osoby fizycznej) Dane ewidencyjne osoby fizycznej (Data od)=data_do Set(Dane ewidencyjne osoby fizycznej) loop Previous(Dane ewidencyjne osoby fizycznej) if eof() break end //INFO(Dane ewidencyjne osoby fizycznej (Nazwisko)&&Num2txt(Dane ewidencyjne osoby fizycznej (Id))) Clear(Ubezpieczenia spoˆeczne i zdrowotne wˆa˜cicieli) Ubezpieczenia spoˆeczne i zdrowotne wˆa˜cicieli (Data od)=data_do Set(Ubezpieczenia spoˆeczne i zdrowotne wˆa˜cicieli) loop Previous(Ubezpieczenia spoˆeczne i zdrowotne wˆa˜cicieli) if eof() break end if Ubezpieczenia spoˆeczne i zdrowotne wˆa˜cicieli (Id)=Dane ewidencyjne osoby fizycznej (Id) if Ubezpieczenia spoˆeczne i zdrowotne wˆa˜cicieli (Wypadkowe) and | Ubezpieczenia spoˆeczne i zdrowotne wˆa˜cicieli (Spoˆeczne od) data_do break end if Ewidencja nieobecno˜ci wˆa˜cicieli (Id)=Dane ewidencyjne osoby fizycznej (Id) a1=Ewidencja nieobecno˜ci wˆa˜cicieli (Data od) a2=Ewidencja nieobecno˜ci wˆa˜cicieli (Data do) kod$=PobierzKodSˆownika(Rodzaje okres¢w nieskˆadkowych,Ewidencja nieobecno˜ci wˆa˜cicieli (Pow¢d nieobecno˜ci)) // INFO(kod$) if kod$='111' or kod$='112' or kod$='121' or kod$='311' if a1data_do a2=data_do end ilosc_dni=ilosc_dni+a2-a1+1 //ilo˜† dni nieobecno˜ci end end end if ilosc_dni<>data_do-data_od+1 il_ub=il_ub+1 break else break end else break end end end end i=i+1 end il_ub=Round(il_ub/12,1)