Index: FLOWORD7.mac.rou =================================================================== diff -u -r48846 -r48964 --- FLOWORD7.mac.rou (.../FLOWORD7.mac.rou) (revision 48846) +++ FLOWORD7.mac.rou (.../FLOWORD7.mac.rou) (revision 48964) @@ -2,10 +2,15 @@ #include BL.Derde.LevSpecifiek #include BL.Derde.KlantSpecifiek ; + BevestigdAXOrderSluitenActief() Quit ##class(TECH.Config.ConfigMgr).Instance().GeefBoolean("BevestigdAXOrderSluitenActief") ; +OrderLijnIsGeblokkeerd(InventTransId) + Quit '##class(AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository).%New().IsVrijVoorUpdateViaAxInventTransId(InventTransId) + ; + BUILDBGR(KLNr,AutoMb,OrdRef,PRNr,EDIORDNr,OrdTyp,FBRef) New R,Next,ORDNr,Aantal,LevTerm,Munt,BtwReg,NetBrut,LevVw,Land,VerzW,StockUpd New Text,BlockId,AfdrFakt @@ -130,9 +135,10 @@ New R,OLNr,PRNr,LEVNr,TOENr,TLNr,LijnKode,LijnTyp,BlockId,OrdToe,StockUpd,LinkType,Aantal,OLevWk,TLevWk New NoSa,IsStock,FysStock,InToelev,InOrder,MinBestH,LevTerm,GenPRNr,GrootVp,PrMunt,CorLevT,RALKleur New ToeMunt,OrdDat,ToeRef,KlKey,KlNaam,LevKey,NettoPr,BrutoPr,Netto,Bruto,Korting1,Korting2,GrOrde,TOELijnNr + New InventTransId Set OLNr=100 For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do - .Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),Aantal=$P(R,D,3) + .Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),Aantal=$P(R,D,3),InventTransId=$P(R,D,55) .Set OLevWk=$P(R,D,29) Set:OLevWk="" OLevWk=$P(R,D,25) .Set LijnKode=$P(R,D,17),BlockId=$P(R,D,18),TOENr=$P(R,D,27),TOELijnNr=$P(R,D,28) .Quit:TOENr @@ -147,6 +153,7 @@ ...If $P($G(^KPR(PRNr,"G")),D) Set GenPRNr=$P(^KPR(PRNr,0),D,3) I GenPRNr,$P($G(^KPR(GenPRNr,0)),D,3)="GENPROD" Quit ..Set R=^KPR(PRNr,1),IsStock=$P(R,D,20),R=^KPR(PRNr,2),InOrder=$P(R,D,9) ..Set R=^KPR(PRNr,$O(^KPR(PRNr,"J"))),LEVNr=$P(R,D),MinBestH=$P(R,D,6),PrMunt=$P(R,D,17) + ..Quit:(($$BevestigdAXOrderSluitenActief())&&(InventTransId'="")&&($$OrderLijnIsGeblokkeerd(InventTransId))) ..Quit:($$BevestigdAXOrderSluitenActief())&&((LEVNr'=$$$LevHalux)||IsStock) ..Set LevTerm=$P(R,D,7),GrootVp=$P(R,D,16) Set:'GrootVp GrootVp=1 ..If '($$BevestigdAXOrderSluitenActief()) Do @@ -329,11 +336,12 @@ ; ; Controle voorraad van de bouwstenen bij het sluiten van een order BSControl(ORDNr) - New R,KLNr,OLNr,OLUNr,PRNr,Aantal,Control,StockUpd + New R,KLNr,OLNr,OLUNr,PRNr,Aantal,Control,StockUpd,InventTransId Set KLNr=$P(^KO1(ORDNr,"F"),D),OLNr=100 Quit:KLNr=$$$KlantHalux ; Niet voor Halux For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do - . Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15) + . Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15),InventTransId=$P(R,D,55) + . Quit:((InventTransId'="")&&($$OrderLijnIsGeblokkeerd(InventTransId))) . Quit:'PRNr . Set StockUpd=$P(R,D,14)'["S" Set:StockUpd StockUpd=$P(R,D,14)'["Z" . Quit:'StockUpd