Index: FLOWORD5.mac.rou =================================================================== diff -u -r54519 -r55205 --- FLOWORD5.mac.rou (.../FLOWORD5.mac.rou) (revision 54519) +++ FLOWORD5.mac.rou (.../FLOWORD5.mac.rou) (revision 55205) @@ -263,7 +263,7 @@ 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) + . Quit:( $Length($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) Index: EWORDS6.mac.rou =================================================================== diff -u -r54519 -r55205 --- EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 54519) +++ EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 55205) @@ -52,10 +52,8 @@ While (OrderLijnIterator.HasNext()) { #dim OrderLijn As DOM.VKP.ProductOrderlijn = OrderLijnIterator.Next() - If (OrderLijn.%IsA("DOM.VKP.impl.DataM.DataMProductOrderlijn") && $$$Not(OrderLijn.GeefProductID() = "")) - { - If ##class(BL.Legacy.EWORDS6).PickingVoorVandaagVolgendeArbeidsdagOfAndereDag(OrderLijn.GeefOrderID(),OrderLijn.GeefLijnVolgNr()) - { + 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())) } } @@ -132,12 +130,16 @@ Quit LeverDagOk ; Bepaal de leverdagen van een groep gelinkte orders -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)="" + ; Optioneel kan je de opvraging beperken tot die voor ��n specifieke orderlijn. Zoniet wordt voor het volledige order incl zijn gekoppelde orders. +GetLeverDagen(GevraagdORDNr,GevraagdOLNr) + New I,R,KLNr,ORDNrs,lbLeverDagen,LeverDagen,LeverDag + Set R=^KO1(GevraagdORDNr,"F"),KLNr=$P(R,"\") ; Klant ophalen. + Set ORDNrs=$$GetOrderLink(GevraagdORDNr) ; Ophalen gelinkte orders. + + New ORDNr + For I=1:1:$L(ORDNrs,";") Set ORDNr=$P(ORDNrs,";",I) Set:ORDNr ORDNrs(ORDNr)="" ; delimited list naar multidimensional. + + ; Alle leverdagen verzamelen. Set ORDNr="" For { Set ORDNr=$O(ORDNrs(ORDNr)) @@ -146,8 +148,11 @@ Set lbLeverDagen=$$GetLeverDagen^FLOWORD5(KLNr,ORDNr,$G(GevraagdOLNr)) For I=1:1:$LL(lbLeverDagen) Set LeverDag=$LI(lbLeverDagen,I),LeverDagen(LeverDag)="" } + + ; Multidimensional naar Listbuild. 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.