Index: EWORDS.mac.rou =================================================================== diff -u -r50594 -r51245 --- EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 50594) +++ EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 51245) @@ -468,16 +468,16 @@ SAVE(NoAsk) New R,Ok,Count,VerzW,VerzDat,DOutDate,DOutTime,VerzZ,LevAdr,CONSNr,Send,ORDNr,Check,Rembours,ChkBeletDone,OLU,LijnRec,ReturnLocal New PickingOpdrachtInfo, PickingOpdrachtInfoLijst, PickingOpdrachtInfoIterator, FilterIterator + New Tekst1, Tekst2, OnvolledigOrderPopup, PopupDetail, KKLNode3 Set Ok = $$$False - If $Data(^HULP(%J,KLNr,"M","A")) { - Set Ok=$$CHKMUNT(%J,KLNr,$Get(NoAsk)) + Set Ok=$$CHKMUNT(%J,KLNr,$Get(NoAsk)) If Ok,KLNr'=$$$KlantHalux Do AnderTransport^EWORDS5(%J,KLNr) ; altijd uitvoeren niet afhankelijk van NoAsk param, niet voor Halux. If Ok Set Ok=$Get(NoAsk) Set:'Ok Ok=$$^vhTXTPOP("EWORDS","SAVE") If (Ok) { - Set R = $Get(^HULP(%J,KLNr,"V")) + Set R = $Get(^HULP(%J,KLNr,"V")) Set DOutDate = $Piece($Piece(R,D,2),",") Set DOutTime = $Piece(R,D,3) Set VerzZ = $Piece(R,D,4) @@ -495,34 +495,44 @@ For { Set ORDNr=$Order(^HULP(%J,KLNr,"M","A",ORDNr)) Quit:(""=ORDNr) - For { - Set OLU=$Order(^HULP(%J,KLNr,"M","A",ORDNr,OLU)) - Quit:OLU="" - - New LeverDatum, AantalVoorBackOrder, Aantal - Set LijnRec = ^HULP(%J,KLNr,"M","A",ORDNr,OLU) - Set AantalVoorBackOrder = $Piece(LijnRec,"\",2) - Set LeverDatum = $Piece(LijnRec, "\", 3) // gebruik de ingevulde LevWk - - If (AantalVoorBackOrder > 0) { - // gebruik de BoLevWk indien ingevuld - If $$$Not($Piece(LijnRec, "\", 4) = "") { - Set LeverDatum = $Piece(LijnRec, "\", 4) + Set KKLNode3=^KKL(^KK1(KLNr),3) + Set Rembours=$P(KKLNode3,"\") + If (Rembours && ($$$Not(##class(CHUI.VKP.OrderIngave.OrderControle).%New().IsOrderVolledigGemarkeerd(%J,KLNr,ORDNr)))) { + Set Tekst1 = "Omdat het remboursbedrag van deelleveringen niet kan berekend worden, is het niet toegelaten om orders gedeeltelijk door te sturen voor picking. " + Set Tekst2 = "U kan in AX het order splitsen in 2 en dan 1 van die delen doorsturen voor picking." + Set PopupDetail = Tekst1_Tekst2 + Set OnvolledigOrderPopup = $$Boodschap^vhTXTPOP(PopupDetail) + Kill ^HULP(%J, KLNr, "M", "A") + Quit + } Else { + For { + Set OLU=$Order(^HULP(%J,KLNr,"M","A",ORDNr,OLU)) + Quit:OLU="" + + New LeverDatum, AantalVoorBackOrder, Aantal + Set LijnRec = ^HULP(%J,KLNr,"M","A",ORDNr,OLU) + Set AantalVoorBackOrder = $Piece(LijnRec,"\",2) + Set LeverDatum = $Piece(LijnRec, "\", 3) // gebruik de ingevulde LevWk + + If (AantalVoorBackOrder > 0) { + // gebruik de BoLevWk indien ingevuld + If $$$Not($Piece(LijnRec, "\", 4) = "") { + 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 } - 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, aangemaakt v��r aanroepen van SAVE(), bijhouden in PickingOpdrachtInfoLijst + Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(Aantal, LeverDatum, ORDNr, OLU)) } - - 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)) } } - // Alle bestaande ^HULP-nodes voor opgegeven KlantNummer en OrderNummer verwijderen Kill ^HULP(%J, KLNr, "M", "A")