; Popis formuláře 'Souhrnné hlášení k dani z přidané hodnoty - vzor č.1' ; verze: z 21.7.2005 ; Autor: Milan Slíva + Zdeněk Čapek Name('Souhrnné hlášení k DPH') Designed('') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://wwww.winduo.cz') Descr('Formulář Souhrnné hlášení k DPH') ;NewWNS('SOUHHL02.WNS') WNSType(0) FileName('SouhHlas.WNS') DeclareRec('Program') DeclareRec('Denik') DeclareRec('KeyDenik1') DeclareRec('KeyDenik7') DeclareRec('Adresar') DeclareRec('KeyAdresar1') if((Ctvrtleti>4)or(Ctvrtleti<1)) Halt('Údaj Čtvrtletí je zadán chybně: '+Str(Ctvrtleti)) if(RokHlas<2004) Halt('Údaj Rok je zadán chybně: '+Str(RokHlas)) if(Ctvrtleti=1) begin SDatumOd:String='01.01.'+Str(RokHlas) SDatumDo:String='31.03.'+Str(RokHlas) end if(Ctvrtleti=2) begin SDatumOd:String='01.04.'+Str(RokHlas) SDatumDo:String='30.06.'+Str(RokHlas) end if(Ctvrtleti=3) begin SDatumOd:String='01.07.'+Str(RokHlas) SDatumDo:String='30.09.'+Str(RokHlas) end if(Ctvrtleti=4) begin SDatumOd:String='01.10.'+Str(RokHlas) SDatumDo:String='31.12.'+Str(RokHlas) end if((Ctvrtleti=2)and(RokHlas=2004)) begin SDatumOd:String='01.05.'+Str(RokHlas) SDatumDo:String='30.06.'+Str(RokHlas) end DatumOd:Word=ValDate(SDatumOd) DatumDo:Word=ValDate(SDatumDo) ;zjistit počet řádků, které budou tisteny ;řádky s kódem DPH: ;zvlášť roletka 50 + 52 (kód=0) základ za 0% ;zvlášť roletka 51 + 53 (kód=1) základ za 0% ;zvlášť roletka 59 (kód=2) základ za 0% ;vysčítat součet "základ za 0%" podle DIČ za zadané období (kvartál). ;{Tiskne se vždy jeden řádek za jedno DIČ. Asi upozornit, pokud je DIČ nevyplněné nebo ;pokud DIČ začíná CZ (hlásí se totiž případy se zahraničním DIČ)} ;Údaj "Počet plnění" by měl být počet interních čísel. ;Údaj "kód země" = první dva znaky z DIČ ;Údaj "DIČ pořizovatele" = DIČ bez prvních dvou znaků ;Údaj "kód plnění" viz výše ;Údaj "Celková hodnota plnění v Kč" = součet Denik.castka ;načítat součet pro "kontrolní součet", vynulovat za každou stránku ;na začátku jsou definovány údaje PocRad1 a PocRad2 pro počty řádků k tisku. ;asi udělat pomocný datový soubor, který již bude mít vysčítaná data ;zjistit počet tištěných řádků, uložit do PocetZaznamu ;procedura NaplnStrData - dořešit, aby tiskla data z pomocného souboru ;pokud bude pomocny index k deníku pro vyhledání záznamů z deníku, pak udělat (možná) dotaz, zda chtějí i pomocnou sestavu, která bude tisknout včetně detailu? ; a na první nebo poslední strany pak tisknout detailní rozpis ;pokud ale bude jen vysčítání z deníku a tisk setříděného pomocného souboru bez indexování deníku, tak to asi nepůjde SledovanaDan:Array[1..5] of Byte=50,51,52,53,59 kod0:Array[1..2] of Byte=50,52 kod1:Array[1..2] of Byte=51,53 kod2:Array[1..1] of Byte=59 kod:Byte LocStat:String[2] Record Sumar DIC :String[14]; Stat :String[2] kod :Byte; pocet :LongInt; last :LongInt; Celkem:Double; Nazev :String[35] end; Record SumarKey Length:Byte DIC :Array[1..14] of Char; Kod :Byte; end; Record DetailyKey Length :Byte Veta :LongInt; Doklad :Array[1..10] of Char; Datum :Word; end; VetaS:LongInt LastCislo:LongInt=0 MakeTempFile(Sumar,SumarKey,False,False); MakeTempFile(,DetailyKey,True,False); ClearKey(KeyDenik7); While(NextKey(KeyDenik7,VetaD)) begin ReadRec(Denik,VetaD); if((Denik.ICO<>0)and(InArray(SledovanaDan,Denik.DanT2))and(Denik.DanT&$F0=$80)and(Denik.Datum_zp>=DatumOd)and(Denik.Datum_zp<=DatumDo)) begin KeyAdresar1.Length=4 KeyAdresar1.ICO=SwapL(Denik.ICO) if(FindKey(KeyAdresar1,VetaA)) begin ReadRec(Adresar,VetaA) LocStat=UpCase(Copy(Adresar.DIC,1,2)); if(CompareStr(LocStat,UpCase(Program.StateID))<>0) begin SumarKey.Length=SizeOf(SumarKey)-1 StrToChars(SumarKey.DIC,Adresar.DIC) if(InArray(Kod0,Denik.DanT2)) Kod=0 else if(InArray(Kod1,Denik.DanT2)) Kod=1 else if(InArray(Kod2,Denik.DanT2)) Kod=2 else Halt('Chyba ! Nebyly správně definovány kódy'); SumarKey.Kod=Kod if(FindKey(SumarKey,VetaS)) begin ReadRec(Sumar,VetaS) Sumar.Celkem=Sumar.Celkem+Denik.Castka; if(Sumar.Last<>KeyDenik7.Cislo) begin Inc(Sumar.Pocet) Sumar.Last=KeyDenik7.Cislo end; ModifyRec(Sumar,VetaS) end else begin ClearRec(Sumar); Sumar.Stat=LocStat Sumar.DIC=Copy(Adresar.DIC,3,255); Sumar.Nazev=Adresar.Nazev Sumar.Kod=Kod Inc(Sumar.Pocet) Sumar.Celkem=Denik.Castka Sumar.Last=KeyDenik7.Cislo VetaS=AddRec(Sumar) AddKey(SumarKey,VetaS); end; DetailyKey.Length=SizeOf(DetailyKey)-1 DetailyKey.Veta=SwapL(VetaS) ;StrToChars(Denik.Doklad,DetailyKey.Doklad) StrToChars(DetailyKey.Doklad,Denik.Doklad) DetailyKey.Datum=Swap(Denik.Datum_ZP) AddKey(DetailyKey,VetaD); end; end; end; end; PocetZaznamu:Word=UsedRecs(Sumar) ClearKey(SumarKey); LocB=NextKey(SumarKey,VetaS) ;{--------------------- zjistění počtu stran: -------------------------} PocetStran1:word=0 PocetStran2:word=0 PocetStranCelkem:word=0 Vytisteno:Word=0 PocetZaznamuZbyva:Word=PocetZaznamu While(VytistenoVytisteno) begin Inc(PocetStran2) Vytisteno=Vytisteno+PocRad2 end end PocetStranCelkem=PocetStran1+PocetStran2 ;{---------------------- Tisk: -------------------------------} PocetStran1=0 Vytisteno=0 PocetZaznamuZbyva=PocetZaznamu-Vytisteno PocetTistenych:Byte if(PocetZaznamu=0) begin Str1() NaplnStr1Ident() Str2() NaplnStr2Ident() end else begin While(PocetZaznamuZbyva>0) begin if(Vytisteno=0) NaplnStr1Ident() if(PocetZaznamuZbyva>PocRad1) PocetTistenych=PocRad1 else PocetTistenych=PocetZaznamuZbyva if(PocetTistenych>0) begin Str1() NaplnStrData(PocetTistenych,1) end PocetZaznamuZbyva=PocetZaznamu-Vytisteno Str2() if(PocetZaznamuZbyva>PocRad2) PocetTistenych=PocRad2 else begin PocetTistenych=PocetZaznamuZbyva NaplnStr2Ident() end if(PocetTistenych>0) NaplnStrData(PocetTistenych,2) PocetZaznamuZbyva=PocetZaznamu-Vytisteno end end ;{--------------------------- cyklus pro tisk detailů ---------------------------------------} if(TiskDetail) begin HlavickaRek() Poprve:Boolean=True CelkemRek:Real DefDynTab(5,185,3.8,5,4,TA_Right,10,TA_Right,10,TA_LEFT,25,TA_LEFT,15,TA_Right) TabPos(SourY) ;TabPos=SourY FONTSIZE(3.8) FONTFACE(BOLD) DynTab('Poč.'+#9+'Datum DPH'+#9+'Doklad'+#9+'Popis dokladu'+#9+'Částka') SourY=SourY+5 ClearKey(SumarKey); While(NextKey(SumarKey,VetaS)) begin ReadRec(Sumar,VetaS); ; vytisteni hlavicky radku If(not Poprve) begin DynTab('Celkem'+#9+#9+#9+#9+StrFinanc(CelkemRek,2)) CelkemRek=0 SourY=SourY+8 TabPos(SourY) ;TabPos=SourY end FONTSIZE(3.6) FONTFACE(BOLD) Text(10,SourY,TA_Left,Sumar.Stat+Sumar.DIC+' '+Sumar.Nazev+' kód: '+Str(Sumar.Kod,1)+' počet: '+Str(Sumar.Pocet)+' celkem: '+StrFinanc(Sumar.Celkem,2)) SourY=SourY+4 TabPos(SourY) ;TabPos=SourY Poprve=False if(SourY>DelkaStrany) HlavickaRek() FONTSIZE(3.6) FONTFACE(Normal) PorCislo=0 DetailyKey.Length=4 DetailyKey.Veta=SwapL(VetaS) LocB=SearchKey(DetailyKey,VetaD) While((LocB) and (DetailyKey.Veta=SwapL(VetaS))) begin ReadRec(Denik,VetaD); if(PoslIntCislo<>Denik.Cislo) Inc(PorCislo) if(PorCislo=0) Inc(PorCislo) PoslIntCislo=Denik.Cislo ;TabPos=SourY TabPos(SourY) DynTab(Str(PorCislo,4)+#9+StrDate(Denik.Datum_ZP)+#9+Denik.Doklad+#9+Denik.Popis+#9+StrFinanc(Denik.Castka,2)) SourY=SourY+3.8 if(SourY>DelkaStrany) HlavickaRek() CelkemRek=CelkemRek+Denik.Castka ; vytisteni detailu z deniku LocB=NextKey(DetailyKey,VetaD); end; end; DynTab('Celkem'+#9+#9+#9+#9+StrFinanc(CelkemRek,2)) end ;{===========================================================================================} Procedure Str1() ;{----------- Tisk 1. strany - rámečky --------------------} ;{doplnit číslování stránek...} if(not(PocetZaznamuZbyva=PocetZaznamu)) NEXTPAGE SumaStr=0 PEN(0,0.4) LINEA(10,148,185,148) ROUNDBOXA(10,155,185,276,3.3,3.3) LINEA(10,170,184.7,170) LINEA(10,270.5,184.7,270.5) PEN(0,0.2) ROUNDBOXA(164,5,185,11,3.3,3.3) ROUNDBOXA(10,21.5,90,27.5,3.3,3.3) ROUNDBOXA(10,36.5,70,42.5,3.3,3.3) LINESA(15,41,15,42.3,5,0,11) ROUNDBOXA(105,14,185,49,3.3,3.3) ROUNDBOXA(103,71,123,77,3.3,3.3) ROUNDBOXA(145,71,165,77,3.3,3.3) ROUNDBOXA(10,84,185,90,3.3,3.3) LINESA(15,88.5,15,89.8,5,0,34) ROUNDBOXA(10,92,125,98,3.3,3.3) LINESA(15,96.5,15,97.8,5,0,22) ROUNDBOXA(130,92,185,98,3.3,3.3) LINESA(135,96.5,135,97.8,5,0,10) ROUNDBOXA(10,106,105,112,3.3,3.3) LINESA(15,110.5,15,111.8,5,0,18) ROUNDBOXA(110,106,160,112,3.3,3.3) LINESA(115,110.5,115,111.8,4.545,0,10) ROUNDBOXA(165,106,185,112,3.3,3.3) LINESA(170,110.5,170,111.8,5,0,3) ROUNDBOXA(10,120,155,126,3.3,3.3) LINESA(15,124.5,15,125.8,5,0,28) ROUNDBOXA(160,120,185,126,3.3,3.3) LINESA(165,124.5,165,125.8,5,0,4) ROUNDBOXA(10,130,185,136,3.3,3.3) LINESA(15,134.5,15,135.8,5,0,34) ROUNDBOXA(10,140,85,146,3.3,3.3) LINESA(15,144.5,15,145.8,5,0,14) LINESA(10,175.5,185,175.5,0,5,19) LINEA(25,155,25,270.5) LINEA(40,155,40,270.5) LINEA(96,155,96,270.5) LINEA(115,155,115,270.5) LINEA(136,155,136,276) FONTSIZE(5) FONTFACE(BOLD) TEXT(10,10.5,TA_LEFT|TA_BASELINE,'A. ODDÍL (SECTION A)') TEXT(10,153,TA_LEFT|TA_BASELINE,'B. ODDÍL (SECTION B)') FONTSIZE(3.2) TEXT(10,3.7,TA_LEFT|TA_BASELINE,'Než začnete vyplňovat tiskopis, přečtěte si, prosím, pokyny. Please read the instructions before filling in the required details.') FONTSIZE(8) TEXT(102.5,57,TA_CENTER|TA_BASELINE,'SOUHRNNÉ HLÁŠENÍ') FONTSIZE(6) TEXT(102.5,62,TA_CENTER|TA_BASELINE,'k dani z přidané hodnoty') FONTSIZE(4) TEXT(102.5,66.5,TA_CENTER|TA_BASELINE,'podle § 102 zákona č. 235/2004 Sb., o dani z přidané hodnoty') FONTSIZE(3.2) TEXT(102.5,70,TA_CENTER|TA_BASELINE,'(RECAPITULATIVE STATEMENT to Value Added Tax according to Article 102 under Act of Value Added Tax No. 235/2004 Coll.)') FONTSIZE(4) TEXT(101,75,TA_RIGHT|TA_BASELINE,'za kalendářní čtvrtletí (Calender Quarter)') TEXT(143,75,TA_RIGHT|TA_BASELINE,'rok (Year)') FONTSIZE(3.2) TEXT(10,80,TA_BASELINE,'Právnická osoba (Legal Entity):') TEXT(10,102,TA_BASELINE,'Fyzická osoba (Natural person):') TEXT(10,116,TA_BASELINE,'Trvalé bydliště fyzické osoby nebo sídlo právnické osoby (Home Address of Natural person or Residence of Legal Entity):') FONTFACE(NORMAL) TEXT(162,7.5,TA_RIGHT|TA_BASELINE,'Pořadové číslo strany / Celkový počet stran') TEXT(162,10.5,TA_RIGHT|TA_BASELINE,'Sequential Number / Total number of pages') TEXT(10,17,TA_LEFT|TA_BASELINE,'Finančnímu úřadu v, ve, pro') TEXT(10,20.5,TA_LEFT|TA_BASELINE,'Local Tax Office in') TEXT(10,31.5,TA_LEFT|TA_BASELINE,'Daňové identifikační číslo') TEXT(10,35,TA_LEFT|TA_BASELINE,'Tax identification number') TEXT(10,83,TA_LEFT|TA_BASELINE,'Obchodní jméno (Trade Name)') TEXT(10,105,TA_LEFT|TA_BASELINE,'Příjmení (Surname)') TEXT(110,105,TA_LEFT|TA_BASELINE,'Jméno (First Name)') TEXT(165,105,TA_LEFT|TA_BASELINE,'Titul (Titl.)') TEXT(10,119,TA_LEFT|TA_BASELINE,'Obec (City, Town, Village)') TEXT(160,119,TA_LEFT|TA_BASELINE,'PSČ (Postal Code)') TEXT(10,129,TA_LEFT|TA_BASELINE,'Ulice, část obce (číslo popisné/číslem orientačním) (Street,Municipality)') TEXT(10,139,TA_LEFT|TA_BASELINE,'Stát (Country)') TEXT(17.5,159.5,TA_Center|TA_BASELINE,'Číslo') TEXT(17.5,162.5,TA_Center|TA_BASELINE,'řádku') TEXT(17.5,165.5,TA_Center|TA_BASELINE,'(Line') TEXT(17.5,168.5,TA_Center|TA_BASELINE,'number)') TEXT(32.5,159.5,TA_Center|TA_BASELINE,'Kód') TEXT(32.5,162.5,TA_Center|TA_BASELINE,'země') TEXT(32.5,165.5,TA_Center|TA_BASELINE,'(Country') TEXT(32.5,168.5,TA_Center|TA_BASELINE,'code)') TEXT(68,162,TA_Center|TA_BASELINE,'DIČ pořizovatele zboží') TEXT(68,165,TA_Center|TA_BASELINE,'(Customer´s VAT number)') TEXT(105.5,159.5,TA_Center|TA_BASELINE,'Kód') TEXT(105.5,162.5,TA_Center|TA_BASELINE,'plnění') TEXT(105.5,165.5,TA_Center|TA_BASELINE,'(Supplies') TEXT(105.5,168.5,TA_Center|TA_BASELINE,'code)') TEXT(125.5,159.5,TA_Center|TA_BASELINE,'Počet') TEXT(125.5,162.5,TA_Center|TA_BASELINE,'plnění') TEXT(125.5,165.5,TA_Center|TA_BASELINE,'(Number') TEXT(125.5,168.5,TA_Center|TA_BASELINE,'of supplies)') TEXT(160.5,162,TA_Center|TA_BASELINE,'Celková hodnota plnění v Kč') TEXT(160.5,165,TA_Center|TA_BASELINE,'(Total value of supplies in CZK)') i:byte=1 Ysour:real=174 While(i<=20) begin TEXT(17.5,Ysour,TA_Center|TA_BASELINE,i) Inc(i) YSour=YSour+5 end TEXT(12.5,274,TA_Left|TA_BASELINE,'Kontrolní součet řádků 1-20 (Control sum of lines 1-20):') FONTSIZE(2.5) TEXT(145,45.5,TA_CENTER|TA_BASELINE,'otisk prezentačního razítka finančního úřadu') TEXT(145,48,TA_CENTER|TA_BASELINE,'(box for official stamp of local tax office)') TEXT(10,279.5,TA_BASELINE,'25 5521 MFin 5521 - vzor č. 2') TEXT(185,279.5,TA_RIGHT|TA_BASELINE,'Vytištěno systémem WinDUO') TEXT(185,282,TA_RIGHT|TA_BASELINE,'Printed by the WinDUO system') FONTSIZE(3.5) FONTFACE(BOLD|Italic) Inc(PocetStran1) LocStr='' if(PocetStranCelkem<>0) LocStr=Str(PocetStran1)+' / '+Str(PocetStranCelkem) TEXT(174.5,9,TA_Center|TA_BASELINE,LocStr) STEXT(12.5,40.5,TA_CENTER|TA_BASELINE,5,12,DIC) TEXT(113,75,TA_Center|TA_BASELINE,Ctvrtleti) TEXT(155,75,TA_Center|TA_BASELINE,RokHlas) end ;{===========================================================================================} Procedure NaplnStr1Ident() ;{======= identifikační hodnoty 1. strany ==============} FONTSIZE(3.5) FONTFACE(BOLD|Italic) TEXT(12.5,25.5,TA_LEFT|TA_BASELINE,FinancniUrad) ; STEXT(12.5,27,TA_CENTER|TA_BASELINE,5,12,DIC) ; TEXT(102,75,TA_Center|TA_BASELINE,Ctvrtleti) ; TEXT(133,75,TA_Center|TA_BASELINE,RokHlas) STEXT(12.5,88,TA_CENTER|TA_BASELINE,5,35,ObchodniJmeno) STEXT(12.5,96,TA_CENTER|TA_BASELINE,5,23,ObchodniJmeno2) STEXT(132.5,96,TA_CENTER|TA_BASELINE,5,11,DodatekJmena) STEXT(12.5,110,TA_CENTER|TA_BASELINE,5,19,FOPrijmeni) STEXT(112.5,110,TA_CENTER|TA_BASELINE,4.545,11,FOJmeno) STEXT(167.5,110,TA_CENTER|TA_BASELINE,5,4,FOTitul) STEXT(12.5,124,TA_CENTER|TA_BASELINE,5,29,Obec) STEXT(162.5,124,TA_CENTER|TA_BASELINE,5,5,PSCDan) STEXT(12.5,134,TA_CENTER|TA_BASELINE,5,35,UliceDan) STEXT(12.5,144,TA_CENTER|TA_BASELINE,5,15,Stat) ;Text(85,78,TA_CENTER|TA_BASELINE,OBDMESIC); ;Text(122,78,TA_CENTER|TA_BASELINE,OBDKVART); ;Text(153,78,TA_CENTER|TA_BASELINE,OBDROK); end ;{===========================================================================================} Procedure Str2() ;{======= S T R A N A 2 - rámečky =======} NEXTPAGE SumaStr=0 PEN(0,0.4) ROUNDBOXA(4,12,179,133,3.3,3.3) ROUNDBOXA(124,243,179,272,3.3,3.3) LINEA(4,27,178.7,27) LINEA(4,127.5,178.7,127.5) LINEA(4,137,179,137) LINEA(4,240,179,240) PEN(0,0.2) ROUNDBOXA(157,3,179,9,3.3,3.3) LINESA(4,32.5,179,32.5,0,5,19) LINEA(19,12,19,127.5) LINEA(34,12,34,127.5) LINEA(90,12,90,127.5) LINEA(109,12,109,127.5) LINEA(130,12,130,133) ROUNDBOXA(4,170,119,176,3.3,3.3) LINESA(9,174.5,9,175.8,5,0,22) ROUNDBOXA(124,170,179,176,3.3,3.3) LINESA(129,174.5,129,175.8,5,0,10) ROUNDBOXA(4,184,179,190,3.3,3.3) LINESA(9,188.5,9,189.8,5,0,34) ROUNDBOXA(13,221,53,227,3.3,3.3) LINESA(18,225.5,18,226.8,10,0,2) LINESA(38,225.5,38,226.8,5,0,3) LINESA(23,224.5,23,226.8,10,0,2) ROUNDBOXA(66,197,121,227,3.3,3.3) ROUNDBOXA(134,197,179,227,3.3,3.3) ROUNDBOXA(24,230,114,236,3.3,3.3) ROUNDBOXA(134,230,179,236,3.3,3.3) ROUNDBOXA(4,243,114,272,3.3,3.3) FONTSIZE(3.5) FONTFACE(BOLD|Italic) Inc(PocetStran1) if(PocetStran1<=PocetStranCelkem) begin LocStr=Str(PocetStran1)+' / '+Str(PocetStranCelkem) TEXT(168,7,TA_Center|TA_BASELINE,LocStr) end FONTSIZE(5) FONTFACE(BOLD|NORMAL) TEXT(4,143,TA_LEFT|TA_BASELINE,'C. ODDÍL (SECTION C)') FONTSIZE(3.5) TEXT(91.5,150,TA_Center|TA_BASELINE,'PROHLAŠUJI, ŽE VŠECHNY MNOU UVEDENÉ ÚDAJE V TOMTO SOUHRNNÉM HLÁŠENÍ') TEXT(91.5,154,TA_Center|TA_BASELINE,'JSOU PRAVDIVÉ A ÚPLNÉ.') TEXT(91.5,158,TA_Center|TA_BASELINE,'I DECLARE, THAT ALL FILLED INFORMATION IN THIS RECAPITULATIVE STATEMENT ARE TRUETHFUL AND COMPLETE.') FONTSIZE(3.2) TEXT(4,165,TA_Left|TA_BASELINE,'Osoba oprávněná k podpisu za daňový subjekt (Authorised Person):') FONTFACE(Normal) TEXT(154,5.5,TA_RIGHT|TA_BASELINE,'Pořadové číslo strany / Celkový počet stran') TEXT(154,8.5,TA_RIGHT|TA_BASELINE,'Sequential Number / Total number of pages') TEXT(11.5,16.5,TA_Center|TA_BASELINE,'Číslo') TEXT(11.5,19.5,TA_Center|TA_BASELINE,'řádku') TEXT(11.5,22.5,TA_Center|TA_BASELINE,'(Line') TEXT(11.5,25.5,TA_Center|TA_BASELINE,'number)') TEXT(26.5,16.5,TA_Center|TA_BASELINE,'Kód') TEXT(26.5,19.5,TA_Center|TA_BASELINE,'země') TEXT(26.5,22.5,TA_Center|TA_BASELINE,'(Country') TEXT(26.5,25.5,TA_Center|TA_BASELINE,'code)') TEXT(62,19,TA_Center|TA_BASELINE,'DIČ pořizovatele zboží') TEXT(62,22,TA_Center|TA_BASELINE,'(Customer´s VAT number)') TEXT(99.5,16.5,TA_Center|TA_BASELINE,'Kód') TEXT(99.5,19.5,TA_Center|TA_BASELINE,'plnění') TEXT(99.5,22.5,TA_Center|TA_BASELINE,'(Supplies') TEXT(99.5,25.5,TA_Center|TA_BASELINE,'code)') TEXT(120,16.5,TA_Center|TA_BASELINE,'Počet') TEXT(120,19.5,TA_Center|TA_BASELINE,'plnění') TEXT(120,22.5,TA_Center|TA_BASELINE,'(Number') TEXT(120,25.5,TA_Center|TA_BASELINE,'of supplies)') TEXT(154.5,19,TA_Center|TA_BASELINE,'Celková hodnota plnění v Kč') TEXT(154.5,22,TA_Center|TA_BASELINE,'(Total value of supplies in CZK)') i:byte=1 Ysour:real=31 While(i<=20) begin TEXT(11.5,Ysour,TA_Center|TA_BASELINE,i) Inc(i) YSour=YSour+5 end TEXT(6.5,131,TA_Left|TA_BASELINE,'Kontrolní součet řádků 1-20 (Control sum of lines 1-20):') TEXT(4,168.5,TA_Left|TA_BASELINE,'Příjmení (Surname)') TEXT(124,168.5,TA_Left|TA_BASELINE,'Jméno (First Name)') TEXT(4,180,TA_Left|TA_BASELINE,'U právnické osoby: postavení vzhledem k právnické osobě') TEXT(4,183,TA_Left|TA_BASELINE,'In Case of Legal Entity: Statutory Authorization for Dealings (Acts)') FONTSIZE(3) TEXT(4,223.5,TA_Left|TA_BASELINE,'Datum') TEXT(4,226.5,TA_Left|TA_BASELINE,'Date') TEXT(57,220.5,TA_Left|TA_BASELINE,'Otisk') TEXT(57,223.5,TA_Left|TA_BASELINE,'razítka') TEXT(57,226.5,TA_Left|TA_BASELINE,'Stamp') TEXT(122.5,223.5,TA_Left|TA_BASELINE,'Podpis') TEXT(122.5,226.5,TA_Left|TA_BASELINE,'Signature') TEXT(4,232.5,TA_Left|TA_BASELINE,'Hlášení sestavil') TEXT(4,235.5,TA_Left|TA_BASELINE,'Filled by') TEXT(124,232.5,TA_Left|TA_BASELINE,'Telefon') TEXT(124,235.5,TA_Left|TA_BASELINE,'Phone') TEXT(6.5,246,TA_Left|TA_BASELINE,'Záznamy finančního úřadu:') TEXT(6.5,249,TA_Left|TA_BASELINE,'Notes of local tax office:') TEXT(126,274.5,TA_Left|TA_BASELINE,'Podpis oprávněného pracovníka správce daně') TEXT(126,277.5,TA_Left|TA_BASELINE,'Signature of Competent Tax Administrator') end ;{===========================================================================================} Procedure NaplnStr2Ident() ;{======= identifikační hodnoty 2. strany ==============} FONTSIZE(3.5) FONTFACE(BOLD|Italic) STEXT(6.5,174,TA_CENTER|TA_BASELINE,5,23,Prijmeni) STEXT(126.5,174,TA_CENTER|TA_BASELINE,5,11,Jmeno) STEXT(6.5,188,TA_CENTER|TA_BASELINE,5,35,Postaveni) LocStr=DenZData(StrDate(DatumHlaseni),2)+MesicZData(StrDate(DatumHlaseni),2)+RokZData(StrDate(DatumHlaseni),4) STEXT(15.5,225,TA_CENTER|TA_BASELINE,5,8,LocStr) TEXT(29,234,TA_LEFT|TA_BASELINE,Sestavil) TEXT(139,234,TA_LEFT|TA_BASELINE,TelefonDPH) end ;{===========================================================================================} Procedure NaplnStrData(Pr1:Byte,TypStrany:Byte) ;{======= tisk dat ==============} ;podle typu strany zvolit souřadnice a počet řádků ;cyklus pro tisk řádků, počet řádků je Pr1 LocByte:Byte=0 if(TypStrany=1) begin DefTab(5,5,32.5,13,TA_CENTER,68,65,TA_CENTER,105.5,12,TA_CENTER,134,17,TA_Right,177,40,TA_Right) TabPos=172 SourXKontrSoucet=177 SourYKontrSoucet=271 end else begin DefTab(5,5,26.5,13,TA_CENTER,62,65,TA_CENTER,99.5,12,TA_CENTER,123,17,TA_Right,166,40,TA_Right) TabPos=29 SourXKontrSoucet=166 SourYKontrSoucet=128 end While(LocByte0) begin Text(SourXKontrSoucet,SourYKontrSoucet,TA_Right,StrFinanc(SumaStr,0)) end ;FONTSIZE(2.5) ;FONTFACE(NORMAL) ;Text(1,SourY,TA_LEFT,'Pocet radku: '+Str(Pr1)+' Typ strany: '+Str(TypStrany)) Vytisteno=Vytisteno+Pr1 end ;{===========================================================================================} Procedure HlavickaRek() ;{======= hlavička detailní rekapitulace ==============} NextPage() SourY=10 FONTSIZE(4.2) FONTFACE(BOLD) Text(105,SourY,TA_Center,'Detailní rozpis k souhrnnému hlášeni DPH od data '+SDatumOd+' do data '+SDatumDo) Text(10,SourY,TA_LEFT,StrDate(GetDate())) ; tisk hlavičky SourY=SourY+5 FONTSIZE(3.6) FONTFACE(Normal) end END