Index: EWORDS.mac.rou =================================================================== diff -u -r50374 -r50432 --- EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 50374) +++ EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 50432) @@ -483,6 +483,7 @@ Set VerzZ = $Piece(R,D,4) Set VerzDat = $Piece(R,D,5) Set ORDNr = $Order(^HULP(%J,KLNr,"M","A","")) + Do ##class(vhLib.Logger).%New("SAVE^EWORDS").Debug("Start opmaken pickingopdracht", "ORDNr='"_ORDNr_"'") Set VerzW = ##class(BL.Legacy.EWORDS.Save).GeefVerzendWijze(.KLNr, ORDNr, R) // We gaan nagaan of er backorderlijnen moeten gesplitst worden. Indien de 2de piece is ingevuld moet die gebruikt worden als BO aantal. @@ -514,11 +515,11 @@ Set Aantal = $Piece(LijnRec, "\", 1) // ^HULP data, aangemaakt v��r aanroepen van SAVE(), bijhouden in PickingOpdrachtInfoLijst - Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(Aantal, LeverDatum, ORDNr, OLU)) + Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(Aantal, LeverDatum, ORDNr, OLU)) // DEZE MOET IN EEN LOOP OVER ALLE ORDNr's STAAN. } // Alle bestaande ^HULP-nodes voor opgegeven KlantNummer en OrderNummer verwijderen - Kill ^HULP(%J, KLNr, "M", "A", ORDNr) + Kill ^HULP(%J, KLNr, "M", "A", ORDNr) // MOET EIGENLIJK KILL OVER ALLE ORDNr's HEEN ZIJN! If $$$Not(DOutTime) do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("DOutTime mag niet null zijn")) @@ -528,12 +529,14 @@ While (FilterIterator.HasNext()) { Set CONSNr = $$GETNUM^FLOW("KUL","KU1") Set PickingOpdrachtInfoIterator = ##class(BL.Legacy.EWORDS.PickingOpdrachtInfoIterator).%New(PickingOpdrachtInfoLijst, FilterIterator.Next()) + Do // Enkel uitvoeren als er PickingOpdrachten zijn die voldoen aan de Filter If (PickingOpdrachtInfoIterator.HasNext()) { While (PickingOpdrachtInfoIterator.HasNext()) { Set PickingOpdrachtInfo = PickingOpdrachtInfoIterator.Next() Set ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer()) = PickingOpdrachtInfo.GeefData() + Do ##class(vhLib.Logger).%New("SAVE^EWORDS").Debug("SAVE^EWORDS","Lijn registreren in ^HULP", "OrderLijnNummer='"_PickingOpdrachtInfo.GeefOrderLijnNummer()_"'") } Do BLDCONS^EWORDS2(KLNr,$Name(^HULP(%J,KLNr,"M")),CONSNr,$Piece(VerzW,";"),VerzDat,DOutDate_","_DOutTime,VerzZ,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen @@ -575,7 +578,8 @@ While (PickingOpdrachtInfoIterator.HasNext()) { Set PickingOpdrachtInfo = PickingOpdrachtInfoIterator.Next() - Kill ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer()) + Kill ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer()) // Waarom geen kill op ordernummer-niveau, of zelfs op (...M,A)-niveau? + // TBD: PickingOpdrachtInfoLijst.Remove(PickingOpdrachtInfo) ??? } } @@ -1048,4 +1052,3 @@ For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Set MagazijnBeschikbaar=$$MagazijnBeschikbaar^EWORDS6(ORDNr,0) Quit:'MagazijnBeschikbaar Quit MagazijnBeschikbaar ; -