FLOWBON4 ;Selecteren van een leveringsbon en het afdrukken van de palletlabels [ 09/05/2003 9:40 AM ] #include vhLib.Macro #define OrgaluxPrinter "\\fop\Mag Orgaluxbon" #define TestLabelPrinter "\\fop\test3" #define BarTenderPrintersInstalled 0 Set K="AFDRUKKEN PALLETETIKETTEN "_QN_" ",FP=203+$L(K) Write @F61,@F11,@F1,@F,@F5 Set FP=202 Write @F,@F4,K,@F5 ;Set ViaBartender=$S('$$$BarTenderPrintersInstalled:0,1:1) Set ViaBartender=$S('$$$BarTenderPrintersInstalled&($$$Server'="CACHE02"):0,1:1) If 'ViaBartender Do . Do INIT^vhPRINTER("","","UB") . Set Dev=$G(Print("DEV")) . Set Naam=$G(Print("NAAM")) . Set:Naam="" Naam=$G(Print("DEV")) . Set FP=1801 Write:$L(Naam) @F,"Printer keuze : "_Naam Else Do . Set blKlantLabel=##class(BL.Flow.Levering.Label).Instantiate() . Do blKlantLabel.qLabelPrinters(.PrinterLijst) . If PrinterLijst=1 Do . . Set Dev=$Piece(PrinterLijst(1),"`") ;als er maar één printer is dan wordt deze printer automatisch geselecteerd . Else Do . . Set Dev=$$WILD^vhPOPUP("C;C","KO1-","Selecteer een printer",.PrinterLijst) . Set FP=1801 Write:$L(Dev) @F,"Printer keuze : "_Dev Do:$L(Dev) .New C,R,KLNr,BONNr,FANr .For Set BONNr=$$SELECT^FLOW("KUL","KU1",1,,,,2) Quit:BONNr="-" Do ..If '$D(^ORDW("D",BONNr)) Do ...Set R=^KU1(BONNr,"F"),KLNr=$P(R,D),FANr=$P(R,D,2) ...If $D(^KUL(KLNr,"F",BONNr)) Do PRINT(BONNr) Quit ...Set R(1)="Bon "_$$EXTNUM^vhDTyp(BONNr,0,".",0)_"is reeds gefactureerd!" ...Set R="R",R=$$WILD^vhTXTPOP("C;C","",.R) ..Else Do PRINT(BONNr) Set blKlantLabel="" Quit SelPrinter(BONNr,Printer,ViaBartender) ;selectie van de labelprinter bij externe oproep IF $$$Server="CACHE02" Do Quit . Set Printer=$$$TestLabelPrinter . Set ViaBartender=1 If $$ISORGAL^FLOWCHK("L",BONNr) Do . Set Printer=$$$OrgaluxPrinter . Set ViaBartender=1 Else Do . Set Printer=Dev . Set ViaBartender=$$$BarTenderPrintersInstalled Quit PrintViaBartender(BONNr,Extern) ;afdrukken via de definitie uit Bartender New C,D Set D="\",Extern=$G(Extern) If 'Extern Do STORE^vhTERMINA() Set FP=2001 Write @F,@F1,!?2,"Printing ..." For Do Quit:BONNr="" . If $P(BONNr,D) Do . . Do blKlantLabel.Init($P(BONNr,D)) . . Do blKlantLabel.PrintLabelKlantAdres(Printer,0) . Set BONNr=$P(BONNr,D,2,99) Do:'Extern REFRESH^vhTERMINA() Quit FETCHBON(BONNr,C) New R,KLNr,Adr Quit:'BONNr If '$D(^KU1(BONNr,"F"))!$P($G(^KU1(BONNr,"F")),D,2) Do FETCHCORDW(BONNr,.C) Quit Set KLNr=$P(^KU1(BONNr,"F"),D) Set R=^KUL(KLNr,"F",BONNr,1) Set C("VERZW")=$P($P($P(R,D,7),"#")," ") If $$ISORGA(BONNr) Set $E(C("VERZW"),3)="+" Set Adr=$G(^KUL(KLNr,"F",BONNr,3)) Set:$L($TR(Adr,"\",""))<5 Adr=^KKL(^KK1(KLNr),0) Set C("BONNR")=BONNr Set C("KLNM")=$P(Adr,D,2) Set C("KLNMBIG")=$$TRIMNAAM^vhRtn1($E(C("KLNM"),1,10),1) Set C("TOENM")=$P(Adr,D,3) Set C("STRAAT")=$P(Adr,D,5) Set C("POSTKODE")=$P(Adr,D,6) Set C("GEMEENTE")=$E($P(Adr,D,7),1,18) Set C("TAAL")=$P(^KKL(^KK1(KLNr),0),D,9) If ";9365;2671;"[(";"_KLNr_";") Do ; klant Haefele en 'New SobelWood' -> 1 order / 1 bon . Set C("COMMREF")=$$CommRef^EWORDSW(KLNr,BONNr) Set C("LBLGROEP")="PRINTER" Set C("LABELTYP")="KLANTPALLET" Set C("KLNR")=KLNr Set C("LABELSIZE")="10x10" Quit FETCHCORDW(CONSNr,C) New R,KLNr,Adr Set R=$G(^ORDW("D",CONSNr)) Quit:R="" Set KLNr=$P(R,D) Set C("VERZW")=$P(R,D,2) If $$ISORGA(CONSNr) Set $E(C("VERZW"),3)="+" Set Adr=$G(^ORDW("D",CONSNr,"A")) Set:$L($TR(Adr,"\",""))<5 Adr=^KKL(^KK1(KLNr),0) Set C("BONNR")=CONSNr Set C("KLNM")=$P(Adr,D,2) Set C("KLNMBIG")=$$TRIMNAAM^vhRtn1($E(C("KLNM"),1,10),1) Set C("TOENM")=$P(Adr,D,3) Set C("STRAAT")=$P(Adr,D,5) Set C("POSTKODE")=$P(Adr,D,6) Set C("GEMEENTE")=$E($P(Adr,D,7),1,18) Set C("TAAL")=$P(^KKL(^KK1(KLNr),0),D,9) If ";9365;2671;"[(";"_KLNr_";") Do ; klant Haefele en 'New SobelWood' -> 1 order / 1 bon . Set C("TOENM")=$$CommRef^EWORDSW(KLNr,CONSNr) Set C("LBLGROEP")="PRINTER" Set C("LABELTYP")="KLANTPALLET" Set C("KLNR")=KLNr Set C("LABELSIZE")="10x10" Quit ISORGA(CONSNr) Quit $D(^ORDW("D",CONSNr,"S","O")) ; Bevat orgalux picking WLABEL(Dev,C) For I=1:1 Set Lijn=$T(@("L"_$G(C("TAAL"),"N")_I)) Quit:Lijn="" Do .Write @$P(Lijn,";",2),! Quit PRINT(BONNr,Extern) ;If Dev["WMSUITV" goto PRINTOLD New C,D Set D="\",Extern=$G(Extern) If 'Extern Do STORE^vhTERMINA() Set FP=2001 Write @F,@F1,!?2,"Printing ..." For Do Quit:BONNr="" . If $P(BONNr,D) Do . . Do SelPrinter($Piece(BONNr,D),.Printer,.ViaBartender) . . If ViaBartender Do . . . Set bl=##class(BL.Flow.Levering.Label).Instantiate() . . . Do bl.Init(BONNr) . . . Do bl.PrintLabelKlantAdres(Printer,1) . . Else Do . . . Kill C . . . Do FETCHBON($P(BONNr,D),.C) . . . Quit:'$D(C) . . . Quit:$$$Server="CACHE02" . . . Do WLABEL^vhPRINTER(Printer,.C,0) . Set BONNr=$P(BONNr,D,2,99) Do:'Extern REFRESH^vhTERMINA() Quit PRINTOLD ; wordt niet meer gebruikt New C,D Set D="\",Extern=$G(Extern) If 'Extern Do STORE^vhTERMINA() Set FP=2001 Write @F,@F1,!?2,"Printing ..." Open Dev Use Dev For Do Quit:BONNr="" .If $P(BONNr,D) Do ..Kill C ..Do FETCHBON($P(BONNr,D),.C) ..Quit:'$D(C) ..Do WLABEL(,.C) .Set BONNr=$P(BONNr,D,2,99) Close Dev Do:'Extern REFRESH^vhTERMINA() Quit EXTERN(BONNr,Dev) New C Set:'$L($G(Dev)) Dev=$$DEV^vhPRINTER("lbl Uitvoer EWMS") ; Device labelprinter : \\REQ DATKON\Generic / Text Only Do PRINT(BONNr,1) Quit