Index: EWORDSW.mac.rou =================================================================== diff -u -r59978 -r66310 --- EWORDSW.mac.rou (.../EWORDSW.mac.rou) (revision 59978) +++ EWORDSW.mac.rou (.../EWORDSW.mac.rou) (revision 66310) @@ -72,7 +72,7 @@ ; SEND(CONSNr) ; Opbouw van Consolidatie en doorsturen naar E'WMS ; Locals gekend tussen de verschillende routines ; DH,ORDCache - New R,DH,ORDNr,OLNr,OLUNr,OLCnt,TerugCnt,OLRec,Qty,BOQty,ORDCache,Sort,VerzW,DOut,IsOrgal,IsTxtOrga,IsTxtTAORIndeling,IsTAORIndeling,IsComm,SoftV,IsKaderD,KenAnk + New R,DH,ORDNr,OLNr,OLUNr,OLCnt,TerugCnt,OLRec,Qty,BOQty,ORDCache,Sort,VerzW,DOut,IsOrgal,IsTxtOrga,IsTxtTAORIndeling,IsTAORIndeling,IsComm,SoftV,IsKaderD,KenAnk,OBJTSender Quit:$G(^EWREC("P","NOSEND")) Lock +^ORDW("D",CONSNr) Set CONSRec=^ORDW("D",CONSNr),VerzW=$P(CONSRec,D,2),DOut=$P(CONSRec,D,3) @@ -90,6 +90,7 @@ . Do SORT(CONSNr,.Sort) Do AanpassenDueOut(CONSNr,lbBevat) Set KenAnk=1 + Set OBJTSender=##class(OBJTimpl.WMSOrder.ZendPicklijst).%New() ;OBJT For Set ORDNr=$O(Sort(ORDNr)) Quit:ORDNr="" Do . For Set OLUNr=$O(Sort(ORDNr,OLUNr)) Quit:OLUNr="" Do .. If 'DH Do @@ -102,6 +103,7 @@ . Set KenAnk=0 If DH Do ; Er zijn er doorgestuurd . Do CLOSE^EWRECS(DH) + Do OBJTSender.VerstuurPicklijnen() ;OBJT Set CONSRec=^ORDW("D",CONSNr) Set:$P(CONSRec,D,20)="" $P(CONSRec,D,20)="W" ; Alleen als nog niet is doorgestuurd, dit voor Terugnames en zonder WMS Set $P(CONSRec,D,22)=$H @@ -129,8 +131,7 @@ If Verzendwijze?1"AF"1E { Set $P(DOut,",",2)=1200 - } - ElseIf (Verzendwijze?1"OD"1N)&&(SubMagazijnen["E") + } ElseIf (Verzendwijze?1"OD"1N)&&(SubMagazijnen["E") { If Verzendwijze="OD1" Set $P(DOut,",",2)=21600 ; 6 uur If Verzendwijze="OD2" Set $P(DOut,",",2)=25200 ; 7 uur @@ -150,7 +151,7 @@ } } } - + Set:OmzFakt>1 $P(DOut,",",2)=$P(DOut,",",2)-(4*60) ; Grote klanten worden voorgetrokken met 4 min. Set:$LF(lbBevat,"ORGALUX") $P(DOut,",",2)=$P(DOut,",",2)-(10*60) ; Orgalux orders voortrekken met 10 min. Set:$L(SubMagazijnen)=1 $P(DOut,",",2)=$P(DOut,",",2)-(5*60) ; picking uit slechts 1 submagazijn wordt voorgetrokken met 5 min @@ -305,6 +306,7 @@ BLDOL(KLNr,CONSNr,ORDNr,OLUNr,lbBevat,SoftV) + ; SoftV : via .Local ; Verwerken van een orderlijn met eventuele opslitsing in verschillende kindproducten New OLNr,OLRec,SubOLNr,SubRec,PRNr,KPRNr,OLCache,Txt,SOLSoftV,OLSoftV @@ -316,8 +318,9 @@ . Quit:$P(SubRec,D,2)'="" ; Reeds verwerkt (doorgestuurd), terugname, manueel of zonder WMS . Set SOLSoftV=$P($G(Sort(ORDNr,OLUNr,$P(SubRec,D,1))),D,2) . Set:SOLSoftV="" SOLSoftV=$$SOFTV($P(SubRec,D,1),$P(^ORDW("D",CONSNr),D,1),$P(SubRec,D,3),lbBevat) - . If (SOLSoftV="E")!(SOLSoftV?1N) Do ; voor EWMS + . If (SOLSoftV?1(1"E",1N,1"V")) Do ; voor EWMS ;OBJT .. Do SOLCACHE(CONSNr,ORDNr,OLUNr,SubOLNr,.C) + .. Set C("SOFTV")=SOLSoftV ;OBJT .. Set $P(SubRec,D,11)=$G(C("SORTKODE")) . Set:OLSoftV'[SOLSoftV OLSoftV=OLSoftV_SOLSoftV ; Lijn . Set:SoftV'[SOLSoftV SoftV=SoftV_SOLSoftV ; Consolidatie @@ -328,7 +331,7 @@ . Merge Txt=C("OLTEKST") . Set Txt=$O(Txt(""),-1) . Kill C("OLTEKST") - . Do:(SOLSoftV="E")!(SOLSoftV?1N) PUT(.C,"OLTEKST",.Txt) ; voor EWMS + . Do:(SOLSoftV?1(1"E",1N,1"V")) PUT(.C,"OLTEKST",.Txt) ; voor EWMS ;OBJT Set OLRec=^ORDW("D",CONSNr,"D",ORDNr,OLUNr) Set $P(OLRec,D,2)="W" Set $P(OLRec,D,8)=OLSoftV @@ -352,17 +355,23 @@ Quit PUT(C,Ref,Txt) - Do GETWRAP^vhBIGEDIT("Txt",40,.Txt,"G","~","") - For Txt=1:1:Txt Set Txt(Txt)=$P(Txt(Txt),"`",5),Txt(Txt)=Txt(Txt)_$J("",40-$L(Txt(Txt))) - For Txt=1:1:Txt Do - .If Txt#4=1 Do - ..If Txt>1 Do - ...Do PUT^EWRECS(DH,"C") - ...Set:$D(C("PRNR")) C("PRNR")="" Set:$D(C("MOEDERPRNR")) C("MOEDERPRNR")="" - ...Set:$D(C("AANTAL")) C("AANTAL")="" - ..Set C(Ref)="" - .Set C(Ref)=C(Ref)_Txt(Txt) - Do:Txt PUT^EWRECS(DH,"C") + If $G(C("SOFTV"))="V" ;OBJT + { + Set C(Ref)=Txt + Do OBJTSender.VoegtoePicklijn(.C) + } Else { + Do GETWRAP^vhBIGEDIT("Txt",40,.Txt,"G","~","") + For Txt=1:1:Txt Set Txt(Txt)=$P(Txt(Txt),"`",5),Txt(Txt)=Txt(Txt)_$J("",40-$L(Txt(Txt))) + For Txt=1:1:Txt Do + .If Txt#4=1 Do + ..If Txt>1 Do + ...Do PUT^EWRECS(DH,"C") + ...Set:$D(C("PRNR")) C("PRNR")="" Set:$D(C("MOEDERPRNR")) C("MOEDERPRNR")="" + ...Set:$D(C("AANTAL")) C("AANTAL")="" + ..Set C(Ref)="" + .Set C(Ref)=C(Ref)_Txt(Txt) + Do:Txt PUT^EWRECS(DH,"C") + } Quit ORDCACHE(KLNr,CONSNr,ORDNr,IsAndereControleWijze,C) ; Opbouw van de cache voor de orderhoofding