; VZaZ nevýdělečných organizací pro rok 2004 ; verze z 19.1.2004 ; Autor: WinDUO Team Designed('') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Výkaz zisku a ztráty pro účetní jednotky u kterých hlavním předmětem činnosti není podnikání') FileName('FIVZ'+ObdMesic(2)+ObdRok(2)+'.WNS') WNSType(0); TiskMinule:Boolean=False; pro pripad, ze to nekdo bude chtit. ;vyhl. 504/2002 ani 476/2003 nechteji minule obdobi LocStr:String LocRetezec:String LocCis:Byte DeclareRec('Program') S1:Real S2:Real S3:Real S4:Real Procedure PrintTextOrig(PocetRadku:Word,PrintLine:Word); While((EOF(Soubor)=False) and (PocetRadku>0)) begin ReadedLine=ReadLn(Soubor); FirstChar=Asc(ReadedLine) if(FirstChar=Asc('$')) begin end else begin if(FirstChar=Asc('@')) begin ReadedLine=FromChar('@',ReadedLine); end else if(FirstChar=Asc('#')) begin ReadedLine=FromChar(',',FromChar(',',ReadedLine)); end ReadedLine=ReadedLine+#9; if(PrintLine=0) begin if(FirstChar=Asc('@')) begin ReadedLine=ReadedLine end else begin ReadedLine=ReadedLine+Str(LineNum) Inc(LineNum); end end else begin ReadedLine=ReadedLine+Str(PrintLine) end; DynTab(ReadedLine) Dec(PocetRadku) end; end; end; Procedure PrintText(PocetRadku:Word,PrintLine:Word); While((EOF(Soubor)=False) and (PocetRadku>0)) begin ReadedLine=ReadLn(Soubor); FirstChar=Asc(ReadedLine) if(FirstChar=Asc('$')) begin end else begin JeCislo=False if(Zjednodus) begin LocStr=ToChar('\',ReadedLine) JeCislo=StrPos('1',LocStr) if(not JeCislo) JeCislo=StrPos('2',LocStr) if(not JeCislo) JeCislo=StrPos('3',LocStr) if(not JeCislo) JeCislo=StrPos('4',LocStr) if(not JeCislo) JeCislo=StrPos('5',LocStr) if(not JeCislo) JeCislo=StrPos('6',LocStr) if(not JeCislo) JeCislo=StrPos('7',LocStr) if(not JeCislo) JeCislo=StrPos('8',LocStr) if(not JeCislo) JeCislo=StrPos('9',LocStr) if(not JeCislo) JeCislo=StrPos('0',LocStr) end if(not JeCislo) begin if(FirstChar=Asc('@')) begin ReadedLine=FromChar('@',ReadedLine); end else if(FirstChar=Asc('#')) begin ReadedLine=FromChar(',',FromChar(',',ReadedLine)); end if(Zjednodus) ReadedLine=ToChar('|',ReadedLine) ReadedLine=ReadedLine+#9; if(PrintLine=0) begin if(FirstChar=Asc('@')) begin ReadedLine=ReadedLine end else begin ReadedLine=ReadedLine+Str(LineNum) Inc(LineNum); end end else begin ReadedLine=ReadedLine+Str(PrintLine) end; DynTab(ReadedLine) Dec(PocetRadku) end end; end; end; SetFillToBlank('') INI:String=DataPath+'VYKAZY.INI' TiskJenNenul:Boolean TiskNulRadku:Boolean=GetBoolean(GetFromIni('VYKAZY','TiskNulRadku',INI)) TiskJenNenul=(not TiskNulRadku) LocI:Integer VelikostPisma:Real=0 VelikostPisma=Val(GetFromIni('VYKAZY','VelikostPisma',INI)) if(VelikostPisma=0) VelikostPisma=3.5 PocetDesMist:Byte=0 ZpusobZaokr:Byte=Val(GetDataINI('INFO','ZaokrouhleniVykazu')) if(ZpusobZaokr=1) PocetDesMist=2 if(ZpusobZaokr=2) PocetDesMist=2 DeclareRec('Program') Zjednodus:Boolean=False if(Program.TypVykazu=2) Zjednodus=True PocRadCelkem:Word PocRadTiskCelkem:Word PocetStr1:Byte=43; jeste se to upresnuje jako Rozhrani PocetStr2:Byte=41 PocetNakladu:Byte PocetVynosu:Byte Rozhrani:Byte PouzeJednaStrana:Boolean LocI:Byte i:Byte=1 j:Byte=1 X1:Real X2:Real X3:Real StrHlavni:String StrHosp:String StrTreti:String StrSuma:String JeCislo:Boolean StatusWindowInCall(False) ItsBlank:Boolean FormName:String=GetTabName(4); LocStr:String LocStr1:String LocStr2:String if(Length(ObdMesic(2))<>0) begin Name('Výkaz zisků a ztrát - Formulář za '+ObdMesic(2)+ObdRok(2)) end else begin Name('Výkaz zisků a ztrát - Prázdný') Zjednodus=Question('Tisk ve zjednodušeném rozsahu?') ItsBlank=True ReadedLine:String FirstChar:Byte LineNum:Word=1 end; Global MinRok:Boolean=False Global MinRokName:String StatusWindowInCall(False) Global VyplMO:Byte=0 if((not ItsBlank)and(TiskMinule)) CallDDT('DoplMO.ddt') ;hlavicka Global NazevSest1:String='Výkaz zisku a ztráty pro účetní jednotky,' if(Zjednodus) begin Global Opatr1:String='ve zjednodušeném rozsahu podle Sbírky zákonů' end else begin Global Opatr1:String='ve plném rozsahu podle Sbírky zákonů' end Global NazevSest2:String='u kterých hlavním předmětem činnosti není podnikání' Global Opatr2:String='vyhlášky č. 504/2002 z 5.12.2002' Global Opatr3:String='a vyhlášky č. 476/2003 z 17.12.2003' Global XZacatek1:Real=0 ; x souradnice zacatku tabulky na 1. straně Global YTlusta1:Real=72 ; Y-souradnice prvni tluste cary Global Y1Hlav1:Real=16 ; Global XKonec1:Real=188 ; x souradnice konce tabulky na 1. straně if(ItsBlank) begin Soubor:TextFile; Open(Soubor,FormName); TiskJenNenul=False end else begin OpenWNS(WNSName) SaveWNSPos(1) end; ;{blok natazeni hodnot do tabulky v pameti} if(not ItsBlank) begin ;{zjistění, které řádky jsou nenulové = se tisknou} ;zjisteni poctu radku... z radku # v .TAB SouborTab:TextFile Open(SouborTab,GetTabName(2)) While(not(EOF(SouborTab))) begin LocStr=Readln(SouborTab) if(CompareStr(Copy(LocStr,1,1),'#')) begin LocStr=FromChar('#',LocStr) LocStr1=ToChar(',',LocStr) PocRadCelkem=Val(LocStr1) if(not ItsBlank) PocRadCelkem=PocRadCelkem+2 LocStr=FromChar(',',LocStr) LocStr=FromChar(',',LocStr) LocStr1=ToChar(',',LocStr) Rozhrani=Val(LocStr1) PocetStr1=Rozhrani Goto(KonecCyklu1) end end KonecCyklu1: Close(SouborTab) Open(SouborTab,GetTabName(2)) KonecCyklu2: ;kdyby bylo nutno tisknout další sloupec, muselo by se dodělat ArrCastka3 Record ArrRadky ;definuje strukturu, ktera se pouzije pro Array ArrTisk :Boolean; ArrPolozka :String[16]; ArrText :String[120]; ArrRadek :Byte; ArrCastka1 :Double; ArrCastka2 :Double; ArrCastkaSuma :Double; end; MaxRadky:Word=65448/SizeOf(ArrRadky); if(MaxRadky=Rozhrani+1)) Inc(PocetVynosu) Inc(i) end end PocRadTiskCelkem=PocRadTiskCelkem+2 ; texty Naklady, Vynosy if(TiskJenNenul) begin Inc(PocetNakladu) Inc(PocetVynosu) if(PocRadTiskCelkem>PocetStr1-10); minus 10 je kvuli ramecku pro podpisy begin; tisknout se 2 strany PouzeJednaStrana=False PocRad1:Byte=PocetNakladu ;pocet radku tabulky na 1. strane YRadkovani1:Real=4.8 ;posun radku v tabulce na 1.strane PouzeJednaStrana=False PocRad2:Byte=PocetVynosu YRadkovani2:Real=5.5 YKonec1:Real=YTlusta1+(PocRad1*YRadkovani1) YTlusta2:Real=20.5 ; Y-souradnice prvni tluste cary na 2. straně end else begin ;tiskne se jenom jedna strana PouzeJednaStrana=True PocRad1:Byte=PocetNakladu ;pocet radku tabulky na 1. strane YRadkovani1:Real=4.8 ;posun radku v tabulce na 1.strane PocRad2:Byte=PocetVynosu YRadkovani2:Real=4.8 YKonec1:Real=YTlusta1+(PocRad1*YRadkovani1) YTlusta2:Real=YKonec1+30 ; Y-souradnice prvni tluste cary na str.2 end end else begin if(Zjednodus) begin PocRad1:Byte=10 ;pocet radku tabulky na 1. strane YRadkovani1:Real=4.8 ;posun radku v tabulce na 1.strane PouzeJednaStrana=True PocRad2:Byte=11 YRadkovani2:Real=4.8 YKonec1:Real=YTlusta1+(PocRad1*YRadkovani1) YTlusta2:Real=YKonec1+30 ; Y-souradnice prvni tluste cary na str.2 end else begin PocRad1:Byte=PocetStr1 ;pocet radku tabulky na 1. strane YRadkovani1:Real=4.8 ;posun radku v tabulce na 1.strane PouzeJednaStrana=False PocRad2:Byte=PocetStr2 YRadkovani2:Real=5.5 YKonec1:Real=YTlusta1+(PocRad1*YRadkovani1) YTlusta2:Real=20.5 ; Y-souradnice prvni tluste cary na 2. straně end end ;{definice 1.strany} ;PocRad1:Byte=43 ;pocet radku tabulky na 1. strane ;YRadkovani1:Real=4.8 ;posun radku v tabulce na 1.strane ;YKonec1:Real=YTlusta1+(pocrad1*YRadkovani1) X1Svisla1:Real=XZacatek1+13 X2Svisla1:Real=XZacatek1+110 X3Svisla1:Real=XZacatek1+122 X4Svisla1:Real=((XZacatek1+122)+(XKonec1-XZacatek1-122)/3) X5Svisla1:Real=((XZacatek1+122)+(XKonec1-XZacatek1-122)*2/3) ;pro dalsi sloupec ;X4Svisla1:Real=((XZacatek1+122)+(XKonec1-XZacatek1-122)/4) ;X5Svisla1:Real=((XZacatek1+122)+(XKonec1-XZacatek1-122)*2/4) ;X6Svisla1:Real=((XZacatek1+122)+(XKonec1-XZacatek1-122)*3/4) X7Svisla1:Real=XKonec1 Y2Hlav1:Real=9.5 ;{definice 2.strany} ;PocRad2:Byte=41 ;pocet radku tabulky na 2. strane XZacatek2:Real=0 ; x souradnice zacatku tabulky na 2. straně XKonec2:Real=188 ; x souradnice konce tabulky na 2. straně ;YTlusta2:Real=20.5 ; Y-souradnice prvni tluste cary na 2. straně ;YRadkovani2:Real=5.5 YKonec2:Real=YTlusta2+(pocrad2*YRadkovani2) X1Svisla2:Real=X1Svisla1 X2Svisla2:Real=X2Svisla1 X3Svisla2:Real=X3Svisla1 X4Svisla2:Real=X4Svisla1 X5Svisla2:Real=X5Svisla1 ;X6Svisla2:Real=X6Svisla1 X7Svisla2:Real=X7Svisla1 Y1Hlav2:Real=Y1Hlav1 Y2Hlav2:Real=Y2Hlav1 ;{paticka} Global X1Pata:Real=XZacatek2 Global Y1Pata:Real=YKonec2+5 Global X2Pata:Real=XKonec2 Global Y2Pata:Real=YKonec2+30 CallDDT('HlavVyk.ddt') ;definice tabulky hodnot ;{========================================== str. 1} FONTFACE(Normal); PEN(0,0.7) LINEA(XZacatek1,YTlusta1,XKonec1,YTlusta1); PEN(0,0.3) BOXA(XZacatek1,YTlusta1-Y1Hlav1,XKonec1,YKonec1) ; obdelnik na 1. straně LINEA(X1Svisla1,YTlusta1-Y1Hlav1,X1Svisla1,YKonec1) ; 1. svisla if(not TiskJenNenul) LINEA(X2Svisla1,YTlusta1-Y1Hlav1,X2Svisla1,YKonec1) ; 2. svisla LINEA(X3Svisla1,YTlusta1-Y1Hlav1,X3Svisla1,YKonec1) ; 3. svisla LINEA(X4Svisla1,YTlusta1-Y2Hlav1,X4Svisla1,YKonec1) ; 4. svisla LINEA(X5Svisla1,YTlusta1-Y2Hlav1,X5Svisla1,YKonec1) ; 5. svisla ;LINEA(X6Svisla1,YTlusta1-Y2Hlav1,X6Svisla1,YKonec1) ; 5. svisla LINEA(X3Svisla1,YTlusta1-Y2Hlav1,XKonec1,YTlusta1-Y2Hlav1) ; vodorovna v prave pulce hlavicky LocI=PocRad1 if(LocI=0) LocI=1 LINESA(XZacatek1,YTlusta1+YRadkovani1,XKonec1,YTlusta1+YRadkovani1,0,YRadkovani1,LocI-1) FONTSIZE(3) FontFace(Normal) XTEXT(XZacatek1+(X1Svisla1-XZacatek1)/2,YTlusta1-Y1Hlav1+5,X1Svisla1-XZacatek1-1,TA_CENTER,'Položka') TEXT((X1Svisla1+(X2Svisla1-X1Svisla1)/2),YTlusta1-Y1Hlav1+5,TA_CENTER,'T E X T') if(not TiskJenNenul) XTEXT((X2Svisla1+(X3Svisla1-X2Svisla1)/2),YTlusta1-Y1Hlav1+5,X3Svisla1-X2Svisla1-1,TA_CENTER,'Označ.') TEXT((X3Svisla1+(XKonec1-X3Svisla1)/2),YTlusta1-Y1Hlav1+2,TA_CENTER,'Hodnoty za činnosti:') TEXT((X3Svisla1+(X4Svisla1-X3Svisla1)/2),YTlusta1-Y2Hlav1+3,TA_CENTER,'hlavní') TEXT((X4Svisla1+(X5Svisla1-X4Svisla1)/2),YTlusta1-Y2Hlav1+3,TA_CENTER,'hospodářská') ;TEXT((X5Svisla1+(X6Svisla1-X5Svisla1)/2),YTlusta1-Y2Hlav1+3,TA_CENTER,'') TEXT((X5Svisla1+(X7Svisla1-X5Svisla1)/2),YTlusta1-Y2Hlav1+3,TA_CENTER,'celkem') TabPos(YTlusta1+1) if(ItsBlank) begin DefTab(3,YRadkovani1,XZacatek1+2,X1Svisla1-2,TA_LEFT,X1Svisla1+2,X2Svisla1-X1Svisla1-4,TA_BOTH,(X2Svisla1+(X3Svisla1-X2Svisla1)/2),X3Svisla1-X2Svisla1-2,TA_CENTER) PrintText(PocRad1); end else begin if(TiskJenNenul) begin S1=X3Svisla1-X1Svisla1-4 S2=X4Svisla1-X3Svisla1-2 S3=X5Svisla1-X4Svisla1-2 DefTab(5,YRadkovani1,XZacatek1+2,X1Svisla1-2,TA_LEFT,X1Svisla1+2,S1,TA_Left|TA_MaskRight,X4Svisla1-2,S2,TA_RIGHT,X5Svisla1-2,S3,TA_RIGHT,X7Svisla1-2,X7Svisla1-X5Svisla1-2,TA_RIGHT) ;kdyby byl další sloupec: ;DefTab(6,YRadkovani1,XZacatek1+2,X1Svisla1-2,TA_LEFT,X1Svisla1+2,S1,TA_Left|TA_MaskRight,X4Svisla1-2,S2,TA_RIGHT,X5Svisla1-2,S3,TA_RIGHT,X6Svisla1-2,X6Svisla1-X5Svisla1-2,TA_RIGHT,X7Svisla1-2,X7Svisla1-X5Svisla1-2,TA_RIGHT) j=2 end else begin S1=(X2Svisla1+(X3Svisla1-X2Svisla1)/2) S2=X4Svisla1-X3Svisla1-2 S3=X5Svisla1-X4Svisla1-2 ;S4=X6Svisla1-X5Svisla1-2 DefTab(6,YRadkovani1,XZacatek1+2,X1Svisla1-2,TA_LEFT,X1Svisla1+2,X2Svisla1-X1Svisla1-4,TA_Both,S1,X3Svisla1-X2Svisla1-2,TA_CENTER,X4Svisla1-2,S2,TA_RIGHT,X5Svisla1-2,S3,TA_RIGHT,X7Svisla1-2,X7Svisla1-X5Svisla1-2,TA_RIGHT) ;kdyby byl další sloupec: ;DefTab(7,YRadkovani1,XZacatek1+2,X1Svisla1-2,TA_LEFT,X1Svisla1+2,X2Svisla1-X1Svisla1-4,TA_Both,S1,X3Svisla1-X2Svisla1-2,TA_CENTER,X4Svisla1-2,S2,TA_RIGHT,X5Svisla1-2,S3,TA_RIGHT,X6Svisla1-2,S4,TA_RIGHT,X7Svisla1-2,X7Svisla1-X6Svisla1-2,TA_RIGHT) j=1 end if(TiskJenNenul) DynTab('A.'+#9+'Náklady') i=1 While(j<=PocRad1) begin if(Hodnoty[i].ArrTisk) begin if(Hodnoty[i].ArrCastka1=0) StrHlavni='' else StrHlavni=Str(Hodnoty[i].ArrCastka1,0,PocetDesMist) if(Hodnoty[i].ArrCastka2=0) StrHosp='' else StrHosp=Str(Hodnoty[i].ArrCastka2,0,PocetDesMist) if(Hodnoty[i].ArrCastkaSuma=0) StrSuma='' else StrSuma=Str(Hodnoty[i].ArrCastkaSuma,0,PocetDesMist) if(TiskJenNenul) DynTab(Hodnoty[i].ArrPolozka+#9+Hodnoty[i].ArrText+#9+StrHlavni+#9+StrHosp+#9+StrSuma) else DynTab(Hodnoty[i].ArrPolozka+#9+Hodnoty[i].ArrText+#9+Null(Hodnoty[i].ArrRadek,2,True)+#9+StrHlavni+#9+StrHosp+#9+StrSuma) Inc(j) end Inc(i) end end; ;{========================================== str. 2} IF(not PouzeJednaStrana) NextPage FONTFACE(Normal); PEN(0,0.7) LINEA(XZacatek2,YTlusta2,XKonec2,YTlusta2); PEN(0,0.3) BOXA(XZacatek2,YTlusta2-Y1Hlav2,XKonec2,YKonec2) ; obdelnik na 1. straně LINEA(X1Svisla2,YTlusta2-Y1Hlav2,X1Svisla2,YKonec2) ; 1. svisla if(not TiskJenNenul) LINEA(X2Svisla2,YTlusta2-Y1Hlav2,X2Svisla2,YKonec2) ; 2. svisla LINEA(X3Svisla2,YTlusta2-Y1Hlav2,X3Svisla2,YKonec2) ; 3. svisla LINEA(X4Svisla2,YTlusta2-Y2Hlav2,X4Svisla2,YKonec2) ; 4. svisla LINEA(X5Svisla2,YTlusta2-Y2Hlav2,X5Svisla2,YKonec2) ; 5. svisla ;LINEA(X6Svisla2,YTlusta2-Y2Hlav2,X6Svisla2,YKonec2) ; 6. svisla LINEA(X3Svisla2,YTlusta2-Y2Hlav2,XKonec2,YTlusta2-Y2Hlav2) ; vodorovna v prave pulce hlavicky LocI=PocRad2 if(LocI=0) LocI=1 LINESA(XZacatek2,YTlusta2+YRadkovani2,XKonec2,YTlusta2+YRadkovani2,0,YRadkovani2,LocI-1) FONTSIZE(3) FontFace(Normal) XTEXT(XZacatek2+(X1Svisla2-XZacatek2)/2,YTlusta2-Y1Hlav2+5,X1Svisla2-XZacatek2-1,TA_CENTER,'Položka') TEXT((X1Svisla2+(X2Svisla2-X1Svisla2)/2),YTlusta2-Y1Hlav2+5,TA_CENTER,'T E X T') if(not TiskJenNenul) XTEXT((X2Svisla2+(X3Svisla2-X2Svisla2)/2),YTlusta2-Y1Hlav2+5,X3Svisla2-X2Svisla2-1,TA_CENTER,'Označ.') TEXT((X3Svisla2+(XKonec2-X3Svisla2)/2),YTlusta2-Y1Hlav2+2,TA_CENTER,'Hodnoty za činnosti:') TEXT((X3Svisla2+(X4Svisla2-X3Svisla2)/2),YTlusta2-Y2Hlav2+3,TA_CENTER,'hlavní') TEXT((X4Svisla2+(X5Svisla2-X4Svisla2)/2),YTlusta2-Y2Hlav2+3,TA_CENTER,'hospodářská') ;TEXT((X5Svisla2+(X6Svisla2-X5Svisla2)/2),YTlusta2-Y2Hlav2+3,TA_CENTER,'') TEXT((X5Svisla2+(X7Svisla2-X5Svisla2)/2),YTlusta2-Y2Hlav2+3,TA_CENTER,'celkem') ;{hodnoty:} ;vvvvvvvvvvvv TabPos(YTlusta2+1) if(ItsBlank) begin DefTab(3,YRadkovani2,XZacatek2+2,X1Svisla2-2,TA_LEFT,X1Svisla2+2,X2Svisla2-X1Svisla2-4,TA_BOTH,(X2Svisla2+(X3Svisla2-X2Svisla2)/2),X3Svisla2-X2Svisla2-2,TA_CENTER) PrintText(PocRad2); end else begin if(TiskJenNenul) begin S1=X3Svisla2-X1Svisla2-4 S2=X4Svisla2-X3Svisla2-2 S3=X5Svisla2-X4Svisla2-2 DefTab(5,YRadkovani2,XZacatek2+2,X1Svisla2-2,TA_LEFT,X1Svisla2+2,S1,TA_Left|TA_MaskRight,X4Svisla2-2,S2,TA_RIGHT,X5Svisla2-2,S3,TA_RIGHT,X7Svisla2-2,X7Svisla2-X5Svisla2-2,TA_RIGHT) ;DefTab(6,YRadkovani2,XZacatek2+2,X1Svisla2-2,TA_LEFT,X1Svisla2+2,S1,TA_Left|TA_MaskRight,X4Svisla2-2,S2,TA_RIGHT,X5Svisla2-2,S3,TA_RIGHT,X6Svisla2-2,X6Svisla2-X5Svisla2-2,TA_RIGHT,X7Svisla2-2,X7Svisla2-X6Svisla2-2,TA_RIGHT) ; j=2 end else begin S1=(X2Svisla1+(X3Svisla1-X2Svisla1)/2) S2=X4Svisla1-X3Svisla1-2 S3=X5Svisla1-X4Svisla1-2 ;S4=X6Svisla1-X5Svisla1-2 DefTab(7,YRadkovani2,XZacatek2+2,X1Svisla2-2,TA_LEFT,X1Svisla2+2,X2Svisla2-X1Svisla2-4,TA_Both,S1,X3Svisla2-X2Svisla2-2,TA_CENTER,X4Svisla2-2,S2,TA_RIGHT,X5Svisla2-2,S3,TA_RIGHT,X7Svisla2-2,X7Svisla2-X5Svisla2-2,TA_RIGHT) ;DefTab(7,YRadkovani2,XZacatek2+2,X1Svisla2-2,TA_LEFT,X1Svisla2+2,X2Svisla2-X1Svisla2-4,TA_Both,S1,X3Svisla2-X2Svisla2-2,TA_CENTER,X4Svisla2-2,S2,TA_RIGHT,X5Svisla2-2,S3,TA_RIGHT,X6Svisla2-2,S4,TA_RIGHT,X7Svisla2-2,X7Svisla2-X6Svisla2-2,TA_RIGHT) ; j=1 end LocI=PocRadCelkem if(TiskJenNenul) DynTab('B.'+#9+'Výnosy') else LocI=PocRadCelkem+2 j=1 While((j<=PocRad2)and(i<=PocRadCelkem)) begin if(Hodnoty[i].ArrTisk) begin if(Hodnoty[i].ArrCastka1=0) StrHlavni='' else StrHlavni=Str(Hodnoty[i].ArrCastka1,0,PocetDesMist) if(Hodnoty[i].ArrCastka2=0) StrHosp='' else StrHosp=Str(Hodnoty[i].ArrCastka2,0,PocetDesMist) if(Hodnoty[i].ArrCastkaSuma=0) StrSuma='' else StrSuma=Str(Hodnoty[i].ArrCastkaSuma,0,PocetDesMist) if(TiskJenNenul) DynTab(Hodnoty[i].ArrPolozka+#9+Hodnoty[i].ArrText+#9+StrHlavni+#9+StrHosp+#9+StrSuma) else DynTab(Hodnoty[i].ArrPolozka+#9+Hodnoty[i].ArrText+#9+Null(Hodnoty[i].ArrRadek,2,True)+#9+StrHlavni+#9+StrHosp+#9+StrSuma) Inc(j) end Inc(i) end end; CallDDT('PataVyk.ddt') END