Index: EWORDS.mac.rou =================================================================== diff -u -r48107 -r48109 --- EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 48107) +++ EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 48109) @@ -465,6 +465,7 @@ ; SAVE(NoAsk) New R,Ok,Count,VerzW,VerzDat,DOutDate,DOutTime,VerzZ,LevAdr,CONSNr,Send,ORDNr,Check,Rembours,ChkBeletDone,OLU,LijnRec,ReturnLocal + New PickingOpdrachtInfoLijst Set Ok=0 @@ -482,31 +483,41 @@ Set R=$G(^HULP(%J,KLNr,"V")) Set DOutDate=$P($P(R,D,2),","),DOutTime=$P(R,D,3),VerzZ=$P(R,D,4),VerzDat=$P(R,D,5) Set ORDNr=$O(^HULP(%J,KLNr,"M","A","")) - Set VerzW = ##class(BL.Legacy.EWORDS.Save).GeefVerzendWijze(.KLNr, OrderNummer, R) + 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. // Achteraf maken we die piece leeg zodat de rest van de code zijn werk blijft doen. Set OLU = "" + Set PickingOpdrachtInfoLijst = ##class(%ListOfDataTypes).%New() + For { Set OLU=$O(^HULP(%J,KLNr,"M","A",ORDNr,OLU)) Quit:OLU="" - New LeverDatum, AantalVoorBackOrder + New LeverDatum, AantalVoorBackOrder, Aantal Set LijnRec = ^HULP(%J,KLNr,"M","A",ORDNr,OLU) Set AantalVoorBackOrder = $Piece(LijnRec,"\",2) If (AantalVoorBackOrder > 0) { - Set LeverDatum = $Piece(LijnRec,"\",3) /// gebruik eerst de LevWk die werd ingevuld. - - If $Piece(LijnRec,"\",4)'= "" { /// nagaan of de BoLevWk was ingevuld en anders die gebruiken. - Set LeverDatum = $Piece(LijnRec,"\",4) /// dan gebruik de BoLevWk die was ingevuld. + // gebruik eerst de LevWk die werd ingevuld. + Set LeverDatum = $Piece(LijnRec, "\", 3) + + // nagaan of de BoLevWk was ingevuld en anders die gebruiken. + If $Piece(LijnRec,"\",4)'= "" { + // dan gebruik de BoLevWk die was ingevuld. + Set LeverDatum = $Piece(LijnRec, "\", 4) } Do SPLITOLN^FLOWORD6(,ORDNr,^ORD("IU",ORDNr,OLU),AantalVoorBackOrder,LeverDatum,,.ReturnLocal) Set $Piece(LijnRec,"\",2)="" Set $Piece(^KOD(KLNr,"F",ORDNr,^ORD("IU",ORDNr,ReturnLocal("NewOLUNr"))),"\",53) = 1 Set ^HULP(%J,KLNr,"M","A",ORDNr,OLU) = LijnRec } + + Set Aantal = $Piece(LijnRec, "\", 1) + + // ^HULP data is reeds aangemaakt bij aanroepen van de SAVE(), we bewaren deze data in PickingOpdrachtInfo + Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(Aantal, LeverDatum, ORDNr, OLU)) } If 'DOutTime do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("DOutTime mag niet null zijn")) Index: BL/Legacy/EWORDS/PickingOpdrachtInfo.cls.xml =================================================================== diff -u --- BL/Legacy/EWORDS/PickingOpdrachtInfo.cls.xml (revision 0) +++ BL/Legacy/EWORDS/PickingOpdrachtInfo.cls.xml (revision 48109) @@ -0,0 +1,94 @@ + + + +TECH.RegisteredObject + + +%Decimal +1 + + + +%String +1 + + + +%String +1 + + + +%String +1 + + + +%String +1 + + + +Aantal:%Decimal,LeverDatum:%String,OrderNummer:%String,OrderLijnNummer:%String +1 +1 +%Status +1 + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +1 +%String + + + + + +