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