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
+
+