#include BL.Sys.FOP.Common #include BL.Derde.KlantSpecifiek DCPRINT2 ;AFDRUKKEN DOKUMENTEN [ 11/29/2003 1:55 PM ] ; ; Drukken leveringsbons ; Warn = 0 (geen melding van foutieve status) BON(lbBONNrs,Warn) New li,sc,BONNr,IsTerugName,DocType,KLNr,IsSchachermayer Set Warn=$G(Warn,1) For li=1:1:$LL(lbBONNrs) Do . Set BONNr=$LI(lbBONNrs,li) . Set KLNr=$P($G(^KU1(BONNr,"F")),D) . Set IsSchachermayer=((KLNr=$$$KlantSchachermayerNL)||(KLNr=$$$KlantSchachermayerAU)) . If $$ISTERUGN^FLOWBON5(BONNr) Do ;TerugName . . If $$ExtraBonTerugName(BONNr)&&('IsSchachermayer) Set DocType=$$$ldtBonWitBonGeel ; Terugname -> witte en gele terugnamebon appart geniet . . Else Set DocType=$$$ldtBonGeel ; Terugname -> enkel gele terugnamebon . . . Else Do ; Levering . . If IsSchachermayer Set DocType=$$$ldtBonBlanco ;schachermayer altijd BonBlanco . . Else If $$ExtraBon(BONNr) Set DocType=$$$ldtBonWitBewijs ; Levering -> Witte leveringsbon en geel afleveringsbewijs samen geniet . . Else Set DocType=$$$ldtBonWit ; Levering -> enkel witte leveringsbon . . // Pakbon toevoegen (aan DocType) . . Set PosPakbon=$S($$ISORGAL^FLOWCHK("L",BONNr):"",'$$IsMetStUpd(BONNr):"", 1:"BEGIN") . . Set:(PosPakbon="END" ) DocType=DocType_$$$ldtAddPakbonLos . . Set:(PosPakbon="BEGIN") DocType=$$$ldtBeginPakbonLos_DocType . Set sc=##class(BL.Flow.Levering.Doc).RenderAndPrintDocViaType(BONNr,DocType,$$Printer(BONNr,IsSchachermayer),1) ; printer: leeg=default . Kill ^KUB(BONNr,"F") . If Warn,$$$ISERR(sc) Do CLOSE^vhPRINTER,WARN^vhTXTPOP($$ParseStatus^vhLib(sc),"") Quit ; ; Moet er een extra leveringsbon afgedrukt worden? ExtraBon(BONNr) New ExtraBon,KLNr,VerzW Set ExtraBon=0 Set KLNr=$P($G(^KU1(BONNr,"F")),D) ; Node bestaat niet meer indien reeds gefactureerde (oude) leveringsbon Do:KLNr . Set R=$G(^KUL(KLNr,"F",BONNr,1)) . Quit:R="" ; Node bestaat niet meer indien reeds gefactureerde leveringsbon . Set VerzW=$P(R,D,7) . Set ExtraBon=$E(VerzW,1,2)="AF" ; Afhaling? . Set:'ExtraBon ExtraBon=$E(VerzW,1,2)="VT" ; Vertegenwoordiger? . ;Set:'ExtraBon ExtraBon=$E(VerzW,1,2)="PO" ; Post? ; Moet niet meer afgedrukt worden CW 08.12.08 . ;Set:'ExtraBon ExtraBon=$E(VerzW,1,2)="TP" ; Taxipost? ; Moet niet meer afgedrukt worden CW 08.12.08 . Set:'ExtraBon ExtraBon=$E(VerzW,1,3)?1"K"2N ; KS? . Set:'ExtraBon ExtraBon=$E(VerzW,1,3)="INT" ; Intern? . If 'ExtraBon,"\11708\2523\"[(D_KLNr_D),$$ISORGAL^FLOWCHK("L",BONNr) Set ExtraBon=1 ; Voor Bruynzeel en Tulp ook afdrukken indien Orgalux Quit ExtraBon ExtraBonTerugName(BONNr) New R,KLNr,Extra,VerzW Set KLNr=$P(^KU1(BONNr,"F"),D),R=^KUL(KLNr,"F",BONNr,1),VerzW=$P(R,D,7) Set Extra=1 Set:$E(VerzW,1,3)?1(1"INT",1"DI1") Extra=0 Quit Extra ; Bevat de levering een lijn met stockupdate? IsMetStUpd(BONNr) New R,KLNr,BLNr,PRNr,IsMetStUpd Set IsMetStUpd=0,KLNr=$P($G(^KU1(BONNr,"F")),D) Do:KLNr . Set BLNr=100 . For Set BLNr=$O(^KUL(KLNr,"F",BONNr,BLNr)) Quit:'BLNr Do Quit:IsMetStUpd . . Set R=^KUL(KLNr,"F",BONNr,BLNr),PRNr=$P(R,D,2) . . Quit:'PRNr . . If $P(R,D,14)'["S",$P(R,D,14)'["Z" Set IsMetStUpd=1 Quit IsMetStUpd ; Op welke printer afdrukken? ; printers : LEVBON_DI (distributeur) ; : LEVBON_ORGALUX (Orgalux) ; : LEVBON_PS (alg. verzend zone, default printer) Printer(BONNr,IsSchachermayer) New R,KLNr,Printer,VerzW,Node Set Printer=##Class(TECH.Config.ConfigMgr).Instance().GetString("DCPRINT_SelectPrinter") If $L(Printer),Printer'="AUTO" Quit Printer Quit:$G(IsSchachermayer) "LEVBON_DI" Set Printer="LEVBON_PS" If '$$ISTERUGN^FLOWBON5(BONNr) Do ; Terugnames op default printer . If $$ISORGAL^FLOWCHK("L",BONNr) Set Printer="LEVBON_ORGALUX" Quit ; Orgalux? . Set Node=$$NODE^FLOWBON(BONNr) . Set KLNr=$P(^KU1(BONNr,"F"),D),R=^KUL(KLNr,Node,BONNr,1),VerzW=$P($P(R,D,7)," ") . Quit:VerzW="" . Set Printer=$P($G(^RES("KLANT","PI","VERZENDWIJZE","D",VerzW)),"`",15) ; Volgens verzendwijze? ;Set:Printer="LEVBON_ORGALUX" Printer="LEVBON_PS" Quit Printer