Index: APPS/PM/OL/ProductKenmerken.cls.xml
===================================================================
diff -u -r1771 -r1775
--- APPS/PM/OL/ProductKenmerken.cls.xml (.../ProductKenmerken.cls.xml) (revision 1771)
+++ APPS/PM/OL/ProductKenmerken.cls.xml (.../ProductKenmerken.cls.xml) (revision 1775)
@@ -256,7 +256,7 @@
Set KTPatroon=KTPatroonFactory.GetKortTekstPatroon(PatroonCode)
Set ..KortTekstPatroon=KTPatroon
;w PatroonCode_" voor KT "_..KortTekst,!
- ;d WL^vhDBG("KortTekstPatroon : Code= "_KTPatroon.PatroonCode_" "_..KortTekst) ; _KTPatroon.KenmerkInKortTekstDefsToString())
+ ;d WLIP^vhDBG(191,"KortTekstPatroon : Code= "_KTPatroon.PatroonCode_" "_..KortTekst) ; _KTPatroon.KenmerkInKortTekstDefsToString())
Quit
]]>
@@ -337,7 +337,6 @@
Set Varianten = ##class(%ListOfDataTypes).%New()
#define CvtMasterToVarKM(%m) $Case(%m, "MasterVoorDieptes":$$$varkmDiepte, "MasterVoorBreedtes":$$$varkmBreedte, "MasterVoorKleuren":$$$varkmKleur, "MasterVoorWandDiktes":$$$varkmWandDikte)
-
If ..GeneratieType=$$$gtMaster {
// Patroon voor KortTekst om varianten te kunnen opzoeken
Set KTPatroonFactory=##class(KortTekstPatroonFactory).%New()
@@ -353,7 +352,7 @@
Set lbExcludePRNrs=$LB(..PRNr)
Set PotentieleVarianten=..KortTekstPatroon.ZoekMatches(..KortTekst,..VariabeleKenmerken,lbExcludePRNrs)
d WLIP^vhDBG(127,"PotentieleVarianten aantal : "_PotentieleVarianten.Count())
- Quit:(PotentieleVarianten.Count()=0) $$$ERROR($$$GeneralError,"Geen varianten gevonden voor deze master ("_..UnID_" "_..KortTekst_" #KT="_(0)_")") ; Master voor 0 producten
+ Quit:(PotentieleVarianten.Count()=0) Varianten // $$$ERROR($$$GeneralError,"Geen varianten gevonden voor deze master ("_..UnID_" "_..KortTekst_" #KT="_(0)_")") ; Master voor 0 producten
Set sc=$$$OK
Set CntVarianten=0
Index: vhConsistency/Checks/MastersVarianten.cls.xml
===================================================================
diff -u
--- vhConsistency/Checks/MastersVarianten.cls.xml (revision 0)
+++ vhConsistency/Checks/MastersVarianten.cls.xml (revision 1775)
@@ -0,0 +1,60 @@
+
+
+
+1
+vhConsistency.Check
+0
+
+
+%Status
+
+
+
+
Index: vhConsistency/Checks/Kenmerken.cls.xml
===================================================================
diff -u
--- vhConsistency/Checks/Kenmerken.cls.xml (revision 0)
+++ vhConsistency/Checks/Kenmerken.cls.xml (revision 1775)
@@ -0,0 +1,9 @@
+
+
+
+
+
+1
+vhConsistency.Check
+
+
Index: vhUnitTest/APPS/PM/TestProductService.cls.xml
===================================================================
diff -u -r1763 -r1775
--- vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1763)
+++ vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1775)
@@ -20,7 +20,7 @@
do ..objTestData.CreeerTestData()
do $$$AssertEquals($data(^KPR(1001,0)),1,"Producten aangemaakt")
-
+
quit $$$OK
]]>
Index: vhUnitTest/DOM/PM/TestProductKenmerkenSets.cls.xml
===================================================================
diff -u -r1551 -r1775
--- vhUnitTest/DOM/PM/TestProductKenmerkenSets.cls.xml (.../TestProductKenmerkenSets.cls.xml) (revision 1551)
+++ vhUnitTest/DOM/PM/TestProductKenmerkenSets.cls.xml (.../TestProductKenmerkenSets.cls.xml) (revision 1775)
@@ -18,8 +18,8 @@
%Status
DOM.PM.Product
+
+1
+TECH.Iterator
+
+
1
Nr:%Integer
@@ -58,15 +63,18 @@
-Geef de enige kenmerkenset van het opgegeven PRNr
+Geef de kenmerkenset van het opgegeven PRNr.
+Deze mag ENKEL gebruikt worden indien zeker geweten is dat dit product geen multiples heeft.
+Indien dit niet zeker is (of de code gaat expliciet zelf controleren op multiple of non-multiple) dan moet
+de method GeefProductKenmerkenSets gebruikt worden.
1
PRNr:%Integer,KenmerkenGroep:%String
DOM.PM.ProductKenmerkenSet
-Geef meerdere kenmerkenset van het opgegeven PRNr, bij multiples
+Geeft alle kenmerkensets van het gevraagde product. Maakt zelf onderscheid tussen multiple en non-multiple.
1
PRNr:%Integer,KenmerkenGroep:%String
DOM.PM.ProductKenmerkenSets
Index: DOM/PM/ProductKenmerkenSets.cls.xml
===================================================================
diff -u -r1507 -r1775
--- DOM/PM/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1507)
+++ DOM/PM/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1775)
@@ -7,6 +7,11 @@
1
0
+
+1
+%Integer
+
+
1
%String
@@ -22,7 +27,7 @@
Geeft een iterator terug van ProductKenmerkenSet
1
-TECH.ListIterator
+TECH.Iterator
Index: DOM/PM/impl/DataM/DataMProductAPI.cls.xml
===================================================================
diff -u -r1771 -r1775
--- DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 1771)
+++ DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 1775)
@@ -79,6 +79,12 @@
]]>
+
+TECH.Iterator
+
+
+
ProductNummer:%Integer
DOM.PM.SamengesteldProduct
Index: vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml
===================================================================
diff -u -r1771 -r1775
--- vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1771)
+++ vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1775)
@@ -21,8 +21,8 @@
%Status
+
+
+1
+TECH.Iterator,%RegisteredObject
+0
+
+
+%Integer
+1
+
+
+
+DOM.PM.ProductAPI
+1
+
+
+
+1
+1
+%Status
+
+
+
+
+
+Returns the next element in the iteration.
+Only returns a valid element if HasNext() returns true
+Causes an error if HasNext() returns false
+%CacheString
+
+
+
+
+1
+
+
+
+
+
+Returns true if the iteration has more elements.
+%Boolean
+
+
+
+
Index: APPS/PM/OL/MasterAutoGenerator.cls.xml
===================================================================
diff -u -r1771 -r1775
--- APPS/PM/OL/MasterAutoGenerator.cls.xml (.../MasterAutoGenerator.cls.xml) (revision 1771)
+++ APPS/PM/OL/MasterAutoGenerator.cls.xml (.../MasterAutoGenerator.cls.xml) (revision 1775)
@@ -126,14 +126,11 @@
UnID:%String
%ListOfDataTypes
0) {
- Set KenmerkenIt=##class(TECH.ListIterator).%New(KenmerkenSet.Kenmerken)
- While (KenmerkenIt.HasNext()) {
- Set ProductKenmerk=KenmerkenIt.Next()
- Set KenmerkNaam=ProductKenmerk.Naam
- Set KenmerkWaarden=OLKenmerken.GetKenmerkenPublic(KenmerkNaam) ; Waarden is een $LB()
- If ($LL(KenmerkWaarden)=1)&&(KenmerkNaam'?1(1"Diepte",1"WandDikte",1"WebSites",1"LadeFamilie",1"KleurFilter")) {
- // Voor alle kenmerken, behalve bovenvernoemde in pattern-match, worden de single-value waarden omgezet van $LB() naar string.
- Set KenmerkWaarden=$LG(KenmerkWaarden,1)
- }
- Do ProdKM.Kenmerken.SetAt(KenmerkWaarden,KenmerkNaam)
+ Set KenmerkenIt = KenmerkenSet.GeefKenmerkenIterator()
+ While (KenmerkenIt.HasNext()) {
+ Set KenmerkWaarden=KenmerkenIt.Next()
+ Set KenmerkNaam=KenmerkenIt.Key() ; Waarden is een $LB()
+ If ($LL(KenmerkWaarden)=1)&&(KenmerkNaam'?1(1"Diepte",1"WandDikte",1"WebSites",1"LadeFamilie",1"KleurFilter")) {
+ // Voor alle kenmerken, behalve bovenvernoemde in pattern-match, worden de single-value waarden omgezet van $LB() naar string.
+ Set KenmerkWaarden=$LG(KenmerkWaarden,1)
}
- Set ProdKM.GeneratieType = KenmerkenSet.GeneratieType
+ Do ProdKM.Kenmerken.SetAt(KenmerkWaarden,KenmerkNaam)
}
+ Set ProdKM.GeneratieType = KenmerkenSet.GeefKenmerkWaarden("GeneratieType").GetAt(1)
// Vervolledigen van de Kenmerken
Set sc=ProdKM.VervolledigKenmerken()
Index: vhConsistency/ConsistencyCheck.cls.xml
===================================================================
diff -u -r1734 -r1775
--- vhConsistency/ConsistencyCheck.cls.xml (.../ConsistencyCheck.cls.xml) (revision 1734)
+++ vhConsistency/ConsistencyCheck.cls.xml (.../ConsistencyCheck.cls.xml) (revision 1775)
@@ -51,7 +51,7 @@
Set $ZTRAP = ""
}
Continue
-ErrHandling Set CheckGefaald = 1 Do ..Meldingen.Write(ClassName_" : GEFAALD "_$C(13,10,9)_$ZE_$C(13,10))
+ErrHandling Set CheckGefaald = 1 Do ..Meldingen.Write(ClassName_" : GEFAALD "_$C(13,10,9)_##class(TECH.ExceptionHandler).Catch().ToString()_$C(13,10))
}
If (CheckGefaald || ToonAlles)
Index: DOM/PM/impl/ProductKenmerkenSet.cls.xml
===================================================================
diff -u -r1743 -r1775
--- DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1743)
+++ DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1775)
@@ -28,6 +28,11 @@
1
+
+%ArrayOfDataTypes
+1
+
+
KenmerkGroep:%String,PRNr:%Integer,UnID:%String
1
@@ -41,6 +46,24 @@
]]>
+
+TECH.Iterator
+
+
+
KenmerkNaam:%String
%ListOfDataTypes
Index: DOM/PM/impl/ProductKenmerkenSets.cls.xml
===================================================================
diff -u -r1727 -r1775
--- DOM/PM/impl/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1727)
+++ DOM/PM/impl/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1775)
@@ -17,6 +17,11 @@
1
+
+%ListOfObjects
+1
+
+
KenmerkGroep:%String,PRNr:%Integer
1
@@ -32,6 +37,14 @@
]]>
+
+%Integer
+
+
+
%String
+
+1
+0)
+ {
+ Set MultiplesIt = ##class(TECH.ListIterator).%New(Multiples)
+ While MultiplesIt.HasNext(){
+ Set UnID = MultiplesIt.Next()
+ Do ..KenmerkenSets.Insert(##class(DOM.PM.impl.ProductKenmerkenSet).%New(..KenmerkGroep,..PRNr,UnID))
+ }
+ }
+ Else
+ {
+ Do ..KenmerkenSets.Insert(##class(DOM.PM.impl.ProductKenmerkenSet).%New(..KenmerkGroep,..PRNr,..PRNr))
+ }
+ }
+]]>
+
+
Geeft een iterator terug van ProductKenmerkenSet.
Met voor iedere multiple een
-TECH.ListIterator
+TECH.Iterator
@@ -104,7 +132,7 @@
BronUnID:%String
%ListOfDataTypes
0) {
for i=1:1:$ll(MultipleNrs)
{
Index: DOM/PM/ProductKenmerkenSet.cls.xml
===================================================================
diff -u -r1727 -r1775
--- DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1727)
+++ DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1775)
@@ -7,6 +7,13 @@
1
0
+
+
+Geeft een iterator terug met alle kenmerken. Key/value pair.
+1
+TECH.Iterator
+
+
1
KenmerkNaam:%String
Index: vhConsistency/Checks/Multiples.cls.xml
===================================================================
diff -u
--- vhConsistency/Checks/Multiples.cls.xml (revision 0)
+++ vhConsistency/Checks/Multiples.cls.xml (revision 1775)
@@ -0,0 +1,48 @@
+
+
+
+1
+vhConsistency.Check
+0
+
+
+%Status
+ 0)
+ {
+ Set i = 1
+
+ If ($Piece(Multiples.GetAt(1),".",2)'="1")
+ {
+ Set Status = $$$ERROR($$$GeneralError,"Fout")
+ Do ..VoegMeldingToe("Product "_Product.GeefKorttekst()_" ("_Product.GeefPRNr()_") heeft multiples die niet starten met nummer 1.")
+ }
+ ElseIf (Multiples.Count() > 1)
+ {
+ While (i < Multiples.Count()) && ($Piece(Multiples.GetAt(i),".",2) = ($Piece(Multiples.GetAt(i+1),".",2) - 1))
+ {
+ Set i = i + 1
+ }
+
+ If (i < Multiples.Count())
+ {
+ Set Status = $$$ERROR($$$GeneralError,"Fout")
+ Do ..VoegMeldingToe("Product "_Product.GeefKorttekst()_" ("_Product.GeefPRNr()_") heeft multiples met gaten ("_##class(TECH.ListUtils).ListToPieces(Multiples,",")_").")
+ }
+ }
+ }
+ }
+ Quit Status
+]]>
+
+
+