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)