; Rozvaha pro banky pro rok 2003 ; verze z 11.4.2003 ; Autor: WinDUO Team Designed('') Author('Winduo Team','EMail: winduo@winduo.mine.nu','http://www.winduo.com','http://winduo.mine.nu') Descr('Rozvaha pro banky') FileName('FIRO'+ObdMesic(2)+ObdRok(2)+'.WNS') DeclareRec('Program') 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 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; ItsBlank:Boolean FormName:String=GetTabName(3); if(Length(ObdMesic(2))<>0) begin Name('Rozvaha - Formulář za '+ObdMesic(2)+ObdRok(2)) end else begin Name('Rozvaha - Prázdný formulář') ItsBlank=True ReadedLine:String FirstChar:Byte LineNum:Word=1 end; ;hlavicka Global NazevSest1:String='Rozvaha' Global NazevSest2:String='podle pravidel pro banky a jiné finanční instituce' ;např. v plném rozsahu Global Opatr1:String='Podle Sbírky zákonů' Global Opatr2:String='vyhlášky č. 501/2002' Global Opatr3:String='ze dne 5.prosince 2002' ;definice 1.strany 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ě PocRad1:Byte=31 ;pocet radku tabulky na 1. strane YRadkovani1:Real=6.7 ;posun radku v tabulce na 1.strane YKonec1:Real=YTlusta1+(pocrad1*YRadkovani1) X1Svisla1:Real=XZacatek1+10 X2Svisla1:Real=XZacatek1+80 X3Svisla1:Real=XZacatek1+90 X4Svisla1:Real=(X3Svisla1+(XKonec1-X3Svisla1)/4) X5Svisla1:Real=(X3Svisla1+(2*(XKonec1-X3Svisla1)/4)) X6Svisla1:Real=(X3Svisla1+(3*(XKonec1-X3Svisla1)/4)) ;X7Svisla1:Real=(X3Svisla1+(4*(XKonec1-X3Svisla1)/4)) X7Svisla1:Real=XKonec1 Y2Hlav1:Real=9.5 CallDDT('HlavVyk.ddt') ;definice 2.strany XZacatek2:Real=0 ; x souradnice zacatku tabulky na 2. straně YTlusta2:Real=30 ; Y-souradnice prvni tluste cary XKonec2:Real=188 ; x souradnice konce tabulky na 2. straně PocRad2:Byte=33 ;pocet radku tabulky na 2. strane YRadkovani2:Real=5.5 ;posun radku v tabulce na 2.strane YKonec2:Real=YTlusta2+(pocrad2*YRadkovani2) X1Svisla2:Real=XZacatek2+10 X2Svisla2:Real=XZacatek2+90 X3Svisla2:Real=XZacatek2+98 X4Svisla2:Real=(X3Svisla2+(XKonec2-X3Svisla2)/2) ;X5Svisla2:Real=(X3Svisla2+(2*(XKonec2-X3Svisla2)/3)) X5Svisla2:Real=XKonec2 Y1Hlav2:Real=Y1Hlav1 Y2Hlav2:Real=Y2Hlav1 ;definice 3.strany XZacatek3:Real=0 ; x souradnice zacatku tabulky na 3. straně YTlusta3:Real=30 ; Y-souradnice prvni tluste cary XKonec3:Real=188 ; x souradnice konce tabulky na 3. straně PocRad3:Byte=15 ;pocet radku tabulky na 3. strane YRadkovani3:Real=6.5 ;posun radku v tabulce na 3.strane YKonec3:Real=YTlusta3+(pocrad3*YRadkovani3) X1Svisla3:Real=XZacatek3+10 X2Svisla3:Real=XZacatek3+90 X3Svisla3:Real=XZacatek3+98 X4Svisla3:Real=(X3Svisla3+(XKonec3-X3Svisla3)/2) ;X5Svisla3:Real=(X3Svisla3+(2*(XKonec3-X3Svisla3)/3)) X5Svisla3:Real=XKonec3 Y1Hlav3:Real=Y1Hlav1 Y2Hlav3:Real=Y2Hlav1 ;definice 4.strany ;XZacatek4:Real=0 ; x souradnice zacatku tabulky na 4. straně ;YTlusta4:Real=30 ; Y-souradnice prvni tluste cary ;XKonec4:Real=188 ; x souradnice konce tabulky na 4. straně ;PocRad4:Byte=34 ;pocet radku tabulky na 4. strane ;YRadkovani4:Real=6.5 ;posun radku v tabulce na 4.strane ;YKonec4:Real=YTlusta4+(pocrad4*YRadkovani4) ;X1Svisla4:Real=XZacatek4+10 ;X2Svisla4:Real=XZacatek4+90 ;X3Svisla4:Real=XZacatek4+98 ;X4Svisla4:Real=(X3Svisla4+(XKonec4-X3Svisla4)/3) ;X5Svisla4:Real=(X3Svisla4+(2*(XKonec4-X3Svisla4)/3)) ;Y1Hlav4:Real=Y1Hlav1 ;Y2Hlav4:Real=Y2Hlav1 ;paticka Global X1Pata:Real=XZacatek3 Global Y1Pata:Real=YKonec3+5 Global X2Pata:Real=XKonec3 Global Y2Pata:Real=YKonec3+35 ;======================================= str. 1 ;definice tabulky hodnot 1.strany 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 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-Y1Hlav1,X6Svisla1,YKonec1) ; 6. svisla ;LINEA(X7Svisla1,YTlusta1-Y1Hlav1,X7Svisla1,YKonec1) ; 7. svisla LINEA(X3Svisla1,YTlusta1-Y2Hlav1,X6Svisla1,YTlusta1-Y2Hlav1) ; vodorovna v prave pulce hlavicky LINESA(XZacatek1,YTlusta1+YRadkovani1,XKonec1,YTlusta1+YRadkovani1,0,YRadkovani1,PocRad1-1) FONTSIZE(5) FontFace(Bold) TEXT(XZacatek1,YTlusta1-Y1Hlav1-6,TA_LEFT,'AKTIVA') FONTSIZE(3) FontFace(Normal) TEXT(XZacatek1+(X1Svisla1-XZacatek1)/2,YTlusta1-Y1Hlav1+2.5,TA_CENTER,'Označ.') TEXT(XZacatek1+(X1Svisla1-XZacatek1)/2,YTlusta1-5,TA_CENTER,'a') TEXT((X1Svisla1+(X2Svisla1-X1Svisla1)/2),YTlusta1-Y1Hlav1+2.5,TA_CENTER,'T E X T') TEXT((X1Svisla1+(X2Svisla1-X1Svisla1)/2),YTlusta1-5,TA_CENTER,'b') ;TEXT((X2Svisla1+(X3Svisla1-X2Svisla1)/2),YTlusta1-Y1Hlav1+2.5,TA_CENTER,'Číslo') ;TEXT((X2Svisla1+(X3Svisla1-X2Svisla1)/2),YTlusta1-Y1Hlav1+2.5+2.5,TA_CENTER,'řádku') XTEXT((X2Svisla1+(X3Svisla1-X2Svisla1)/2),YTlusta1-Y1Hlav1+2.5,X3Svisla1-X2Svisla1-1,TA_CENTER,'Položka') TEXT((X2Svisla1+(X3Svisla1-X2Svisla1)/2),YTlusta1-5,TA_CENTER,'c') TEXT((X3Svisla1+(X6Svisla1-X3Svisla1)/2),YTlusta1-Y1Hlav1+2.5,TA_CENTER,'Skutečnost v účetním období') TEXT((X3Svisla1+(X4Svisla1-X3Svisla1)/2),YTlusta1-Y2Hlav1+1.5,TA_CENTER,'Hrubá částka') TEXT((X3Svisla1+(X4Svisla1-X3Svisla1)/2),YTlusta1-5,TA_CENTER,'1'); TEXT((X4Svisla1+(X5Svisla1-X4Svisla1)/2),YTlusta1-Y2Hlav1+1.5,TA_CENTER,'Úprava') TEXT((X4Svisla1+(X5Svisla1-X4Svisla1)/2),YTlusta1-5,TA_CENTER,'2'); TEXT((X5Svisla1+(X6Svisla1-X5Svisla1)/2),YTlusta1-Y2Hlav1+1.5,TA_CENTER,'Čistá částka') TEXT((X5Svisla1+(X6Svisla1-X5Svisla1)/2),YTlusta1-5,TA_CENTER,'3'); TEXT((X6Svisla1+(X7Svisla1-X6Svisla1)/2),YTlusta1-Y1Hlav1+2.5,TA_CENTER,'Minulé obd.') TEXT((X6Svisla1+(X7Svisla1-X6Svisla1)/2),YTlusta1-Y2Hlav1+1.5,TA_CENTER,'Čistá částka') TEXT((X6Svisla1+(X7Svisla1-X6Svisla1)/2),YTlusta1-5,TA_CENTER,'4'); ;TEXT((X7Svisla1+(XKonec1-X7Svisla1)/2),YTlusta1-Y1Hlav1+2.5,TA_CENTER,'Předminulé obd.') ;TEXT((X7Svisla1+(XKonec1-X7Svisla1)/2),YTlusta1-Y2Hlav1+1.5,TA_CENTER,'Čistá částka') ;TEXT((X7Svisla1+(XKonec1-X7Svisla1)/2),YTlusta1-5,TA_CENTER,'5'); if(ItsBlank) begin Soubor:TextFile; Open(Soubor,FormName); end else begin OpenWNS(WNSName) end; TabPos(YTlusta1+2.5) 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) ;FontWidthScale(0.8) ;zuzeni dlouhych textů, aby vyšly na řádek if(ItsBlank) begin PrintText(PocRad1); end else begin SaveWnsPos(1) TabFromWns(1,7,PocRad1,$7) SaveWnsPos(2) LoadWnsPos(1) FontSize(4.5) FontFace(Bold|Italic) TabPos(YTlusta1+2) ; DefTab(4,YRadkovani1,X4Svisla1-2,X4Svisla1-X3Svisla1,TA_RIGHT,X5Svisla1-2,X5Svisla1-X4Svisla1,TA_RIGHT,X6Svisla1-2,X6Svisla1-X5Svisla1,TA_RIGHT,X7Svisla1-2,X7Svisla1-X6Svisla1,TA_RIGHT) DefTab(4,YRadkovani1,X4Svisla1-2,X4Svisla1-X3Svisla1,TA_RIGHT,X5Svisla1-2,X5Svisla1-X4Svisla1,TA_RIGHT,X6Svisla1-2,X6Svisla1-X5Svisla1,TA_RIGHT) ;DefTab(4,YRadkovani1,105,24,TA_RIGHT,132.5,24,TA_RIGHT,160,24,TA_RIGHT,185,24,TA_RIGHT) TabFromWns(1,7,PocRad1,$78) end; FONTSIZE(3.3) FontFace(Normal) TEXT(XKonec1,YKonec1+2,TA_RIGHT,'Vytištěno systémem WinDUO') ;======================================= str. 2 NextPage FONTFACE(Normal); PEN(0,0.7) LINEA(XZacatek2,YTlusta2,XKonec2,YTlusta2); PEN(0,0.3) BOXA(XZacatek2,YTlusta2-Y1Hlav2,XKonec2,YKonec2) ; obdelnik na 2. straně LINEA(X1Svisla2,YTlusta2-Y1Hlav2,X1Svisla2,YKonec2) ; 1. svisla LINEA(X2Svisla2,YTlusta2-Y1Hlav2,X2Svisla2,YKonec2) ; 2. svisla LINEA(X3Svisla2,YTlusta2-Y1Hlav2,X3Svisla2,YKonec2) ; 3. svisla LINEA(X4Svisla2,YTlusta2-Y1Hlav2,X4Svisla2,YKonec2) ; 4. svisla ;LINEA(X5Svisla2,YTlusta2-Y1Hlav2,X5Svisla2,YKonec2) ; 5. svisla LINESA(XZacatek2,YTlusta2+YRadkovani2,XKonec2,YTlusta2+YRadkovani2,0,YRadkovani2,PocRad2-1) FONTSIZE(5) FontFace(Bold) TEXT(XZacatek2,YTlusta2-Y1Hlav2-6,TA_LEFT,'PASIVA') FONTSIZE(3) FontFace(Normal) TEXT(XZacatek2+(X1Svisla2-XZacatek2)/2,YTlusta2-Y1Hlav2+2.5,TA_CENTER,'Označ.') TEXT(XZacatek2+(X1Svisla2-XZacatek2)/2,YTlusta2-5,TA_CENTER,'a') TEXT((X1Svisla2+(X2Svisla2-X1Svisla2)/2),YTlusta2-Y1Hlav2+2.5,TA_CENTER,'T E X T') TEXT((X1Svisla2+(X2Svisla2-X1Svisla2)/2),YTlusta2-5,TA_CENTER,'b') ;TEXT((X2Svisla2+(X3Svisla2-X2Svisla2)/2),YTlusta2-Y1Hlav2+2.5,TA_CENTER,'Číslo') ;TEXT((X2Svisla2+(X3Svisla2-X2Svisla2)/2),YTlusta2-Y1Hlav2+2.5+2.5,TA_CENTER,'řádku') XTEXT((X2Svisla2+(X3Svisla2-X2Svisla2)/2),YTlusta2-Y1Hlav2+2.5,X3Svisla2-X2Svisla2-1,TA_CENTER,'Položka') TEXT((X2Svisla2+(X3Svisla2-X2Svisla2)/2),YTlusta2-5,TA_CENTER,'c') TEXT((X3Svisla2+(X4Svisla2-X3Svisla2)/2),YTlusta2-Y1Hlav2+2.5,TA_CENTER,'Běžné účetní období') TEXT((X3Svisla2+(X4Svisla2-X3Svisla2)/2),YTlusta2-5,TA_CENTER,'6'); TEXT((X4Svisla2+(X5Svisla2-X4Svisla2)/2),YTlusta2-Y1Hlav2+2.5,TA_CENTER,'Minulé období') TEXT((X4Svisla2+(X5Svisla2-X4Svisla2)/2),YTlusta2-5,TA_CENTER,'7'); ;TEXT((X5Svisla2+(XKonec2-X5Svisla2)/2),YTlusta2-Y1Hlav2+2.5,TA_CENTER,'Předminulé období') ;TEXT((X5Svisla2+(XKonec2-X5Svisla2)/2),YTlusta2-5,TA_CENTER,'8'); TabPos(YTlusta2+2) 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) if(ItsBlank) begin PrintText(PocRad2); end else begin LoadWNSPos(2) TabFromWns(1,7,PocRad2,$7) SaveWnsPos(3); ulozim aktualni pozici ve WNS souboru do bunky 3 LoadWnsPos(2) FontSize(4.5) FontFace(Bold|Italic) TabPos(YTlusta2+1) DefTab(2,YRadkovani2,X4Svisla2-2,X4Svisla2-X3Svisla2,TA_RIGHT,X5Svisla2-2,X5Svisla2-X4Svisla2,TA_RIGHT) TabFromWns(1,7,PocRad2,$18) end; ;==================================== str. 3 NextPage FONTFACE(Normal); PEN(0,0.7) LINEA(XZacatek3,YTlusta3,XKonec3,YTlusta3); PEN(0,0.3) BOXA(XZacatek3,YTlusta3-Y1Hlav3,XKonec3,YKonec3) ; obdelnik na 3. straně LINEA(X1Svisla3,YTlusta3-Y1Hlav3,X1Svisla3,YKonec3) ; 1. svisla LINEA(X2Svisla3,YTlusta3-Y1Hlav3,X2Svisla3,YKonec3) ; 2. svisla LINEA(X3Svisla3,YTlusta3-Y1Hlav3,X3Svisla3,YKonec3) ; 3. svisla LINEA(X4Svisla3,YTlusta3-Y1Hlav3,X4Svisla3,YKonec3) ; 4. svisla ;LINEA(X5Svisla3,YTlusta3-Y1Hlav3,X5Svisla3,YKonec3) ; 5. svisla LINESA(XZacatek3,YTlusta3+YRadkovani3,XKonec3,YTlusta3+YRadkovani3,0,YRadkovani3,PocRad3-1) FONTSIZE(5) FontFace(Bold) TEXT(XZacatek3,YTlusta3-Y1Hlav3-6,TA_LEFT,'PODROZVAHOVÉ ÚČTY') FONTSIZE(3) FontFace(Normal) TEXT(XZacatek3+(X1Svisla3-XZacatek3)/2,YTlusta3-Y1Hlav3+2.5,TA_CENTER,'Označ.') TEXT(XZacatek3+(X1Svisla3-XZacatek3)/2,YTlusta3-5,TA_CENTER,'a') TEXT((X1Svisla3+(X2Svisla3-X1Svisla3)/2),YTlusta3-Y1Hlav3+2.5,TA_CENTER,'T E X T') TEXT((X1Svisla3+(X2Svisla3-X1Svisla3)/2),YTlusta3-5,TA_CENTER,'b') ;TEXT((X2Svisla3+(X3Svisla3-X2Svisla3)/2),YTlusta3-Y1Hlav3+2.5,TA_CENTER,'Číslo') ;TEXT((X2Svisla3+(X3Svisla3-X2Svisla3)/2),YTlusta3-Y1Hlav3+2.5+2.5,TA_CENTER,'řádku') XTEXT((X2Svisla3+(X3Svisla3-X2Svisla3)/2),YTlusta3-Y1Hlav3+2.5,X3Svisla3-X2Svisla3-1,TA_CENTER,'Položka') TEXT((X2Svisla3+(X3Svisla3-X2Svisla3)/2),YTlusta3-5,TA_CENTER,'c') TEXT((X3Svisla3+(X4Svisla3-X3Svisla3)/2),YTlusta3-Y1Hlav3+2.5,TA_CENTER,'Běžné účetní období') TEXT((X3Svisla3+(X4Svisla3-X3Svisla3)/2),YTlusta3-5,TA_CENTER,'9'); TEXT((X4Svisla3+(X5Svisla3-X4Svisla3)/2),YTlusta3-Y1Hlav3+2.5,TA_CENTER,'Minulé období') TEXT((X4Svisla3+(X5Svisla3-X4Svisla3)/2),YTlusta3-5,TA_CENTER,'10'); ;TEXT((X5Svisla3+(XKonec3-X5Svisla3)/2),YTlusta3-Y1Hlav3+2.5,TA_CENTER,'Předminulé období') ;TEXT((X5Svisla3+(XKonec3-X5Svisla3)/2),YTlusta3-5,TA_CENTER,'11'); TabPos(YTlusta3+2) DefTab(3,YRadkovani3,XZacatek3+2,X1Svisla3-2,TA_LEFT,X1Svisla3+2,X2Svisla3-X1Svisla3-4,TA_BOTH,(X2Svisla3+(X3Svisla3-X2Svisla3)/2),X3Svisla3-X2Svisla3-2,TA_CENTER) if(ItsBlank) begin PrintText(PocRad3); end else begin LoadWNSPos(3) TabFromWns(1,7,PocRad3,$7) SaveWnsPos(4); ulozim aktualni pozici ve WNS souboru do bunky 3 LoadWnsPos(3) FontSize(4.5) FontFace(Bold|Italic) TabPos(YTlusta3+1) DefTab(2,YRadkovani3,X4Svisla3-2,X4Svisla3-X3Svisla3,TA_RIGHT,X5Svisla3-2,X5Svisla3-X4Svisla3,TA_RIGHT) TabFromWns(1,7,PocRad3,$18) end; CallDDT('PataVyk.ddt') END