Index: DOM/PM/impl/DataM/DataMProduct.cls.xml =================================================================== diff -u -r50464 -r57799 --- DOM/PM/impl/DataM/DataMProduct.cls.xml (.../DataMProduct.cls.xml) (revision 50464) +++ DOM/PM/impl/DataM/DataMProduct.cls.xml (.../DataMProduct.cls.xml) (revision 57799) @@ -132,14 +132,18 @@ Do ##class(vhLib.OldSchool).InitVars() Do ..Valideer() - #dim IsGewijzigdProduct, IsGewijzigdeNode As %Boolean = 0 - #Dim RecalcProduktNodig as %Boolean = ..DataJ.IsGewijzigd() // check voor gewijzigde leverancier ? -> subscript van de j-node wijzigt dan. + #dim IsGewijzigdProduct As %Boolean = 0 + #dim IsGewijzigdeNode As %Boolean = 0 + #dim BestaatSubscript As %Boolean = 0 + #dim IsJNodeGewijzigd As %Boolean = ..DataJ.IsGewijzigd() // Check voor gewijzigde leverancier ? -> subscript van de J-node wijzigt dan => verouderde J-node moet gekilld worden. + #Dim RecalcProduktNodig as %Boolean = IsJNodeGewijzigd // Check voor gewijzigde leverancier ? -> subscript van de J-node wijzigt dan => aanmaak nieuwe J-node. #dim NodeIndex As %String For NodeIndex = 0,1,2,3,4,5,15,"I1","J","G" { Set IsGewijzigdeNode = $method($property($this,"Data"_NodeIndex),"IsGewijzigd") Set:IsGewijzigdProduct=0 IsGewijzigdProduct = IsGewijzigdeNode - If ((IsGewijzigdeNode) && ($$$Not(..IsNieuwProduct))) { + Set BestaatSubscript = $Data(^KPR(..ProductNummer,$Select(NodeIndex="J":"J"_$Piece(..GeefLeverancierID(),"||",2),1:NodeIndex))) + If (BestaatSubscript && IsGewijzigdeNode && ($$$Not(..IsNieuwProduct))) { #dim OrigineleGegevens As %String = ^KPR(..ProductNummer,$Select(NodeIndex="J":"J"_$Piece(..GeefLeverancierID(),"||",2),1:NodeIndex)) #dim Node As TECH.Persistentie.GlobalNode = ..GeefNode(NodeIndex) Do ..LogWijzigingen(..ProductNummer, NodeIndex, OrigineleGegevens, Node.GeefDelimitedString()) @@ -151,6 +155,10 @@ Do $method($property($this,"Data"_NodeIndex),"Save") } Set ^KPR(..ProductNummer, "J") = "" + If IsJNodeGewijzigd { + Do ..KuisOpVerouderdeJNodes() + } + Do BLDIND^PRODUKT2(..ProductNummer) if RecalcProduktNodig{ @@ -162,7 +170,8 @@ Do Mail.ZetVerzender($$$SystemMail("Product Synchronizatie AX - Admin")) Do Mail.VoegToeOntvanger("PM_Administratie@vanhoecke.be") Do Mail.ZetOnderwerp("Prijswijziging van product met nummer "_ ..ProductNummer) - #Dim MeldingTekst as %String = "Voor product '" _ ..ProductNummer _ "' is de prijs gewijzigd van "_ CifPPLOld _" naar "_ CifPPLNew _"." + #Dim MeldingTekst as %String = "Voor product '" _ ..ProductNummer _ "' is de prijs gewijzigd van "_ CifPPLOld _" naar "_ CifPPLNew _". " + Set MeldingTekst = MeldingTekst _ "Verdere specificatie voor dit product: '"_..GeefIdentNr()_"' - '"_..GeefKorttekst()_"'. " Do Mail.ZetInhoud("Beste,"_ $$$CRLF _ $$$CRLF _ MeldingTekst) Do ..MailAPI.VerstuurMail(Mail) Do ##class(vhLib.Logger).%New().Warning("Product aanpassing (wsl AX synchronizatie)",MeldingTekst) @@ -309,11 +318,11 @@ { If ('IsSchaduw) { - Set Bouwsteen = ##class(DOM.PM.Bouwstenen.Bouwsteen).%OpenId(..ProductNummer_"||"_Key) + Set Bouwsteen = ##class(DOM.PM.Bouwstenen.Bouwsteen).%OpenId(..ProductNummer_"||"_Key, 0) } Else { - Set Bouwsteen = ##class(DOM.PM.Bouwstenen.SchBouwsteen).%OpenId(..ProductNummer_"||"_Key) + Set Bouwsteen = ##class(DOM.PM.Bouwstenen.SchBouwsteen).%OpenId(..ProductNummer_"||"_Key, 0) } If (Bouwsteen.Type = Type) { @@ -970,6 +979,18 @@ ]]> + +BTWCode:%String + + + + +GenerischProductID:%String + + + 1 %String @@ -1132,9 +1153,42 @@ ProductNummer:%Integer,BIndex:%Integer,OudGegeven:%String,NieuwGegeven:%String 1 -0 + + + +1 + + + + +ProductNummer:%String +1 +%ListOfDataTypes + +