; Hlavicka vykazu (Rozvaha a VZaZ) ; verze z 28.4.2010 Designed(''); ;potrebuje, aby byly Globalni (priklad hodnot): ;Global NazevSest1:String='Výkaz zisku a ztráty' ;Global NazevSest2:String='podle pravidel pro banky a některé finanční instituce' ;např. v plném rozsahu ;Global Opatr1:String='Opatření Ministerstva financí ČR' ;Global Opatr2:String='Č.j.:282/73 391/2001' ;Global Opatr3:String='ze dne 7.prosince 2001' ;Global XZacatek1:Real=0 ; x souradnice zacatku tabulky na 1. straně ;Global XKonec1:Real=188 ; x souradnice konce tabulky na 1. straně ;Global YTlusta1:Real=72 ; Y-souradnice prvni tluste cary ;Global Y1Hlav1:Real=16 SetStatusText('') DeclareRec('Program') WNSType(0); ;sirka1:real=50 sirka1:real=XKonec1-10-128 INI:String=DataPath+'VYKAZY.INI' PravniForma:String[32]=GetDataINI('INFO','PravniForma') Bydliste1:String[37]=GetDataINI('INFO','Bydliste1') Bydliste2:String[37]=GetDataINI('INFO','Bydliste2') HlCinnost1:String[37]=GetDataINI('INFO','HlCinnost1') KodBanky:String[4]=GetDataINI('INFO','KodBanky') Nace:String[6]=GetDataINI('INFO','NACE') if((Val(Nace)<1000) or (Val(Nace)>99999)) Nace='' else Nace=NulL(Nace,5) UplnyNazev1:String[48]=XTrim(GetDataINI('INFO','UplnyNazev1')) UplnyNazev2:String[48]=XTrim(GetDataINI('INFO','UplnyNazev2')) UplnyNazev3:String[48]=XTrim(GetDataINI('INFO','UplnyNazev3')) UplnyNazev4:String[48]=XTrim(GetDataINI('INFO','UplnyNazev4')) FONTFACE(Normal) FONTSIZE(3.75) ZpusobZaokr:Byte=Val(GetDataINI('INFO','ZaokrouhleniVykazu')) ;if(Program.DanovaEvidence) ; ZpusobZaokr=3 if((Program.DanovaEvidence)and(CompareStr(UpCaseNoCS(NazevSest1),UpCaseNoCS('Přehled o majetku a závazcích')))) ;pozor, chouliostive, vyměnit raději za nějakou funkci TypVykazu? begin TEXT(60,18,TA_CENTER,'(v '+Program.Mena+' na dvě desetinná místa)') end else begin if(Length(ObdMaxDay(1,1))>1) begin if(ZpusobZaokr=0) TEXT(60,18,TA_CENTER,'(v celých tisících '+Program.Mena+')') if(ZpusobZaokr=1) TEXT(60,18,TA_CENTER,'(v tis. '+Program.Mena+' na dvě desetinná místa)') if(ZpusobZaokr=2) TEXT(60,18,TA_CENTER,'(v '+Program.Mena+' na dvě desetinná místa)') if(ZpusobZaokr=3) TEXT(60,18,TA_CENTER,'(v '+Program.Mena+')') if(ZpusobZaokr=4) TEXT(60,18,TA_CENTER,'(v celých milionech '+Program.Mena+')') end end if(Length(HS())>0) begin NazevHS:String='' if(not StrPos(HS(),'?')) begin VetaC:LongInt LocLI:LongInt=Val(HS()) DeclareRec('Ciselnik') DeclareRec('KeyCiselnik1') KeyCiselnik1.Length=6 KeyCiselnik1.Druh=Swap(3) KeyCiselnik1.Kod=Swapl(LocLI) Ciselnik.Popis='' if(FindKey(KeyCiselnik1,VetaC)) begin ReadRec(Ciselnik,VetaC) NazevHS=Ciselnik.Popis end end ;text zúžit nebo jej dát odleva nebo odprava nebo na dva radky TEXT(60,22,TA_CENTER,'za hospodářské středisko '+HS()+' '+NazevHS) end FONTSIZE(4.5) FONTFACE(BOLD) XTEXT(60,1,64,TA_CENTER,NazevSest1) FONTFACE(NORMAL) XTEXT(60,6,64,TA_CENTER,NazevSest2) FONTSIZE(4.5) FONTFACE(BOLD) if((Program.DanovaEvidence)and(CompareStr(UpCaseNoCS(NazevSest1),UpCaseNoCS('Přehled o majetku a závazcích')))) ;pozor, chouliostive, vyměnit raději za nějakou funkci TypVykazu? begin TEXT(60,13,TA_CENTER,SDatumOd+' - '+SDatumDo) end else begin if(Length(ObdMaxDay(1,1))<=1) TEXT(60,13,TA_CENTER,'k ....................') else begin DatumZaverky:Word=ValDate(GetFromIni('VYKAZY','DatumZaverky'+Rok(2),INI)) if(Val(Copy(Obdobi(),1,2))=99); roční begin if(DatumZaverky<>0) TEXT(60,13,TA_CENTER,'k '+StrDate(DatumZaverky)) else TEXT(60,13,TA_CENTER,'k '+ObdMaxDay(1,1)) end else begin; není roční if(ValDate(ObdMaxDay(0,1))0) begin TEXT(100,19,TA_LEFT,'Právní forma:') FONTSIZE(3) FontFace(Bold|Italic) XTEXT(128,19,sirka1,TA_LEFT,PravniForma) FONTSIZE(2.75) FONTFACE(NORMAL); end end else if(Program.TypFirmy=5) ;příspěvková begin if(Program.DanovaEvidence) begin TEXT(100,9,TA_LEFT,'Poplatník:') end else begin TEXT(100,9,TA_LEFT,'Název účetní jednotky:') end IF(Length(PravniForma)>0) begin TEXT(100,19,TA_LEFT,'Právní forma:') FONTSIZE(3) FontFace(Bold|Italic) XTEXT(128,19,sirka1,TA_LEFT,PravniForma) FONTSIZE(2.75) FONTFACE(NORMAL); end end else IF(Program.TypFirmy=7) ;banky a FI begin TEXT(100,9,TA_LEFT,'Obchodní firma:') IF(Length(KodBanky)>0) begin TEXT(100,19,TA_LEFT,'Kód banky:') FONTSIZE(3) FontFace(Bold|Italic) TEXT(128,19,TA_LEFT,KodBanky) FONTSIZE(2.75) FONTFACE(NORMAL); end end if(Program.DanovaEvidence) TEXT(100,29,TA_LEFT,'Sídlo:') else TEXT(100,29,TA_LEFT,'Sídlo účetní jednotky:') ;tisknout jen, neni-li promenna prazdna: IF(Program.TypFirmy=0) ;podnikatele begin IF(Length(Bydliste1)>0) begin TEXT(100,34,TA_LEFT,'Bydliště:') FONTSIZE(3) FontFace(Bold|Italic) FontWidthScale(0) ClearFontIndex() GetFontIndex(sirka1,bydliste1) GetFontIndex(sirka1,bydliste2) FontIndex() TEXT(128,34,TA_LEFT,bydliste1) TEXT(128,39,TA_LEFT,bydliste2) FONTSIZE(2.75) FONTFACE(NORMAL); end else IF(Length(Bydliste2)>0) begin TEXT(100,34,TA_LEFT,'Bydliště:') FONTSIZE(3) FontFace(Bold|Italic) XTEXT(128,34,sirka1,TA_LEFT,bydliste2) FONTSIZE(2.75) FONTFACE(NORMAL); end end IF(Program.TypFirmy=5) ;příspěvkové begin TEXT(100,39,TA_LEFT,'NACE:'); příspěvkové TEXT(100,42,TA_LEFT,'Předmět podnikání:'); ostatni end else begin TEXT(100,42,TA_LEFT,'Předmět podnikání:'); ostatni end FONTSIZE(3) FontFace(Bold|Italic) FontWidthScale(0) ClearFontIndex() TEXT(128,4,TA_LEFT,GetDataIni('Info','ICO')) if((Program.TypFirmy=5)or(Length(UplnyNazev1)<>0)) begin GetFontIndex(sirka1,UplnyNazev1) GetFontIndex(sirka1,UplnyNazev2) GetFontIndex(sirka1,UplnyNazev3) GetFontIndex(sirka1,UplnyNazev4) FontIndex() TEXT(128,9,TA_LEFT,UplnyNazev1) TEXT(128,14,TA_LEFT,UplnyNazev2) TEXT(128,19,TA_LEFT,UplnyNazev3) TEXT(128,24,TA_LEFT,UplnyNazev4) end else begin GetFontIndex(sirka1,Program.FIRMA) GetFontIndex(sirka1,Program.ROZSIRENI) FontIndex() TEXT(128,9,TA_LEFT,Program.FIRMA) TEXT(128,14,TA_LEFT,Program.ROZSIRENI) end; FontWidthScale(0) ClearFontIndex() GetFontIndex(sirka1,Program.ULICE) GetFontIndex(sirka1,Program.PSC+' '+Program.MESTO) FontIndex() TEXT(128,29,TA_LEFT,Program.ULICE) TEXT(128,34,TA_LEFT,Program.PSC+' '+Program.MESTO) FontWidthScale(0) ClearFontIndex() GetFontIndex(sirka1,HlCinnost1) FontIndex() IF(Program.TypFirmy=5) ;příspěvkové begin TEXT(128,39,TA_LEFT,NACE) TEXT(128,42,TA_LEFT,HlCinnost1) end else begin TEXT(128,39,TA_LEFT,HlCinnost1) end Exit End