Index: FLOWORD2.mac.rou =================================================================== diff -u -r762 -r2782 --- FLOWORD2.mac.rou (.../FLOWORD2.mac.rou) (revision 762) +++ FLOWORD2.mac.rou (.../FLOWORD2.mac.rou) (revision 2782) @@ -40,6 +40,7 @@ .If $L($G(FBRef)),$P(Rec,D,2) Set $P(@FBRef@($P(Rec,D,2)),D,2)=ORDNr .Do SWNODE(KLNr,ORDNr,OLNr) .Do LRECALC(KLNr,ORDNr,OLNr,Show) + .Do ProductOrderLijnGemaakt(KLNr,ORDNr,OLNr) .If $D(UL),$D(UD),UL'>$P(UD,D,2) Set UL=UL+1 .If Show Do NIEUWV^PROC3(OLNr) Quit @@ -320,6 +321,7 @@ Do KWNODE(KLNr,ORDNr,OLNr) Set $P(^KOD(KLNr,"F",ORDNr,OLNr),D,2)=NPRNr Do SWNODE(KLNr,ORDNr,OLNr) + Do ProductOrderLijnGewijzigd^FLOWORD2(KLNr,ORDNr,OLNr,##class(DOM.VKP.enu.ProductOrderLijnWijzigingType).Product()) Set Recalc=0 ;$$ASKL^vhINP("FLOW","RECALC") If 'Recalc Do EL^PROC If Recalc Do LRECALC(KLNr,ORDNr,OLNr,1) @@ -675,6 +677,43 @@ . Do TINSERT("B",OLNr,Tekst,0,BlockId) Quit ; + ; Event bij aanmaken van een orderlijn +ProductOrderLijnGemaakt(KlantID,OrderID,OrderLijnID) + New Rec,ProductID,OrderLijnCode,ProductOrderLijnEventData,ProductOrderLijnGemaaktEvent + Set Rec=^KOD(KlantID,"F",OrderID,OrderLijnID),ProductID=$P(Rec,D,2),OrderLijnCode=$$GeefOrderLijnCode^FLOWORD(KlantID,OrderID,OrderLijnID) + If ProductID{ + Set ProductOrderLijnEventData = ##class(DOM.VKP.event.ProductOrderLijnEventData).%New(OrderID, OrderLijnCode, KlantID, ProductID) + Set ProductOrderLijnGemaaktEvent = ##class(DOM.VKP.event.ProductOrderLijnGemaakt).%New(ProductOrderLijnEventData) + Do ##class(TECH.PubSub.OrchestrationContext).GetEventRaiser().RaiseEventAsync(ProductOrderLijnGemaaktEvent) + } + Quit + ; + ; Event bij verwijderen van een orderlijn +ProductOrderLijnAnnulatie(KlantID,OrderID,OrderLijnID) + New Rec,ProductID,OrderLijnCode,ProductOrderLijnEventData,ProductOrderLijnAnnulatieEvent + Set Rec=^KOD(KlantID,"F",OrderID,OrderLijnID),ProductID=$P(Rec,D,2),OrderLijnCode=$$GeefOrderLijnCode^FLOWORD(KlantID,OrderID,OrderLijnID) + If ProductID{ + Set ProductOrderLijnEventData = ##class(DOM.VKP.event.ProductOrderLijnEventData).%New(OrderID, OrderLijnCode, KlantID, ProductID) + Set ProductOrderLijnAnnulatieEvent = ##class(DOM.VKP.event.ProductOrderLijnAnnulatie).%New(ProductOrderLijnEventData) + Do ##class(TECH.PubSub.OrchestrationContext).GetEventRaiser().RaiseEventAsync(ProductOrderLijnAnnulatieEvent) + } + Quit + ; + ; Event bij wijzigen van een orderlijn +ProductOrderLijnGewijzigd(KlantID,OrderID,OrderLijnID,WijzigingType) + New Rec,ProductID,OrderLijnCode,ProductOrderLijnEventData,ProductOrderLijnAnnulatieEvent + Set Rec=^KOD(KlantID,"F",OrderID,OrderLijnID),ProductID=$P(Rec,D,2),OrderLijnCode=$$GeefOrderLijnCode^FLOWORD(KlantID,OrderID,OrderLijnID) + If ProductID{ + Set WijzigingTypes = ##class(DOM.VKP.impl.ProductOrderLijnWijzigingTypes).%New() + Do WijzigingTypes.Insert(WijzigingType) + Set ProductOrderLijnWijzigEventData = ##class(DOM.VKP.event.ProductOrderLijnWijzigEventData).%New(OrderID, OrderLijnCode, KlantID, ProductID, WijzigingTypes) + Set ProductOrderLijnGewijzigdEvent = ##class(DOM.VKP.event.ProductOrderLijnGewijzigd).%New(ProductOrderLijnWijzigEventData) + Do ##class(TECH.PubSub.OrchestrationContext).GetEventRaiser().RaiseEventAsync(ProductOrderLijnGewijzigdEvent) + } + Quit + ; + + ; ; Ophalen taalafhankelijke tekst TXT(Ref,Piece,Taal) If '$D(Piece) Set Piece=2