; DDT pokladní doklad včetně skladového pohybu ; verze z 24.5.2017 ; Autor: WinDUO Team Name('Pokladní doklad - prodejka A5') FileName('Pokldn02.WNS') Designed('PokladnaS','PokladnaR') Author('Milan Slíva','EMail: sliva@fi.cz','http://www.fi.cz') Descr('Pokladní doklad - prodejka','včetně skladových pohybů - bez výrobních čísel - do 5 řádků na A5 naležato') PocetStrana:Word PocetPriloha:Word TabFontScale:Double PoziceRozpisu:Word PoziceRozpPril:Word ;**************************************************************************** ; Nastavení proměnných majících vliv na podobu tisku ;**************************************************************************** PocetStrana=5 ;pocet radku rozpisu zbozi na 1 strane PocetPriloha=22 ;pocet radku rozpisu zbozi na 2 a dalsi strane TabFontScale=1.8 ;TabFontScale - nastavení šířky písma v tabulce položek ;=1 písmo dle odhadu WinDUO ;=0 písmo bez změny šířky ;jinak index, tzn.např. =1.5 je 150% šířky odhladlé WinDUO ; =0.75 je 75% šířky odhladlé WinDUO ;cim vetsi cislo, tim tlustsi, obéznější (prsatější) písmenka PoziceRozpisu=46 ;y-souradnice, odkud se tiskne hlavicka PoziceRozpPril=16 ;y-souradnice, odkud se tiskne hlavicka na priloze ;**************************************************************************** DeclareRec('Pokladna') DeclareRec('Sklad') DeclareRec('Pohyb') DeclareRec('Program') DeclareRec('KeySklad10') GetBindRec('Pokladna') IsEET:Boolean=IsPKP(Pokladna.PKP); MustPKP:Boolean=((IsEET)and((not IsFIK(Pokladna.FIK))or(Program.EETRezim=1))); FontSize(4.5) FontFace(Bold) if(Program.RezimDPH<>0) Text(180,0,TA_RIGHT,'Daňový doklad - prodejka za hotové') else Text(180,0,TA_RIGHT,'Prodejka za hotové') PaintMetaFile(0,0,30,20,Program.Logo); FontSize(3.5) Brush(UserBrush) Pen(ps_Null,0.1) ;BoxA(91,38,109,45) Pen(0,0.3) BoxA(145,5,180,10) LineA(115,18,58,18) LineA(58,18,58,11) LineA(58,11,117,11) Brush($FFFFFF) Pen(0,0.7) RoundBoxA(115,11,180,45,4,4) Brush(NullBrush) LineA(2,45,176,45) ArcA(0,41,4,45,0,43,2,45); LineA(0,40,0,43) ArcA(0,42,4,38,2,38,0,40); LineA(2,38,115,38); Pen(0,0.1) LineA(115,38,180,38) ;LineA(0,47,180,47); Text(175,5.5,TA_RIGHT,Pokladna.Doklad); FontFace(Normal) if(isEET) Text(142,5.5,TA_RIGHT,'Číslo účtenky/dokladu') else Text(142,5.5,TA_RIGHT,'Číslo dokladu') FontFace(Bold|Italic) FontSize(3.5) Text(118,13,TA_LEFT,'Odběratel:') Text(0,20,TA_LEFT,'Dodavatel:') FontFace(Bold); ;;;;;;;;;;;;;;;;;; ClearFontIndex() GetFontIndex(64,Program.Firma) GetFontIndex(64,Program.Rozsireni) GetFontIndex(64,Program.Ulice) GetFontIndex(64,Program.Mesto) FontIndex() Text(17,20,TA_LEFT,Program.Firma) Text(17,23.3,TA_LEFT,Program.Rozsireni) Text(17,26.6,TA_LEFT,Program.Ulice) Text(17,30,TA_LEFT,Program.PSC+' '+Program.Mesto) FontWidthScale(0) ClearFontIndex() GetFontIndex(56,Pokladna.Firma) GetFontIndex(56,Pokladna.Rozsireni) GetFontIndex(56,Pokladna.Ulice) GetFontIndex(56,Pokladna.Mesto) FontIndex() Text(120,18,TA_LEFT,Pokladna.Firma) Text(120,21.3,TA_LEFT,Pokladna.Rozsireni) Text(120,24.6,TA_LEFT,Pokladna.Ulice) Text(120,28,TA_LEFT,Pokladna.Mesto) Text(120,31.4,TA_LEFT,Pokladna.PSC) if(MustPKP) begin FontWidthScale(0) ClearFontIndex(); FontRotate(90) Text(55,27,TA_CENTER,'PKP') FontRotate(0) FontSize(3); FontFace(Normal) GetFontIndex(56,GetPKPSegmentStr(Pokladna.PKP,58,0))) GetFontIndex(56,GetPKPSegmentStr(Pokladna.PKP,58,1))) GetFontIndex(56,GetPKPSegmentStr(Pokladna.PKP,58,2))) GetFontIndex(56,GetPKPSegmentStr(Pokladna.PKP,58,3))) GetFontIndex(56,GetPKPSegmentStr(Pokladna.PKP,58,4))) GetFontIndex(56,GetPKPSegmentStr(Pokladna.PKP,58,5))) FontIndex() Text(86,18.5,TA_CENTER,GetPKPSegmentStr(Pokladna.PKP,58,0))) Text(86,21.5,TA_CENTER,GetPKPSegmentStr(Pokladna.PKP,58,1))) Text(86,24.5,TA_CENTER,GetPKPSegmentStr(Pokladna.PKP,58,2))) Text(86,27.5,TA_CENTER,GetPKPSegmentStr(Pokladna.PKP,58,3))) Text(86,30.5,TA_CENTER,GetPKPSegmentStr(Pokladna.PKP,58,4))) Text(86,33.5,TA_CENTER,GetPKPSegmentStr(Pokladna.PKP,58,5))) FontWidthScale(0) FontSize(3.5) end; FontSize(2.2) FontFace(Normal); FontWidthScale(0) ClearFontIndex() GetFontIndex(54,Trim(Program.FaktSpecText[1])) GetFontIndex(54,Trim(Program.FaktSpecText[2)) FontIndex() Text(113,6,TA_RIGHT,Trim(Program.FaktSpecText[1])) Text(113,8,TA_RIGHT,Trim(Program.FaktSpecText[2])) FontSize(3) FontFace(Bold); Text(17,34,TA_LEFT,'IČ: '+NULL(Program.ICO,8,True)+' DIČ: '+Program.DIC) FontFace(Normal); FontSize(5) uhrada:String='Uhrazeno v hotovosti' if(Pokladna.Typ>0) uhrada='Platba kartou' if(Pokladna.Typ=255) uhrada='Uhrazeno' Text(88,12,TA_Center,uhrada) FontSize(3.5) Text(5,39.5,TA_Left,'Datum vystavení: '+StrDate(Pokladna.Datum)) if(Program.RezimDPH<>0) begin Text(90,39.5,TA_Right,'Datum zdanitelného plnění:') ;FontFace(Bold) Text(93,39.5,TA_Left,StrDate(Pokladna.Datum_ZP)) end; FontSize(3) if((not Program.HideICO) or (Pokladna.ICO>=Program.HideICOLess)) Text(125,39.5,TA_LEFT,'IČO: '+NULL(Pokladna.ICO,8,True)+' DIČ: '+Pokladna.DIC) ; ******************** ; Deklarace proměnných ; ******************** LocStr:String Hlava1:String Hlava2:String LocW:Word LocW2:Word LocW3:Word LocW4:Word LocL:LongInt SazbaDPHNizsi:Byte=SazbaDPH(dph_snizena,Pokladna.Datum_ZP) SazbaDPHVyssi:Byte=SazbaDPH(dph_zakladni,Pokladna.Datum_ZP) SazbaDPHSnizena:Byte=SazbaDPH(dph_snizena2,Pokladna.Datum_ZP) VyssiDPHZaklad:Double NizsiDPHZaklad:Double SnizenaDPHZaklad:Double VyssiDPHDan:Double NizsiDPHDan:Double SnizenaDPHDan:Double CastkaSDPH:Double BezDPH:Double Celkem:Double CelkemBezDPH:Double ZaokrRozdil:Double CelkemNezaokr:Double LocD:Double DynStr:String NaStrane:Double PocetStran:Word ; pocet priloh AktStrana:Word LocBo:Boolean Mezisoucet:Double CelkemPriloha:Double ; *********************** ; Inicializace proměnných ; *********************** LocStr='' Hlava1='' Hlava2='' LocW=0 ;SazbaDPHNizsi=0 ;SazbaDPHVyssi=0 ;SazbaDPHSnizena=0 VyssiDPHZaklad=0 NizsiDPHZaklad=0 SnizenaDPHZaklad=0 VyssiDPHDan=0 NizsiDPHDan=0 SnizenaDPHDan=0 CastkaSDPH=0 BezDPH=0 Celkem=0 CelkemBezDPH=0 DynStr='' NaStrane=0 PocetStran=0 AktStrana=0 MeziSoucet=0 LocPos:Real LocB:Byte LocOfs:Real LocSize:Real ; ******************************** ; Vlastní zobrazení obsahu dokladu ; ******************************** FontSize(3.5) FontFace(Normal) if(Program.FTiskFlags&1<>0) ;sklad begin DynStr=DynStr+'4,TA_RIGHT,' Hlava1=Hlava1+Char(9) Hlava2=Hlava2+'skl.'+#9 LocW=LocW+1; end if(Program.FTiskFlags&2<>0) ;druh begin DynStr=DynStr+'4,TA_RIGHT,' Hlava1=Hlava1+Char(9) Hlava2=Hlava2+'dr.'+#9 LocW=LocW+1; end if(Program.FTiskFlags&4<>0) ;kod begin DynStr=DynStr+'14,TA_LEFT,' Hlava1=Hlava1+Char(9) Hlava2=Hlava2+'Kód'+#9 LocW=LocW+1; end if(Program.TiskCis) ; skladove cislo begin DynStr=DynStr+'14,TA_LEFT,' Hlava1=Hlava1+Char(9) Hlava2=Hlava2+'Skl.číslo'+#9 LocW=LocW+1; end DynStr=DynStr+'30,TA_LEFT,12,TA_RIGHT,10,TA_RIGHT,7,TA_LEFT,' LocW=LocW+4; if(Program.RezimDPH<>0) begin DynStr=DynStr+'12,TA_RIGHT,4,TA_RIGHT,' Hlava1=Hlava1+#9+'Cena za MJ'+#9+#9+#9+'Celkem'+#9+#9+'Celkem' Hlava2=Hlava2+'Popis položky'+#9+'bez DPH'+#9+'Množství'+#9+'MJ'+#9+'bez DPH'+#9+'DPH'+#9+'s DPH' LocW=LocW+2 end else begin Hlava2=Hlava2+'Popis položky'+#9+'Cena za MJ'+#9+'Množství'+#9+'MJ'+#9+'Celkem'+#9 end DynStr='DefDynTab(7,166,4,'+Str(LocW+1)+','+DynStr+'12,TA_RIGHT)' ;vytisteni rozpisu zbozi na 1. strance StrCom(DynStr) if(TabFontScale<>1) FontWidthScale(TabFontScale) TabPos(PoziceRozpisu) DynTab(Hlava1) DynTab(Hlava2) LineA(7,PoziceRozpisu+8,173,PoziceRozpisu+8) TabPos(PoziceRozpisu+9) LocW=GetCountBindRec(Pohyb) LocW2=0 ; Vypocet celkove castky a castek DPH if(IsEET) begin VyssiDPHZaklad=Pokladna.Amounts[eet_zakl_dan1]; VyssiDPHDan=Pokladna.Amounts[eet_dan1]; NizsiDPHZaklad=Pokladna.Amounts[eet_zakl_dan2]; NizsiDPHDan=Pokladna.Amounts[eet_dan2]; SnizenaDPHZaklad=Pokladna.Amounts[eet_zakl_dan3]; SnizenaDPHDan=Pokladna.Amounts[eet_dan3]; BezDPH=Pokladna.Amounts[eet_zakl_nepodl_dph]; if(Program.RezimDPH<>0) CelkemNezaokr=VyssiDPHZaklad+NizsiDPHZaklad+SnizenaDPHZaklad+BezDPH+VyssiDPHDan+NizsiDPHDan+SnizenaDPHDan else CelkemNezaokr=Pokladna.Amounts[eet_celk_trzba]-Pokladna.Amounts[eet_ostatni]; end else begin While(LocW20) begin CastkaSDPH=RoundFloat(Pohyb.Castka*(1+Pohyb.DPH/100),-2) CelkemNezaokr=CelkemNezaokr+CastkaSDPH if(Pohyb.DPH=0) begin BezDPH=BezDPH+Pohyb.Castka end else if(Pohyb.DPH=SazbaDPHVyssi) begin VyssiDPHZaklad=VyssiDPHZaklad+Pohyb.Castka VyssiDPHDan=VyssiDPHDan+(CastkaSDPH-Pohyb.Castka) end else if(Pohyb.DPH=SazbaDPHNizsi) begin NizsiDPHZaklad=NizsiDPHZaklad+Pohyb.Castka NizsiDPHDan=NizsiDPHDan+(CastkaSDPH-Pohyb.Castka) end else if(Pohyb.DPH=SazbaDPHSnizena) begin SnizenaDPHZaklad=SnizenaDPHZaklad+Pohyb.Castka SnizenaDPHDan=SnizenaDPHDan+(CastkaSDPH-Pohyb.Castka) end else begin if(Pohyb.DPH<15) begin if(SazbaDPHNizsi<>0) begin Chyba: Error('Chyba !!! Více sazeb DPH v jedné daňové kategorii',mb_IconStop) end SazbaDPHNizsi=Pohyb.DPH NizsiDPHZaklad=Pohyb.Castka NizsiDPHDan=CastkaSDPH-Pohyb.Castka end else begin if(SazbaDPHVyssi<>0) begin GoTo(Chyba) end SazbaDPHVyssi=Pohyb.DPH VyssiDPHZaklad=Pohyb.Castka VyssiDPHDan=CastkaSDPH-Pohyb.Castka end end end else begin Celkem=Celkem+Pohyb.Castka CelkemNezaokr=Celkem end LocW2=LocW2+1 end; end; if(Program.RezimDPH<>0) begin if(Pokladna.ZaokrDPH) begin NizsiDPHDan=RoundFloat(Int((NizsiDPHDan+0.09)*10)/10,-2) VyssiDPHDan=RoundFloat(Int((VyssiDPHDan+0.09)*10)/10,-2) SnizenaDPHDan=RoundFloat(Int((SnizenaDPHDan+0.09)*10)/10,-2) end; CelkemBezDPH=VyssiDPHZaklad+NizsiDPHZaklad+SnizenaDPHZaklad+BezDPH Celkem=CelkemBezDPH+VyssiDPHDan+NizsiDPHDan+SnizenaDPHDan end; LocW2=0 While((LocW20) ;sklad begin LocStr=LocStr+Sklad.Sklad+#9 end if(Program.FTiskFlags&2<>0) ;druh begin LocStr=LocStr+Sklad.Druh+#9 end if(Program.FTiskFlags&4<>0) ;kod begin LocStr=LocStr+Sklad.Kod+#9 end if(Program.TiskCis) ; skladove cislo begin LocStr=LocStr+Pohyb.Material+#9 end LocStr=LocStr+Sklad.Nazev+#9+StrPrice(Pohyb.JednCena)+#9+Pohyb.Mnozstvi+#9+Sklad.MJ+#9 ;LocStr=LocStr+Sklad.Nazev+#9+Str(Pohyb.JednCena,0,2)+#9+Pohyb.Mnozstvi+#9+Sklad.MJ+#9 if(Program.RezimDPH<>0) begin LocStr=LocStr+Str(Pohyb.Castka,0,2)+#9+Pohyb.DPH+#9+Str(Pohyb.Castka*(1+Pohyb.DPH/100),0,2) end else begin LocStr=LocStr+Str(Pohyb.Castka,0,2); end DynTab(LocStr) if(Program.RezimDPH<>0) begin NaStrane=NaStrane+RoundFloat(Pohyb.Castka*(1+Pohyb.DPH/100),-2) end else begin NaStrane=NaStrane+Pohyb.Castka end LocW2=LocW2+1 end; if(LocW20) ;sklad begin LocStr=LocStr+#9 end if(Program.FTiskFlags&2<>0) ;druh begin LocStr=LocStr+#9 end if(Program.FTiskFlags&4<>0) ;kod begin LocStr=LocStr+#9 end if(Program.TiskCis) ; skladove cislo begin LocStr=LocStr+#9 end CelkemPriloha=Celkem-NaStrane PocetStran=DOUBLE(((LocW-PocetStrana)/PocetPriloha)+0.49) LocStr=LocStr+'Nedílnou součástí tohoto dokladu je příloha (počet stran: '+PocetStran+') - celkem za přílohu:'+#9+#9+#9+#9+#9+#9+Str(CelkemPriloha,0,2) DynTab(LocStr) end LineA(7,TabPos,173,TabPos) LocW3=TabPos if(IsEET) begin LocPos=TabPos+1 FontFace(Bold); RezimStr:String='běžný'; if(Program.EETRezim=1) begin RezimStr='zjednodušený'; end; FontFace(Bold); Text(0,LocPos,TA_Left,'Režim tržby: ') FontFace(Normal) XText(0,0,160,TA_Left|TA_Relative,RezimStr) Inc(LocPos,4); if(IsFIK(Pokladna.FIK)) begin FontFace(Bold); Text(0,LocPos,TA_Left,'FIK: ') FontFace(Normal) XText(0,0,160,TA_Left|TA_Relative,GetFIK(Pokladna.FIK)) Inc(LocPos,4); end; FontFace(Bold); Text(0,LocPos,TA_Left,'BKP: ') FontFace(Normal) XText(0,0,160,TA_Left|TA_Relative,GetBKP(Pokladna.BKP)) Inc(LocPos,4); FontFace(Bold); Text(0,LocPos,TA_Left,'Datum a čas transakce: ') FontFace(Normal) XText(0,0,160,TA_Left|TA_Relative,StrUTCDate(Pokladna.ReceiptTime,true)+' '+StrUTCTime(Pokladna.ReceiptTime,true,true)) Inc(LocPos,4); FontFace(Bold); Text(0,LocPos,TA_Left,'Provozovna: ') FontFace(Normal) XText(0,0,160,TA_Left|TA_Relative,Str(Pokladna.idProvoz)) Inc(LocPos,4); FontFace(Bold); Text(0,LocPos,TA_Left,'Pokladna: ') FontFace(Normal) XText(0,0,160,TA_Left|TA_Relative,Pokladna.idPokl) Inc(LocPos,4); end; FontWidthScale(0) Celkem=Pokladna.Castka ZaokrRozdil=RoundFloat(RoundFloat(Celkem,-2)-RoundFloat(CelkemNezaokr,-2),-2) if(Program.RezimDPH<>0) begin CelkemBezDPH=NizsiDPHZaklad+VyssiDPHZaklad+SnizenaDPHZaklad+BezDPH TabPos=TabPos+1 Text(173,TabPos,TA_Right,Str(CelkemBezDPH,0,2)) TabPos=TabPos+4 Text(173,TabPos,TA_Right,Str(CelkemNezaokr-CelkemBezDPH,0,2)) TabPos=TabPos+4 Text(173,TabPos,TA_Right,Str(CelkemNezaokr,0,2)) TabPos=TabPos+4 end else begin TabPos=TabPos+13 end if(ZaokrRozdil<>0) begin Text(173,TabPos,TA_Right,Str(ZaokrRozdil,0,2)) TabPos=TabPos+4 end; FontFace(Normal) if(Program.RezimDPH<>0) begin LocW3=LocW3+1 Text(150,LocW3,TA_Right,'Celkem bez DPH') LocW3=LocW3+4 Text(150,LocW3,TA_Right,'DPH') LocW3=LocW3+4 Text(150,LocW3,TA_Right,'Celkem s DPH') LocW3=LocW3+4 end else begin LocW3=LocW3+13 end if(ZaokrRozdil<>0) begin Text(150,LocW3,TA_Right,'Zaokrouhlení') LocW3=LocW3+4 end; if(Pokladna.Sleva<>0) begin FontSize(4) Text(7,TabPos-3,TA_Left,'Na dodávku byla poskytnuta sleva ve výši '+Str(Pokladna.Sleva)+'%') end; TabPos=TabPos+2 Pen(0,0.7) Brush(UserBrush) BoxA(123,TabPos,173,TabPos+10) Brush(NullBrush) FontSize(6) FontFace(Bold) if(Pokladna.CastkaM<>0) Text(118,TabPos+1.5,TA_RIGHT,'Celkem uhrazeno:'); else Text(118,TabPos,TA_RIGHT,'Celkem uhrazeno:'); FontFace(Bold) FontSize(7) if(Pokladna.CastkaM<>0) begin Text(170,TabPos+1.5,TA_RIGHT,Str(Pokladna.CastkaM,0,2)+' '+NumToCCC(Pokladna.Mena)) FontFace(Normal) FontSize(3.5) Text(5,TabPos-2,TA_LEFT,'Převod na '+Program.Mena+': '+Str(Pokladna.Castka,0,2)) Text(5,TabPos+1.5,TA_LEFT,'Kurz: '+Str(Pokladna.Castka/Pokladna.CastkaM,0,2)) end else Text(169,TabPos+1.5,TA_RIGHT,StrFinanc(Pokladna.Castka,2)+' '+Program.Mena) FontSize(3) FontFace(Normal) LocStr='' ;LocD=Round(Frac(Celkem)*100) LocD=Round(Frac(Pokladna.Castka)*100) if(LocD<>0) begin LocStr=NumToWord(LocD,False,True) if(LocD=1) LocStr=LocStr+' haléř' else if(LocD<5) LocStr=LocStr+' haléře' else LocStr=LocStr+' haléřů' end; ;LocStr=NumToWord(Celkem,True,False)+' '+Program.Mena+' '+LocStr LocStr=NumToWord(Pokladna.Castka,True,False)+' '+Program.Mena+' '+LocStr if(Pokladna.CastkaM<>0) begin FontSize(3.5) Text(5,TabPos+7,TA_LEFT,'Slovy: '+LocStr) end else begin FontSize(3) Text(118,TabPos+7,TA_RIGHT,'Slovy: '+LocStr) end ;Text(118,TabPos+7,TA_RIGHT,'Slovy: '+LocStr) TabPos=TabPos+12 FontSize(3) Pen(0,0.1) LineA(85,TabPos+13,125,TabPos+13) LineA(140,TabPos+13,180,TabPos+13) Text(105,TabPos+14,TA_Center,'Razítko a podpis odběratele') Text(160,TabPos+14,TA_Center,'Razítko a podpis dodavatele') if(Program.RezimDPH<>0) begin LocB=0; if(BezDPH<>0) Inc(LocB) if(SnizenaDPHZaklad<>0) Inc(LocB) if(NizsiDPHZaklad<>0) Inc(LocB) if(VyssiDPHZaklad<>0) Inc(LocB) if(LocB<>0) begin if(LocB=4) LocOfs=-5; LocSize=(LocB+1)*5 Pen(0,0.5) BoxA(0,TabPos+LocOfs,75,TabPos+LocOfs+LocSize) Brush(UserBrush) BoxA(0,TabPos+LocOfs,25,TabPos+LocOfs+LocSize) BoxA(0,TabPos+LocOfs,75,TabPos+LocOfs+5) Brush(NullBrush) Pen(0,0.2) LinesA(0,TabPos+5+LocOfs,75,TabPos+LocOfs+5,0,5,LocB) LinesA(25,TabPos+LocOfs,25,TabPos+LocOfs+LocSize,25,0,2) Text(12.5,TabPos+LocOfs+1,TA_CENTER,'Sazba DPH') Text(37.5,TabPos+LocOfs+1,TA_CENTER,'Základ v '+Program.Mena) Text(62.5,TabPos+LocOfs+1,TA_CENTER,'DPH v '+Program.Mena) LocPos=6+LocOfs if(BezDPH<>0) begin Text(12.5,TabPos+LocPos,TA_CENTER,'0 %') Text(48,TabPos+LocPos,TA_Right,Str(BezDPH,0,2)) Text(62.5,TabPos+LocPos,TA_Center,'×') Inc(LocPos,5); end if(SnizenaDPHZaklad<>0) begin Text(12.5,TabPos+LocPos,TA_CENTER,SazbaDPHSnizena+' %') Text(48,TabPos+LocPos,TA_Right,Str(SnizenaDPHZaklad,0,2)) Text(73,TabPos+LocPos,TA_Right,Str(SnizenaDPHDan,0,2)) Inc(LocPos,5); end if(NizsiDPHZaklad<>0) begin Text(12.5,TabPos+LocPos,TA_CENTER,SazbaDPHNizsi+' %') Text(48,TabPos+LocPos,TA_Right,Str(NizsiDPHZaklad,0,2)) Text(73,TabPos+LocPos,TA_Right,Str(NizsiDPHDan,0,2)) Inc(LocPos,5); end if(VyssiDPHZaklad<>0) begin Text(12.5,TabPos+LocPos,TA_CENTER,SazbaDPHVyssi+' %') Text(48,TabPos+LocPos,TA_Right,Str(VyssiDPHZaklad,0,2)) Text(73,TabPos+LocPos,TA_Right,Str(VyssiDPHDan,0,2)) Inc(LocPos,5); end end end LocBo=LocW21) FontWidthScale(TabFontScale) TabPos(PoziceRozpPril) DynTab(Hlava1) DynTab(Hlava2) LineA(7,PoziceRozpPril+8,173,PoziceRozpPril+8) TabPos(PoziceRozpPril+9) LocW4=0 NaStrane=0 While((LocW20) ;sklad begin LocStr=LocStr+Sklad.Sklad+#9 end if(Program.FTiskFlags&2<>0) ;druh begin LocStr=LocStr+Sklad.Druh+#9 end if(Program.FTiskFlags&4<>0) ;kod begin LocStr=LocStr+Sklad.Kod+#9 end if(Program.TiskCis) ; skladove cislo begin LocStr=LocStr+Pohyb.Material+#9 end LocStr=LocStr+Sklad.Nazev+#9+Str(Pohyb.JednCena,0,2)+#9+Pohyb.Mnozstvi+#9+Sklad.MJ+#9 if(Program.RezimDPH<>0) begin LocStr=LocStr+Str(Pohyb.Castka,0,2)+#9+Pohyb.DPH+#9+Str(Pohyb.Castka*(1+Pohyb.DPH/100),0,2) end else begin LocStr=LocStr+Str(Pohyb.Castka,0,2); end DynTab(LocStr) if(Program.RezimDPH<>0) begin NaStrane=NaStrane+RoundFloat(Pohyb.Castka*(1+Pohyb.DPH/100),-2) end else begin NaStrane=NaStrane+Pohyb.Castka end LocW2=LocW2+1 end ;TabPos=TabPos+2 LineA(7,TabPos,173,TabPos) LocW3=TabPos TabPos=TabPos+1 Text(173,TabPos,TA_Right,Str(NaStrane,0,2)) TabPos=TabPos+4 MeziSoucet=MeziSoucet+NaStrane if(LocBo) begin if(Abs(CelkemPriloha-MeziSoucet)<0.1) MeziSoucet=CelkemPriloha end Text(173,TabPos,TA_Right,Str(MeziSoucet,0,2)) FontFace(Normal) if(Program.RezimDPH<>0) begin LocW3=LocW3+1 Text(150,LocW3,TA_Right,'Celkem s DPH na straně') LocW3=LocW3+4 Text(150,LocW3,TA_Right,'Celkem s DPH mezisoučet za přílohu') end else begin LocW3=LocW3+1 Text(150,LocW3,TA_Right,'Celkem na straně') LocW3=LocW3+4 Text(150,LocW3,TA_Right,'Celkem mezisoučet za přílohu') end TabPos=TabPos-14 end if(LocBo) begin AktStrana=AktStrana+1 FontSize(4.5) FontFace(Bold) Text(180,TabPos+20,TA_Right,'Strana '+AktStrana+' z(e) '+Str(PocetStran+1)) end END