Index: BL/Legacy/EWORDS6.cls.xml =================================================================== diff -u -r49998 -r54519 --- BL/Legacy/EWORDS6.cls.xml (.../EWORDS6.cls.xml) (revision 49998) +++ BL/Legacy/EWORDS6.cls.xml (.../EWORDS6.cls.xml) (revision 54519) @@ -11,14 +11,14 @@ 1 -> vandaag 2 -> morgen (volgende arbeidsdag)]]> 1 -ORDNr:%String +ORDNr:%String,OLNr:%String %Integer 1 -ORDNr:%String +ORDNr:%String,OLNr:%String 0 %Date Index: EWORDS6.mac.rou =================================================================== diff -u -r51616 -r54519 --- EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 51616) +++ EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 54519) @@ -52,8 +52,12 @@ While (OrderLijnIterator.HasNext()) { #dim OrderLijn As DOM.VKP.ProductOrderlijn = OrderLijnIterator.Next() - If (OrderLijn.%IsA("DOM.VKP.impl.DataM.DataMProductOrderlijn") && $$$Not(OrderLijn.GeefProductID() = "")) { - Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(OrderLijn.GeefAantal(), OrderLijn.GeefLeverdag(), OrderLijn.GeefOrderID(), OrderLijn.GeefID())) + If (OrderLijn.%IsA("DOM.VKP.impl.DataM.DataMProductOrderlijn") && $$$Not(OrderLijn.GeefProductID() = "")) + { + If ##class(BL.Legacy.EWORDS6).PickingVoorVandaagVolgendeArbeidsdagOfAndereDag(OrderLijn.GeefOrderID(),OrderLijn.GeefLijnVolgNr()) + { + Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(OrderLijn.GeefAantal(), OrderLijn.GeefLeverdag(), OrderLijn.GeefOrderID(), OrderLijn.GeefID())) + } } } } @@ -128,27 +132,29 @@ Quit LeverDagOk ; Bepaal de leverdagen van een groep gelinkte orders -GetLeverDagen(ORDNr) - New I,R,KLNr,ORDNrs,lbLeverDagen,LeverDagen,LeverDag +GetLeverDagen(ORDNr,GevraagdOLNr) + New I,R,KLNr,ORDNrs,lbLeverDagen,LeverDagen,LeverDag,GevraagdORDNr + Set GevraagdORDNr=ORDNr Set R=^KO1(ORDNr,"F"),KLNr=$P(R,"\") Set ORDNrs=$$GetOrderLink(ORDNr) ; Ophalen gelinkte orders For I=1:1:$L(ORDNrs,";") Set ORDNr=$P(ORDNrs,";",I) Set:ORDNr ORDNrs(ORDNr)="" Set ORDNr="" For { Set ORDNr=$O(ORDNrs(ORDNr)) Quit:ORDNr="" - Set lbLeverDagen=$$GetLeverDagen^FLOWORD5(KLNr,ORDNr) + Quit:($G(GevraagdOLNr)'="")&&(GevraagdORDNr'=ORDNr) + Set lbLeverDagen=$$GetLeverDagen^FLOWORD5(KLNr,ORDNr,$G(GevraagdOLNr)) For I=1:1:$LL(lbLeverDagen) Set LeverDag=$LI(lbLeverDagen,I),LeverDagen(LeverDag)="" } Set (lbLeverDagen,LeverDag)="" For Set LeverDag=$O(LeverDagen(LeverDag)) Quit:LeverDag="" Set lbLeverDagen=lbLeverDagen_$LB(LeverDag) Quit lbLeverDagen ; Geeft de DUEOUT picking. Als die gisteren of ouder is, wordt de eerste zinvolle teruggegeven. -GetPickDatum(ORDNr) +GetPickDatum(ORDNr,GevraagdOLNr) New R,KLNr,blVerzendWijze,blLeveringsTermijn,LeverDag Set PickDatum="" - Set LeverDag=$LG($$GetLeverDagen(ORDNr)) // = De vroegste leverdag van alle lijnen van het order en zijn gekoppelde orders. + Set LeverDag=$LG($$GetLeverDagen(ORDNr,$G(GevraagdOLNr))) // = De vroegste leverdag van alle lijnen van het order en zijn gekoppelde orders. if $length(LeverDag) { Set R=^KO1(ORDNr,"F"),KLNr=$P(R,"\",1) Do INITDOMVKP^FLOWORD2(KLNr,ORDNr) Index: FLOWORD5.mac.rou =================================================================== diff -u -r43045 -r54519 --- FLOWORD5.mac.rou (.../FLOWORD5.mac.rou) (revision 43045) +++ FLOWORD5.mac.rou (.../FLOWORD5.mac.rou) (revision 54519) @@ -257,12 +257,13 @@ Quit ; ; Verzamel alle leverdagen van een order -GetLeverDagen(KLNr,ORDNr) +GetLeverDagen(KLNr,ORDNr,GevraagdOLNr) New R,LeverDag,LeverDagen,OLNr,PRNr Set OLNr=100 For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do . Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2) . Quit:'PRNr + . Quit:($G(GevraagdOLNr)'="")&&(OLNr'=GevraagdOLNr) . Set LeverDag=$P(R,D,25) Set:LeverDag LeverDagen(LeverDag)="" Set (LeverDagen,LeverDag)="" For Set LeverDag=$O(LeverDagen(LeverDag)) Quit:LeverDag="" Set LeverDagen=LeverDagen_$LB(LeverDag)