; DDT tisk dodacího listu z faktury (na cisty papir) ; verze z 25.11.2004 ; Autor: WinDUO Team Name('Dodací list k faktuře včetně cen - A4') IF(not ExistVariable('TiskCen')) FileName('DodList.WNS') Designed('Faktura') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Dodací list z faktury na čistý papír,','vzor pro vlastní úpravu,','není vhodné pro zálohové a zahraniční faktury') Designed('Faktura') DeclareRec('Program') DeclareRec('Faktura') DeclareRec('Pohledavka'); GetBindRec('Pohledavka'); DeclareRec('RozpisFaktury') InitStatus(GetCountBindRec('Faktura'),'Vytvářím doklad','k pohledávce č.'+Pohledavka.Doklad); ;**************************************************************************** ; Deklarace globálních proměnných pro podprogram tisku řádků faktury ;**************************************************************************** Global Max :Array[1..12] of Byte Global Sloupce :Word Global OdRadku :Word Global PocetRadku :Word Global Strana :Word Global VseVytisteno :Boolean Global FaktYPozice :Real ;y-souřadnice začátku textu ve fakture ;nutno zadat hodnoty: Global SirkaFontuText:Real=0.7 ;1.5 Global VyskaFontuText:Real=4 ;velikost pisma textu faktury ;SirkaFontuText=1.8 ;VyskaFontuText=4 Global FaktXPozice :Real=7 ;x-vzdalenost leveho okraje Global FaktSirka :Real=166 ;x-vzdalenost praveho okraje Global FaktOdstup :Real=4.5 ;y-vzdalenost mezi radky textu Global JeFaktura :Boolean=False ;podle nastaveni tiskne ser.cisla nebo ne StatusWindowInCall(False) ;**************************************************************************** ;Deklarace lokálních promennych ;**************************************************************************** ;nutno zadat hodnoty: FaktYPozice1:Real=76 ;y-souřadnice začátku textu v prvni strane FaktYPozice2:Real=23 ;y-souřadnice začátku textu v priloze YTabDPH:Real=250 ;y-souřadnice pozice pro tabulku rozpisu DPH MaxLines:Word=30 ;Maximalni pocet radku ve fakture MaxLinesPril:Word=48 ;Maximalni pocet radku v priloze ;MaxLines:Word=Program.MaxRadF ; pokud přebírá tato nastavení z nastavení faktury ;MaxLinesPril:Word=Program.MaxRadP ; pokud přebírá tato nastavení z nastavení faktury LocS:String if(Program.Sklady) begin DeclareRec('Sklad') DeclareRec('KeySklad10') end if(Program.TiskIDB) begin DeclareRec('BankovniUcet') DeclareRec('KeyBankovniUcet1') end Hlavicka:Faktura LocL:LongInt LocStr:String LocStr2:String TiskDPH:Boolean GetBindRec('Hlavicka',0) GetBindRec('Pohledavka',0) GetBindRec('RozpisFaktury') TiskDPH=(Program.RezimDPH<>0) and (Hlavicka.Typ=0) XDolniText:Integer=10 ;x-souradnice dolniho textu YDolniText:Integer=230 ;y-souradnice dolniho textu PosunDolniText:Real=3 ;radkovani dolniho textu v mm VelDolniText:Real=2.8 ;velikost pisma dolniho textu ; dodelat,at to nacita z INI pres DDS T1:String='' ;dolni text - 1.rádek T2:String='' ;dolni text - 2.rádek T3:String='' ;dolni text - 3.rádek T4:String='' ;dolni text - 4.rádek ;**************************************************************************** ; Tisk rámečků a textů ;**************************************************************************** FontFace(Bold) FontSize(7) Text(188,2,TA_RIGHT,'Dodací list') PEN(0,0.7) ROUNDBoxA(90,24,183,63,5,5) Brush(UserBrush) BoxA(110,10,188,17) Brush(NullBrush) PEN(0,0.4) BoxA(5,10,188,75) BoxA(5,245,188,275) PEN(0,0.2) LineA(10,24,85,24) LineA(134,17,134,24) LineA(95,35,178,35) LineA(10,60.5,85,60.5) LineA(90,65,90,75) FontFace(Bold) FontSize(4) Text(41,14,TA_RIGHT,'Dodavatel - IČ:') Text(41,18,TA_RIGHT,'DIČ:') Text(15,29,TA_LEFT,'Adresa:') ;Text(15,56,TA_LEFT,'Číslo účtu:') Text(15,65,TA_LEFT,'Objednávka:') Text(113,11,TA_LEFT,'k faktuře číslo:') if(Length(Pohledavka.PrijemceNazev)>0) begin Text(121,26,TA_RIGHT,'Příjemce:') end else begin Text(121,26,TA_RIGHT,'Odběratel - IČ:') Text(121,30,TA_RIGHT,'DIČ:') end FontFace(Bold) ;Text(100,68,TA_LEFT,'Datum splatnosti:') FontSize(4) Text(100,65,TA_LEFT,'Datum vystavení faktury:') FontFace(Normal) FontSize(VelDolniText) Text(XDolniText,YDolniText,TA_Left,T1) YDolniText=YDolniText+PosunDolniText Text(XDolniText,YDolniText,TA_Left,T2) YDolniText=YDolniText+PosunDolniText Text(XDolniText,YDolniText,TA_Left,T3) YDolniText=YDolniText+PosunDolniText Text(XDolniText,YDolniText,TA_Left,T4) YDolniText=YDolniText+PosunDolniText FontFace(Bold) FontSize(4) Text(20,250,TA_Left,'Vystavil:') Text(130,250,TA_Left,'Převzal:') ;Text(130,250,TA_Left,'Razítko a podpis:') FontFace(Normal) FontSize(2.5) Text(179.5,275,TA_Right,'Doklad vystaven systémem') FontFace(Normal|Italic) Text(183.4,275,TA_Right,'Win') FontFace(Normal) Text(188,275,TA_Right,'DUO') ;**************************************************************************** ; Tisk hlavickovych udaju ;**************************************************************************** FontFace(Bold|Italic) FontSize(4) Text(43,14,TA_LEFT,NULL(Program.ICO,8,True)) Text(43,18,TA_LEFT,Program.DIC) FontSize(5) ClearFontIndex() GetFontIndex(62,Program.Firma) GetFontIndex(62,Program.Rozsireni) GetFontIndex(62,Program.Ulice) GetFontIndex(62,Program.Mesto) FontIndex() Text(22,33,TA_LEFT,Program.Firma) Text(22,37,TA_LEFT,Program.Rozsireni) Text(22,41,TA_LEFT,Program.Ulice) Text(8,45,TA_LEFT,Program.PSC) Text(22,45,TA_LEFT,Program.Mesto) FontSize(2.5) Text(8,52,TA_LEFT,Program.FaktSpecText[1]) Text(8,54.5,TA_LEFT,Program.FaktSpecText[2]) FontSize(5) Text(180,11,TA_RIGHT,Pohledavka.Doklad); FontSize(4) if(Length(Pohledavka.PrijemceNazev)>0) begin FontSize(5) ClearFontIndex() GetFontIndex(72,Pohledavka.PrijemceNazev) GetFontIndex(72,Pohledavka.PrijemceRozsireni) GetFontIndex(72,Pohledavka.PrijemceUlice) GetFontIndex(72,Pohledavka.PrijemceMesto) GetFontIndex(72,Pohledavka.PrijemcePSC) FontIndex() Text(105,36,TA_LEFT,Pohledavka.PrijemceNazev) Text(105,41,TA_LEFT,Pohledavka.PrijemceRozsireni) Text(105,46,TA_LEFT,Pohledavka.PrijemceUlice) Text(105,51,TA_LEFT,Pohledavka.PrijemceMesto) Text(105,56,TA_LEFT,Pohledavka.PrijemcePSC) end else begin if((not Program.HideICO) or (Pohledavka.ICO>=Program.HideICOLess)) Text(123,26,TA_LEFT,NULL(Pohledavka.ICO,8,True)) Text(123,30,TA_LEFT,Pohledavka.DIC) FontSize(5) ClearFontIndex() GetFontIndex(72,Pohledavka.Firma) GetFontIndex(72,Pohledavka.Rozsireni) GetFontIndex(72,Pohledavka.Ulice) GetFontIndex(72,Pohledavka.Mesto) GetFontIndex(72,Pohledavka.PSC) FontIndex() Text(105,36,TA_LEFT,Pohledavka.Firma) Text(105,41,TA_LEFT,Pohledavka.Rozsireni) Text(105,46,TA_LEFT,Pohledavka.Ulice) Text(105,51,TA_LEFT,Pohledavka.Mesto) Text(105,56,TA_LEFT,Pohledavka.PSC) end Text(38,64.5,TA_LEFT,Pohledavka.OBJEDNAVKA) FontFace(Bold|Italic) FontSize(4.5) ;Text(180,67,TA_RIGHT,StrDate(Pohledavka.DatSpl)) ;datum splatnosti FontSize(3.5) Text(180,65,TA_RIGHT,StrDate(Pohledavka.DatVyst)) ;datum vystaveni FontFace(Italic) LocS=Pohledavka.Vystavil ;IF(Length(LocS)<>0) ; LocS=LocS+', ' IF(Length(Program.Telefon)<>0) LocS=LocS+', telefon: '+Program.Telefon ;IF(Length(LocS)<>0) ; LocS=LocS+', ' IF(Length(Program.email)<>0) LocS=LocS+', email: '+Program.email Text(20,255,TA_Left,LocS) ;Text(20,255,TA_Left,Pohledavka.Vystavil) FontFace(Bold) FontFace(Normal) FontSize(3) TabPos=200 FontFace(Normal) FontSize(3.5) if(Hlavicka.FSleva<>0) begin Text(7,220,TA_Left,'Na doklad byla poskytnuta sleva ve výši '+Str(Hlavicka.FSleva)+'%') end; ;**************************************************************************** ; Vytisteni dokladu ;**************************************************************************** OdRadku=1 Strana=0 PocetRadku=MaxLines FaktYPozice=FaktYPozice1 CallDDT('FaktProc.DDT'); ;**************************************************************************** ; Vytisteni prilohy ;**************************************************************************** While(not VseVytisteno) begin SetStatus(OdRadku); FontFace(Normal) FontSize(3.5) Text(180,19,TA_RIGHT,'Strana '+Str(Strana+1,2,0)); NextPage FontFace(Normal) FontFace(Bold) FontSize(4) Text(113,11,TA_LEFT,'Dodací list k faktuře číslo:') FontSize(5) FontFace(Bold|Italic) Text(180,11,TA_RIGHT,Pohledavka.Doklad); PocetRadku=MaxLinesPril Inc(Strana) FaktYPozice=FaktYPozice2 CallDDT('FaktProc.DDT'); end; If(Strana>=1) begin FontFace(Normal) FontSize(3.5) Text(180,19,TA_RIGHT,'Strana '+Str(Strana+1,2,0)); end SetStatusMax; END