Index: EWORDS5.mac.rou =================================================================== diff -u -r49760 -r66124 --- EWORDS5.mac.rou (.../EWORDS5.mac.rou) (revision 49760) +++ EWORDS5.mac.rou (.../EWORDS5.mac.rou) (revision 66124) @@ -14,7 +14,7 @@ Quit Mark ; ; MarkOrd indien markering volledig order -MARKLINE(Ref,MarkOrd,Unmark,IsNodigControleerBezwaren = 1,GaVerder = 1) +MARKLINE(Ref,MarkOrd,Unmark,IsNodigControleerOrderBezwaren = 1,GaVerder = 1,LijnLeverdatumControleren=1) New R,ORDNr,OLNr,Aantal,OLUNr,PRNr,FysStock,ResWMS,PraStock,StockUpd,FirstMark,AskLink New DynTheoS,VerzW,LevWk,KlOLNr,InGroep,TOENr @@ -30,10 +30,13 @@ If $G(OrderStaatVolledigBijVanHoeckeArray) = "" { Set OrderStaatVolledigBijVanHoeckeArray = ##class(%ArrayOfDataTypes).%New() } - If 'Unmark && IsNodigControleerBezwaren { - Set GaVerder = $$GaVerderIndienBezwarenTegenOrderLijnDoorsturen(ORDNr,OLNr) + If $$$Not(Unmark){ + if IsNodigControleerOrderBezwaren { + Set GaVerder = $$GaVerderIndienBezwarenOrderDoorsturen(ORDNr) + } + Set:(GaVerder & LijnLeverdatumControleren) GaVerder = $$GaVerderIndienBezwarenOrderLijnDoorsturen(ORDNr,OLNr,.LijnLeverdatumControleren) } - Quit:('GaVerder) + Quit:($$$Not(GaVerder)) Set PRNr=$P(R,D,12),Aantal=$P(R,D,13) Set FysStock=$P(R,D,14),PraStock=$P(R,D,15),DynTheoS=$P(R,D,16) @@ -87,8 +90,20 @@ If '$G(InGroep) Do LINE^vhLIST(.LD,LD("SELECT")) Do:MarkOrd'=1 MOVE^vhLIST(.LD,"DO","") Quit ; + +GaVerderIndienBezwarenOrderDoorsturen(OrderID) + New DoorsturenOrderPickingService,Bezwaren,BezwarenBericht,GaVerder + #dim GaVerder As %Boolean = 1 + Set DoorsturenOrderPickingService = ##class(APPS.OrderUitvoering.DoorsturenOrderPickingService).%New() + #dim Bezwaren As %ArrayOfDataTypes = DoorsturenOrderPickingService.GeefBezwarenTegenOrderDoorsturen(OrderID) + If Bezwaren.Count() > 0 { + Set BezwarenBericht = "" + For BezwarenCnt=1:1:Bezwaren.Count() Set BezwarenBericht = BezwarenBericht_Bezwaren.GetAt(BezwarenCnt)_$C(13,10) + Set GaVerder = $$JaNee^vhTXTPOP("Bezwaren",BezwarenBericht) + } + Quit GaVerder -GaVerderIndienBezwarenTegenOrderLijnDoorsturen(OrderID, OrderLijnID) +GaVerderIndienBezwarenOrderLijnDoorsturen(OrderID, OrderLijnID,LijnLeverdatumControleren=1) New DoorsturenOrderPickingService,Bezwaren,BezwarenBericht,GaVerder #dim GaVerder As %Boolean = 1 Set DoorsturenOrderPickingService = ##class(APPS.OrderUitvoering.DoorsturenOrderPickingService).%New() @@ -97,14 +112,15 @@ Set BezwarenBericht = "" For BezwarenCnt=1:1:Bezwaren.Count() Set BezwarenBericht = BezwarenBericht_Bezwaren.GetAt(BezwarenCnt)_$C(13,10) Set GaVerder = $$JaNee^vhTXTPOP("Bezwaren",BezwarenBericht) + Set LijnLeverdatumControleren = $$$Not(GaVerder) ; Als er verdergegaan word, volgende keer niet meer vragen } Quit GaVerder MARKORD(Ref) New R,ORDNr,OLNr,Quit,Marked,OLUNr,StartRef,VerzW,AskLink New OrderStaatVolledigBijVanHoeckeArray - New IsNodigControleerBezwaren, GaVerder, IsOrderVolledigGemarkeerd - + New IsNodigControleerOrderBezwaren, GaVerder, IsOrderVolledigGemarkeerd, LijnLeverdatumControleren + Set OrderStaatVolledigBijVanHoeckeArray = ##class(%ArrayOfDataTypes).%New() Set StartRef = Ref Set R = ^HULP(%J,KLNr,"O",Ref) @@ -119,11 +135,12 @@ If '$D(^HULP(%J,KLNr,"M")),VerzW'=$P($G(^HULP(%J,KLNr,"V")),D) Do MODVERZW^EWORDS(VerzW) #dim IsOrderVolledigGemarkeerd As %Boolean = $$$True - #dim IsNodigControleerBezwaren As %Boolean = $$$True + #dim IsNodigControleerOrderBezwaren As %Boolean = $$$True #dim GaVerder As %Boolean = $$$True If $$CUMORD^EWORDS3(.Ref) Do . If 'Marked,$$CHKLINK(ORDNr) Set AskLink=$$ASKLINK(ORDNr) If AskLink'=ORDNr Do:AskLink'="A" SERIE("LINK",ORDNr,"L") Quit + . Set LijnLeverdatumControleren = 1 . For Set Ref=$O(^HULP(%J,KLNr,"O",Ref)) Quit:Ref="" Do Quit:Quit . . Quit:$$$Not(GaVerder) . . Set R = ^HULP(%J, KLNr, "O", Ref) @@ -132,8 +149,8 @@ . . Set OLUNr = $Piece(R, D, 19) . . Quit:Quit . . If Marked!('Marked&'$D(^HULP(%J,KLNr,"M","A",ORDNr,OLUNr))) Do - . . . Do MARKLINE(.Ref,1+Marked,Marked,IsNodigControleerBezwaren,.GaVerder) - . . . Set IsNodigControleerBezwaren = 0 + . . . Do MARKLINE(.Ref,1+Marked,Marked,IsNodigControleerOrderBezwaren,.GaVerder,.LijnLeverdatumControleren) + . . . Set IsNodigControleerOrderBezwaren = 0 . . Else Do LINE^vhLIST(.LD,LD("SELECT")) Do MOVE^vhLIST(.LD,"DO","") . Do:Marked LINE^vhLIST(.LD,LD("SELECT")) Do MOVE^vhLIST(.LD,"DO","") . If LD("SELECT")=LD("MAX") Set LD("SELECT")=StartRef Do LINE^vhLIST(.LD,LD("SELECT"))