DCABXVD ;AFDRUKKEN VERVOERDOKUMENT GLS [ 12/15/2003 10:26 AM ] ; ; Het afdrukken van een vervoerdokument kan met volgende oproep --> Do PRINT^DCABXVD(VervRef) ; FN(Number,Fraction,Format) Quit $$FN^DCALG(Number,Fraction,$G(Format)) ; PASTEB(R,AddBlank) New NewPage Set NewPage="Do FOOTER^"_$ZN_"(),TITEL^"_$ZN_",HEADER^"_$ZN Do PASTEB^DCALG(R,NewPage,$G(AddBlank),"BLOCK^"_$ZN,"CACHE^"_$ZN,"PASTE^"_$ZN) Quit ; BLOCK(R) Do BLOCK^DCALG(R) Quit ; CACHE(R) Set LCount=LCount+1 Set ^HULP(%J,"ABX",PCount,LCount)=$J("",$G(Marge))_R Quit ; PASTE(Page,Line,Text,BPos,EPos,Attr) New T,I,X Set Marge=$G(Marge),T=Text Quit:T="" If Attr'["T" Set Attr=Attr_"T" If Attr["N" Set Attr=$TR(Attr,"NT","") If $L(Attr) For I=1:1:$L(Attr) Do .If $E(Attr,I)="T" Set T=$TR(T,P("T","F"),P("T","T")) Quit .Set T=P($E(Attr,I),1)_T .If $E(Attr,I)'="Q"!'$G(Prefs("NLQ")) Set T=T_P($E(Attr,I),0) If BPos,EPos Set $E(^HULP(%J,"ABX",Page,Line),BPos+Marge,EPos+Marge)=T Quit If BPos Set $E(^HULP(%J,"ABX",Page,Line),BPos+Marge,BPos+Marge+$L(Text)-1)=T Quit Set $E(^HULP(%J,"ABX",Page,Line),EPos+Marge-$L(Text)+1,EPos+Marge)=T Quit ; PASTER(Value,From,To) Do PASTER^DCALG(Value,$G(From),$G(To)) Quit ; BODY New B,R,T,BCount,GroepNr,KLNr,KlantInd,Naam,ToeNaam,Aanspr,Adres,PostNr,Woonpl,Land,Munt,GroepType,KlTaal New Colli,Gewicht,Rembours,BarCode,BarCodes,Palet,SepLine,BonNr,BonNrs New lbKenAnk,KenAnk,ObjKenAnk Set GroepNr="" For Set GroepNr=$O(^TRANSP("D",VervRef,"D",GroepNr)) Quit:GroepNr="" Do .Set R=^TRANSP("D",VervRef,"D",GroepNr),KLNr=$P(R,D),Rembours=$P(R,D,2),Gewicht=$P(R,D,3) Set:'Gewicht Gewicht=.1 .Set GroepType=$P(R,D,6) Set:GroepType="" GroepType="K" .Set BCount=0 .Kill B .Set (Colli,Palet)=$P($G(^TRANSP("D",VervRef,"D",GroepNr,"Q","E")),D) .Set Colli=Colli+$P($G(^TRANSP("D",VervRef,"D",GroepNr,"Q","C")),D) .Set Colli=Colli+$P($G(^TRANSP("D",VervRef,"D",GroepNr,"Q","L")),D) .Set TotCol=TotCol+Colli,TotGew=TotGew+Gewicht .Set R=$$LEVADR^TRANSPL(VervRef,GroepNr) .Set Naam=$P(R,D,2),ToeNaam=$P(R,D,3),Aanspr=$P(R,D,4),Adres=$P(R,D,5) .Set PostNr=$P(R,D,6),Woonpl=$P(R,D,7),Land=$$LAND^vhRtn1($P(R,D,8)),KlTaal=$P(R,D,9) Set:KlTaal="" KlTaal="N" .If GroepType="K" Do ..Set Munt=$P(^KKL(^KK1(KLNr),0),D,11) ..Set:Munt="MTL" Munt=$P(^KUL(KLNr,"F",GroepNr,1),D,18) .Else If GroepType="L" Set Munt=$P(^KLE(^KL1(KLNr),0),D,11) .Else Set Munt="EUR" .Set (BarCode,BarCodes)="" .For Set BarCode=$O(^TRANSP("D",VervRef,"D",GroepNr,"C",BarCode)) Quit:BarCode="" Set BarCodes=BarCodes_D_BarCode .Set $E(BarCodes)="" .Set (BonNr,BonNrs)="" .For Set BonNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"B",BonNr)) Quit:BonNr="" Set:BonNr'=GroepNr BonNrs=BonNrs_D_BonNr .Set $E(BonNrs)="" .Do BLOCK($G(SepLine,L("B","S"))_"`1``C") .Set SepLine=L("B","S") .Set T=$$FIRMANM^DCALG(GroepType,$S(GroepType="D":"",1:KLNr),$S(GroepType="D":Naam,1:""),$S(GroepType="D":Aanspr,1:"")) .If KLNr=8545,$L(T),$L(ToeNaam) Set R=T,T=ToeNaam,ToeNaam=R .Set R=L("B","B") .Do PASTER($$FN(GroepNr,0),"",10),PASTER($E(T,1,25),13) .Do PASTER($$FN(Colli,0),"",46) Do:Palet PASTER("p","",46) .Do PASTER($$FN(Gewicht,1),"",55) .Do:Rembours PASTER($$FN(Rembours,$$MUNT^vhRtn1(Munt,4)),"",68),PASTER($$MUNT^vhRtn1(Munt,1),69) .Do BARCODES .Do BLOCK(R_"`1``C") .If $L(ToeNaam) Do ..Set R=L("B","B") ..Do BONNRS,PASTER($E(ToeNaam,1,26),13),BARCODES,BLOCK(R_"`1``C") .Set R=L("B","B") .Do BONNRS,PASTER(Adres,13),BARCODES,BLOCK(R_"`1``C") .Set R=L("B","B") .Do BONNRS,PASTER($E(PostNr_$S($L(PostNr):" ",1:"")_Woonpl,1,25),13),BARCODES,BLOCK(R_"`1``C") .If Land'="BE" Do ..Set R=L("B","B") ..Do BONNRS,PASTER($$LAND^vhRtn1(Land,2,KlTaal),13),BARCODES,BLOCK(R_"`1``C") .For I=1:1 Quit:BonNrs=""&(BarCodes="") Set R=L("B","B") Do BONNRS:$L(BonNrs),BARCODES:$L(BarCodes),BLOCK(R_"`1``C") .Set lbKenAnk=$S(GroepType="K":##Class(BL.Flow.Cons.TransportData).GetKennisAnker(KLNr),1:""),HeeftKenAnk=$LL(lbKenAnk) .Do:HeeftKenAnk ..Set SepLine=L("B","K","L") ..Set BCount=$O(B(""),-1) ..Do BLOCK(L("B","K","F")_"`1``C") ..For Kill KenAnk Set KenAnk=$LI(lbKenAnk) Quit:KenAnk="" Do Quit:'$LL(lbKenAnk) ...Set lbKenAnk=$LI(lbKenAnk,2,99) ...Set ObjKenAnk=##Class(Derde.Kennis.Kennis).%OpenId(KenAnk) ...Quit:'$IsObject(ObjKenAnk) ...Set KenAnk(1)=$TR(ObjKenAnk.Msg,$C(13,10)," ") ...Quit:KenAnk(1)="" ...Do GETWRAP^vhBIGEDIT("KenAnk",50,.KenAnk,"G","~","") ...For I=1:1:KenAnk Do ....Set R=L("B","K","B") ....Do PASTER($P(KenAnk(I),"`",5),41) ....Do BLOCK(R_"`1``C") .Do PASTEB("") Quit ; BONNRS Do PASTER($$FN($P(BonNrs,D),0),"",10) Set BonNrs=$P(BonNrs,D,2,99) Quit ; BARCODES Do PASTER($P(BarCodes,D),75) Set BarCodes=$P(BarCodes,D,2,99) Quit ; ; Adruk titel TITEL New R,T Set PCount=PCount+1,LCount=0 For I=1:1:6+(LogoPap*4) Do CACHE("") Set T=" - "_$$EXTNUM^vhDTyp(VervRef,0,".",0) Do PASTE(PCount,1+(LogoPap*4),T,21,"","B") Set T=$$TXT("AfhABX") Do PASTE(PCount,1+(LogoPap*4),T,2,"","BU") Do PASTE(PCount,2+(LogoPap*4),VH(1),45,"","B") Do PASTE(PCount,3+(LogoPap*4),VH(2),45,"","B") Do PASTE(PCount,4+(LogoPap*4),VH(3),45,"","B") Set T=$$TXT("Date")_":"_$$EXTDATE^vhDTyp(Kreatie) Do PASTE(PCount,4+(LogoPap*4),T,2,"","B") Do PASTE(PCount,5+(LogoPap*4),VH(4),45,"","B") Set T=$$TXT("Afzend")_":"_AfzendNr Do PASTE(PCount,5+(LogoPap*4),T,2,"","B") Quit ; HEADER New T,R Do CACHE("") Do PASTE(PCount,LCount,L("B","F"),1,"","C") Do CACHE("") Set R=L("B","B"),T=$$TXT("BullNr") Do PASTER(T,3) Set T=$$TXT("Bestem") Do PASTER(T,13) Set T=$$TXT("Colli") Do PASTER(T,"",45) Set T=$$TXT("Gew") Do PASTER(T,"",54) Set T=$$TXT("Remb") Do PASTER(T,"",71) Set T=$$TXT("BarCod") Do PASTER(T,75) Do PASTE(PCount,LCount,R,1,"","C") Quit ; FOOTER(Type) New T,R Set Type=$G(Type) Do CACHE("") Set R=L("F","F") Set:HeeftKenAnk R=$$LINE^vhRtn1("S",90,"1;11;39;47$$C^vhRtn1(5);56$$C^vhRtn1(5);90") Do PASTE(PCount,LCount,R,1,"","C") Do CACHE("") Set R=L("F","B"),T=$$TXT("Page") Do PASTER(T,3) If Type="L" Do .Set T=$$TXT("TotCol") .Do PASTER(T,13) .Do PASTER($$FN(TotCol,0),"",46) .Do PASTER($$FN(TotGew,0),"",55) .Set T=$$TXT("Date")_" : "_$$EXTDATE^vhDTyp(Kreatie) .Do PASTER(T,58) Do PASTE(PCount,LCount,R,1,"","C") Do CACHE("") Set R=L("F","B") Do PASTER("PCount",3) If Type="L" Do .Set T=$$TXT("HandT")_":" .Do PASTER(T,58) Do PASTE(PCount,LCount,R,1,"","C") Do:Type="L" .Do CACHE("") .Do PASTE(PCount,LCount,L("F","B"),1,"","C") .Do CACHE("") .Set R=L("F","B"),T=$$TXT("Palet") .Do PASTER(T,13) .Set T=$S($P(Paletten,D):$P(Paletten,D),1:"") .If $P(Paletten,D,2) Set:T T=T_"+" Set T=T_$P(Paletten,D,2) .Do PASTER(T,"",45) .Do PASTE(PCount,LCount,R,1,"","C") .Quit:'LangGoed .Do CACHE("") .Set R=L("F","B"),T=$$TXT("LangG") .Do PASTER(T,13) .Do PASTER(LangGoed,"",45) .Do PASTE(PCount,LCount,R,1,"","C") .Quit:'LangGoed Do CACHE("") Do PASTE(PCount,LCount,L("F","L"),1,"","C") Quit ; PRINT(VervRef) New R,T,MaxPages,Copies,LogoPap,Paletten,LangGoed New %J,L,PCount,AfzendNr,Taal,Marge,MaxLines,PageLen,TotCol,TotGew,TranspNr,Kreatie,HeeftKenAnk Do SELPRINT^DCPRINT(##class(TECH.Config.ConfigMgr).Instance().GetString("DCABXVD_PrinterNummer")) If $D(Print) Do .Set LogoPap=Print("PAPIER")="L" .Set:'LogoPap LogoPap=$P(Print("PRINTER"),";",2)="BR" .Xecute F70 .Write @F80 .Do INIT,TITEL,HEADER,BODY,FOOTER("L") .Set MaxPages=PCount,Copies=1+($P(Print("PRINTER"),";",2)="CA")+($P(Print("PRINTER"),";",2)="BL") .Set:##class(TECH.Config.ConfigMgr).Instance().GetBoolean("DCABXVD_PrintSlechts1Kopie") Copies=1 .For Copies=1:1:Copies Do ..For PCount=1:1 Quit:'$D(^HULP(%J,"ABX",PCount)) Do ...For LCount=1:1 Quit:'$D(^HULP(%J,"ABX",PCount,LCount)) Do ....Set R=^HULP(%J,"ABX",PCount,LCount) ....If R["PCount" Set T=PCount_"/"_MaxPages,R=$P(R,"PCount")_T_$J("",6-$L(T))_$P(R,"PCount",2) ....Write !,R ...Write # .Do CLEAN Quit ; ; Initialisatie INIT Set %J=$$%J^vhRtn1(),(TotCol,TotGew,PCount)=0,Taal="N",Marge=5 Kill ^HULP(%J) Do VH^DCINIT For I=1:1 Quit:'$D(VH(I)) Do . Quit:$E(VH(I),1,4)'="Tel." . Set VH(I)=$P(VH(I),":")_": "_$TR($P(VH(I),":",2)," ","") Do LINIT^DCINIT("x"),PINIT^DCINIT,FINIT^DCINIT("x") Set MaxLines=MaxLines-4 Set R=^TRANSP("D",VervRef),TranspNr=$P(R,D),Kreatie=$P(R,D,10) Set R=^TRANSP("T",TranspNr),AfzendNr=$P(R,D,2) Set R=$$CalcVerpak^TRANSP(VervRef),Paletten=$TR($P(R,D),";",D),LangGoed=$P(R,D,3) Write P("D",1) Quit ; CLEAN Kill ^HULP(%J) Do CLOSE^vhPRINTER Quit ; ; Ophalen taalafhankelijke tekst TXT(Ref,Piece) If '$D(Piece) Set Piece=2 Quit $P($P($T(@("T"_Ref)),U,Piece),D,$F("NFDE",Taal)-1) ; TAfhABX ;AFHALINGSLIJST GLS\AFHALINGSLIJST GLS\AFHALINGSLIJST GLS\AFHALINGSLIJST GLS TDate ;Datum\Datum\Datum\Datum TAfzend ;Afzender\Afzender\Afzender\Afzender TBullNr ;Bull.nr\Bull.nr\Bull.nr\Bull.nr TBestem ;Naam/adres bestemmeling\Naam/adres bestemmeling\Naam/adres bestemmeling\Naam/adres bestemmeling TColli ;colli\colli\colli\colli TGew ;gew.\gew.\gew.\gew. TRemb ;Rembours\Rembours\Rembours\Rembours TBarCod ;Barcode\Barcode\Barcode\Barcode TOpmerk ;opmerk.\opmerk.\opmerk.\opmerk. TPage ;Blz\Blz\Blz\Blz TTotCol ;Totaal der colli's\Totaal der colli's\Totaal der colli's\Totaal der colli's TPalet ;Paletten\Paletten\Paletten\Paletten TLangG ;Langgoed\Langgoed\Langgoed\Langgoed THandT ;Handtekening chauffeur\Handtekening chauffeur\Handtekening chauffeur\Handtekening chauffeur ;