Index: APPS/PM/dto/Kenm/ProductKenmerkenSet.cls.xml
===================================================================
diff -u -r2140 -r3672
--- APPS/PM/dto/Kenm/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 2140)
+++ APPS/PM/dto/Kenm/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 3672)
@@ -26,5 +26,9 @@
APPS.PM.enu.GeneratieType
+
+
+%Integer
+
Index: DOM/PM/impl/DataM/DataMProductAPI.cls.xml
===================================================================
diff -u -r3484 -r3672
--- DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 3484)
+++ DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 3672)
@@ -271,7 +271,8 @@
ProductenKenmerken:APPS.PM.dto.Kenm.ProductenKenmerken
%Status
Index: vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml
===================================================================
diff -u -r2197 -r3672
--- vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 2197)
+++ vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 3672)
@@ -178,6 +178,18 @@
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(2).Kenmerken.Count(),18,"Juiste aantal gedefineerde kenmerken ProductKenmerken2.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(2).Kenmerken.GetAt(1).Naam,"BOWeten","Kenmerknaam is correct ingevuld.")
+
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).GeneratieType,##class(APPS.PM.enu.GeneratieType).Single(),"Generatietype single")
+
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).GeneratieTypeInstanceVersion,1,"Single instance version")
+
+ Set PRNrs = ##class(%ListOfDataTypes).%New()
+ Do PRNrs.Insert(1018)
+ Set ProductenKenmerken = KenmerkenService.GeefProductKenmerken(PRNrs)
+
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).GeneratieType,##class(APPS.PM.enu.GeneratieType).Master(),"Generatietype master")
+
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).GeneratieTypeInstanceVersion,1,"Master instance version")
]]>
@@ -269,7 +281,8 @@
Set ProductenKenmerken = KenmerkenService.GeefProductKenmerken(PRNrs, KenmerkGroepen)
- Set Kenmerken = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken
+ Set Set1 = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1)
+ Set Kenmerken = Set1.Kenmerken
Do $$$AssertEquals(Kenmerken.GetAt(4).Waarden.GetAt(1),"Set","Er is een ingevulde eigenschap "_Kenmerken.GetAt(4).Naam_" : "_Kenmerken.GetAt(4).Waarden.GetAt(1)_"")
@@ -278,15 +291,26 @@
Do Waarden.Insert(NieuweWaarde)
Set Kenmerken.GetAt(4).Waarden = Waarden
+ Set Set1.GeneratieType = ##class(APPS.PM.enu.GeneratieType).Auto()
+
/// Set ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken = Kenmerken
Do KenmerkenService.BewaarProductenKenmerken(ProductenKenmerken)
k ProductenKenmerken, Kenmerken
///Opnieuw ophalen van kenmerken
Set ProductenKenmerken = KenmerkenService.GeefProductKenmerken(PRNrs, KenmerkGroepen)
- Set Kenmerken = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken
+ Set Set1 = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1)
+ Set Kenmerken = Set1.Kenmerken
Do $$$AssertEquals(Kenmerken.GetAt(4).Waarden.GetAt(1),NieuweWaarde,"Er is een ingevulde eigenschap "_Kenmerken.GetAt(4).Naam_" : "_NieuweWaarde_"")
+ Do $$$AssertEquals(Set1.GeneratieType, ##class(APPS.PM.enu.GeneratieType).Auto(),"Het generatietype is gewijzigd")
+
+ // Generatietype reverten
+ Set Set1.GeneratieType = ##class(APPS.PM.enu.GeneratieType).Single()
+ Do KenmerkenService.BewaarProductenKenmerken(ProductenKenmerken)
+ Set ProductenKenmerken = KenmerkenService.GeefProductKenmerken(PRNrs, KenmerkGroepen)
+ Set Set1 = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1)
+ Do $$$AssertEquals(Set1.GeneratieType, ##class(APPS.PM.enu.GeneratieType).Single(),"Het generatietype is gewijzigd")
// We gaan nog eens opnieuw bewaren. Dit zou geen save mogen trigger => zelfde waarden is geen save.
Index: APPS/PM/KenmerkenService.cls.xml
===================================================================
diff -u -r2629 -r3672
--- APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 2629)
+++ APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 3672)
@@ -144,7 +144,17 @@
Set ProductKenmerkenSet.UnID = UnID
Set ProductKenmerkenSet.ProductID = PRNr
/// GeneratieType
- Set ProductKenmerkenSet.GeneratieType = ..GeefGeneratieType(UnID)
+ If (##class(Prod.Kenmerk.DataDefinitie).%ExistsId(UnID_"||"_KenmerkGroep_"||GeneratieType"))
+ {
+ Set GeneratieTypeKenmerk = ##class(Prod.Kenmerk.DataDefinitie).%OpenId(UnID_"||"_KenmerkGroep_"||GeneratieType")
+ Set ProductKenmerkenSet.GeneratieType = GeneratieTypeKenmerk.Waarden.GetAt(1)
+ Set ProductKenmerkenSet.GeneratieTypeInstanceVersion = GeneratieTypeKenmerk.InstanceVersion
+ }
+ Else
+ {
+ Set ProductKenmerkenSet.GeneratieType = ##class(APPS.PM.enu.GeneratieType).Single()
+ Set ProductKenmerkenSet.GeneratieTypeInstanceVersion = 0
+ }
Do ProductKenmerkenGroep.Sets.Insert(ProductKenmerkenSet)
}
@@ -646,7 +656,7 @@
UnID:%String,KenmerkGroep:%String,KenmerkNaam:%String
1
-%String
+%List
-
-UnID:%String
-1
-APPS.PM.enu.GeneratieType
-
-
-
KenmerkGroep:%String
1
Index: DOM/PM/ProductKenmerkenSet.cls.xml
===================================================================
diff -u -r1826 -r3672
--- DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1826)
+++ DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 3672)
@@ -43,6 +43,7 @@
1
Waarden:%ListOfDataTypes,KenmerkNaam:%String,InstanceVersion:%Integer
+TECH.Events.KenmerkModifiedEventData