; Vytisteni samolepek na baliky, PPL ; verze z 5.9.2005 ; Autor: WinDUO Team (Milan Slíva) Name('Výpis balíků') Designed('POHLMAN','POHLMAN#1','BALMAN') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Vytiskne balíky zvoleného dopravce k určitému datu') WNSType(1); DeclareRec('Program'); DeclareRec('Balik'); DeclareRec('KeyBalik5'); DeclareRec('KeyBalikovaRada3'); DeclareRec('RozpisFaktury'); MaxDopravcu:Word=64 Dopravci:Array[1..MaxDopravcu] of String[16] Dopravcu:Word Dopravce:String LocBo:Boolean Veta:LongInt VetaP:LongInt VetaA:LongInt LocStr:String LocStr2:String LocStr3:String LocStr4:String LocW:Word Datum:Word PorCis:LongInt LastPC:LongInt LastDoklad:LongInt Dobirky:Boolean Soubor:String=GetDataINI('PPL','FileName') VytvorSoubor:Boolean Dobirka:Boolean ClearKey(KeyBalikovaRada3); LocBo=NextKey(KeyBalikovaRada3,Veta) While((LocBo) and (not KeyBalikovaRada3.Disable) and (Dopravcuid_OK) Halt; Soubor=XTrim(Soubor) SetDataINI('PPL','FileName',Soubor) if(Length(Soubor)=0) VytvorSoubor=False NewWNS('VypisPPL.WNS'); if(VytvorSoubor) begin PPLFile:TextFile; Rewrite(PPLFile,Soubor); end; SetDescr(0,0,TA_LEFT|DESCR_DATE,'Datum: '); SetDescr(1,0,TA_RIGHT|DESCR_PAGENUM,'Strana: '); SetDescr(2,1,TA_CENTER,'Soupis balíků pro dopravce '+Dopravce); SetDescr(3,2,TA_CENTER,'Balíky s datem odeslání: '+StrDate(Datum)); if(Dobirky) begin SetDescr(4,3,TA_CENTER,'POUZE DOBÍRKY'); SetDescr(5,4,TA_CENTER|DESCR_USERDESCR); end else begin SetDescr(4,3,TA_CENTER|DESCR_USERDESCR); end SetColumn(0,TA_LEFT,4); SetColumn(1,TA_LEFT,6); SetColumn(2,TA_LEFT,16); SetColumn(3,TA_RIGHT,10); SetColumn(4,TA_LEFT,6); SetColumn(5,TA_LEFT,61); SetColumn(6,TA_LEFT,15); SetColumn(7,TA_LEFT,10); SetHead('p.č.\t\tČíslo balíku\tdobírka\tPSČ\tPříjemce\tTelefon\tVar.symbol'); Datum=Swap(Datum) KeyBalik5.Length=2 KeyBalik5.Datum=Datum PorCis=0 Baliku:LongInt Celkem:Real LocBo=SearchKey(KeyBalik5,Veta) While((LocBo) and (KeyBalik5.Datum=Datum)) begin ReadRec(Balik,Veta); if((CompareStr(Balik.Sluzba,Dopravce))and(Balik.Balik<>0)) begin if(LastDoklad<>Balik.Doklad) begin Inc(PorCis) LastDoklad=Balik.Doklad if(Balik.Dobirka=0) begin LocStr4='' Dobirka=False end else begin LocStr4=StrFinanc(Balik.Dobirka,2,True) Dobirka=True end; end; LocStr=Balik.PSC LocStr2=Balik.Nazev if(Length(Balik.Rozsireni)<>0) LocStr2=LocStr2+' '+Balik.Rozsireni; LocStr2=LocStr2+';'+Balik.Ulice LocStr2=LocStr2+';'+Balik.Mesto if(LastPC<>PorCis) LocStr3=Str(PorCis) else LocStr3=''; LastPC=PorCis if((not Dobirky) or (Length(LocStr4)<>0)) begin AddLine(LocStr3,Str(Balik.Balik)+'/'+Str(Balik.BalikC),Balik.CisloB,LocStr4,LocStr,LocStr2,Balik.Telefon,Balik.VS) if(VytvorSoubor) begin WriteLn(PPLFile,Balik.CisloB,#9,NTrim(LocStr4),#9,NTrim(LocStr),#9,LocStr2,#9,Balik.Telefon,#9,Balik.VS,#9#9); end; Celkem=Celkem+Val(LocStr4); Inc(Baliku); end; if(Dobirka) LocStr4=StrFinanc(0,2,True) else LocStr4='' end; LocBo=NextKey(KeyBalik5,Veta) end; AddComment(); AddLine(Str(PorCis),Str(Baliku),'Celkem',StrFinanc(Celkem,2,True)) if(VytvorSoubor) Close(PPLFile) END