; Slozenka z faktury1 ; verze z 8.8.2002 ; Autor: WinDUO Team Name('Poštovní dobírková poukázka A') FileName('Sloz1.WNS') Designed('Faktura') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Tiskne údaje z faktury do Poštovní dobírkové poukázky A') DeclareRec('Program') DeclareRec('Faktura') DeclareRec('Pohledavka') DeclareRec('RozpisFaktury') GetBindRec('RozpisFaktury') Hlavicka:Faktura LocL:LongInt LocStr:String GetBindRec('Hlavicka',0) GetBindRec('Pohledavka',0) ;Desetiny:Byte=Round(Frac(Pohledavka.Castka)*100) Desetiny:Byte=Round(Frac(RozpisFaktury.Propla)*100) DesStr:String[2] if(Hlavicka.FMena<>0) begin Halt('Na fakturu v cizí měně nelze tisknout českou složenku') end SKod:String='71' TrKod:String='116' ;KSymb:String='0008' if(Desetiny=0) DesStr='--' else DesStr=Str(Desetiny,,2) ;**************************************************************************** ; Tisk hlavickovych udaju ;**************************************************************************** ;*********************************** první sloupec FontFace(Bold) FontSize(4) Text(36,33,TA_RIGHT|TA_BaseLine,Str(RozpisFaktury.Propla-0.49,,0)) Text(52.5,33,TA_RIGHT|TA_BaseLine,DesStr) Text(52.5,44.5,TA_RIGHT|TA_BaseLine,DesStr) FontFace(Normal) FontSize(2.8) ;Text(1,38,TA_LEFT|TA_BaseLine,'=== '+NumToWord(Pohledavka.Castka,True,False)+' ===') ;XText(0,38,60,TA_LEFT|TA_BaseLine,'=== '+NumToWord(RozpisFaktury.Propla,True,False)+' ===') LocB:Byte=Length(NumToWord(RozpisFaktury.Propla,True,False)) LocStr:String=UpCase(Copy(NumToWord(RozpisFaktury.Propla,True,False),1,1)) LocStr=LocStr+Copy(NumToWord(RozpisFaktury.Propla,True,False),2,LocB-1) XText(0,38,60,TA_LEFT|TA_BaseLine,LocStr) FontSize(3.5) ClearFontIndex() GetFontIndex(54,Program.Firma) GetFontIndex(54,Program.Ulice) GetFontIndex(54,Program.PSC+' '+Program.Mesto) FontIndex() Text(0,50,TA_LEFT|TA_BaseLine,Program.Firma) Text(0,55,TA_LEFT|TA_BaseLine,Program.Ulice) Text(0,60,TA_LEFT|TA_BaseLine,Program.PSC+' '+Program.Mesto) FontSize(4) XText(7,66.4,48,TA_LEFT|TA_BaseLine,Pohledavka.Ucet+'/'+NULL(Pohledavka.Banka,4,True)) XText(7,71,48,TA_LEFT|TA_BaseLine,Pohledavka.Doklad) ;XText(7,75.2,48,TA_LEFT|TA_BaseLine,Day(Pohledavka.DatVyst,2)+Month(Pohledavka.DatVyst,2)+Year(Pohledavka.DatVyst,2)) FontSize(3.5) ClearFontIndex() GetFontIndex(54,Pohledavka.Firma) GetFontIndex(54,Pohledavka.Rozsireni) GetFontIndex(54,Pohledavka.Ulice) GetFontIndex(54,Pohledavka.PSC+' '+Pohledavka.Mesto) FontIndex() if(Length(Pohledavka.Rozsireni)=0) begin Text(0,81,TA_Left|TA_BaseLine,Pohledavka.Firma) Text(0,86,TA_Left|TA_BaseLine,Pohledavka.Ulice) Text(0,89.7,TA_Left|TA_BaseLine,Pohledavka.PSC+' '+Pohledavka.Mesto) end else begin Text(0,81,TA_Left|TA_BaseLine,Pohledavka.Firma) Text(0,86,TA_Left|TA_BaseLine,Pohledavka.Rozsireni) Text(0,89.7,TA_Left|TA_BaseLine,Pohledavka.Ulice) Text(0,93.3,TA_Left|TA_BaseLine,Pohledavka.PSC+' '+Pohledavka.Mesto) end ;*********************************** druhý sloupec FontSize(3.5) ClearFontIndex() GetFontIndex(56,Program.Firma) GetFontIndex(56,Program.Rozsireni) GetFontIndex(56,Program.Ulice) GetFontIndex(56,Program.PSC+' '+Program.Mesto) FontIndex() IF(Length(Program.Rozsireni)<>0) ; je-li nazev nasi firmy dvouradkovy begin Text(57,33,TA_LEFT|TA_BaseLine,Program.Firma) Text(57,39,TA_LEFT|TA_BaseLine,Program.Rozsireni) Text(57,43,TA_LEFT|TA_BaseLine,Program.Ulice) Text(57,47,TA_LEFT|TA_BaseLine,Program.PSC+' '+Program.Mesto) end else ; je-li nazev nasi firmy jednoradkovy begin Text(57,33,TA_LEFT|TA_BaseLine,Program.Firma) Text(57,39,TA_LEFT|TA_BaseLine,Program.Ulice) Text(57,45,TA_LEFT|TA_BaseLine,Program.PSC+' '+Program.Mesto) end ;*********************************** třetí sloupec ClearFontIndex() FontWidthScale(1.5) LocStr=Str(RozpisFaktury.Propla*100,,0) if(Length(LocStr)>10) Halt('Příliš velká částka, nelze vytisknout na složenku') LocStr=FillStrL(LocStr,10,'-') SText(164,6.5+1.5,TA_RIGHT|TA_BaseLine,5,10,LocStr) ;SText(154,6.5,TA_RIGHT|TA_BaseLine,5,8,Str(RozpisFaktury.Propla*100,,0)) ;SText(154,6.5,TA_RIGHT|TA_BaseLine,5,8,Str(RozpisFaktury.Propla-0.49,,0)) ;SText(164,6.5,TA_RIGHT|TA_BaseLine,5,2,DesStr) SText(179,6.5,TA_RIGHT|TA_BaseLine,5,2,SKod) ;SText(199,6.5,TA_RIGHT|TA_BaseLine,5,2,TrKod) SText(194,15,TA_RIGHT|TA_BaseLine,5,16,NULL(Pohledavka.Ucet,16,True)) SText(134,23.2,TA_RIGHT|TA_BaseLine,5,4,NULL(Pohledavka.Banka,4,True)) SText(194,23.2,TA_RIGHT|TA_BaseLine,5,10,NTrim(Pohledavka.Doklad)) SText(134,32,TA_RIGHT|TA_BaseLine,5,4,Pohledavka.KSymb) ;SText(194,32,TA_RIGHT|TA_BaseLine,5,10,Day(Pohledavka.DatVyst,2)+Month(Pohledavka.DatVyst,2)+Year(Pohledavka.DatVyst,2)) FontFace(Normal) FontSize(5) IF(Length(Pohledavka.Firma)>17) XText(117,47,82,TA_Left|TA_BaseLine,Pohledavka.Firma) else SText(117,47,TA_Left|TA_BaseLine,5,Length(Pohledavka.Firma),Pohledavka.Firma) IF(Length(Pohledavka.Rozsireni)>17) XText(117,54,82,TA_Left|TA_BaseLine,Pohledavka.Rozsireni) else SText(117,54,TA_Left|TA_BaseLine,5,Length(Pohledavka.Firma),Pohledavka.Rozsireni) IF(Length(Pohledavka.Ulice)>17) XText(117,61.5,82,TA_Left|TA_BaseLine,Pohledavka.Ulice) else SText(117,61.5,TA_Left|TA_BaseLine,5,Length(Pohledavka.Ulice),Pohledavka.Ulice) IF(Length(Pohledavka.Mesto)>17) XText(117,68,82,TA_Left|TA_BaseLine,Pohledavka.Mesto) else SText(117,68,TA_Left|TA_BaseLine,5,Length(Pohledavka.Mesto),Pohledavka.Mesto) ;IF(TiskSText) ; begin ; SText(117,47,TA_Left|TA_BaseLine,5,Length(Pohledavka.Firma),Pohledavka.Firma) ; SText(117,54,TA_Left|TA_BaseLine,5,Length(Pohledavka.Firma),Pohledavka.Rozsireni) ; SText(117,61.5,TA_Left|TA_BaseLine,5,Length(Pohledavka.Ulice),Pohledavka.Ulice) ; SText(117,68,TA_Left|TA_BaseLine,5,Length(Pohledavka.Mesto),Pohledavka.Mesto) ; end else ; begin ; ClearFontIndex() ; GetFontIndex(82,Pohledavka.Firma) ; GetFontIndex(82,Pohledavka.Rozsireni) ; GetFontIndex(82,Pohledavka.Ulice) ; GetFontIndex(82,Pohledavka.PSC+' '+Pohledavka.Mesto) ; FontIndex() ; Text(117,47,TA_Left|TA_BaseLine,Pohledavka.Firma) ; Text(117,54,TA_Left|TA_BaseLine,Pohledavka.Rozsireni) ; Text(117,61.5,TA_Left|TA_BaseLine,Pohledavka.Ulice) ; Text(117,68,TA_Left|TA_BaseLine,Pohledavka.Mesto) ; end SText(117,75,TA_Left|TA_BaseLine,5,6,Pohledavka.PSC) END