Gebruikstools voor de klassen van Kenmerk vhLib.Macro,Prod.Kenmerk %Library.RegisteredObject 0 KenmerkArray als .Local doorgeven.]]> 1 Groepeert de array van productnummers op Kenmerken, d.w.z.dat producten met gelijke sleutel, gelijke vereisten en andere gelijke kenmerken (behalve Kleur en WandDikte) gefilterd worden, i.e. herleid worden tot één basis(product). 1 Bouwt de array @Ref op met alle producten die voldoen aan de opgegeven criteria (voor de kenmerken of PRNrs). 1 Idem als ..PRLijstViaCriteria() , maar met extra functionaliteit: Bouwt de array @Ref op met alle producten die voldoen aan de opgegeven criteria (voor de kenmerken of PRNrs). Maakt een tussenstap: het Kenmerk "BeperkLastKM" wordt eerst afgesplitst, andere mogelijke waarden ervoor worden gedetecteerd en teruggeven via de array "arLastKMVal" (pass by reference) 1 Bij IncludeUndefs=1 worden producten waarbij een kenmerk niet gedefinieerd is (lees: niet van toepassing is), toch opgenomen in de lijst.]]> 1 Bouwt de array @Ref op met alle bestaande producten in CriteriaArray("PRNr") en/of CriteriaArray("UnID"). 1 0 0) @Ref@(UnID)="" Quit ]]> De volgorde van de sleutels wordt bepaald door lbSortKenm. Voorbeeld:
lbSortKenm = $LB("KenmC","KenmA","KenmD","KenmB")

levert volgende lijst: [Waarde van KenmC]\[Waarde van KenmA]\[Waarde van KenmD]\[Waarde van KenmB]
KWdnSort als .local doorgeven]]>
1 1 %String 0 Do ; determine KPos and add value to index-array arKPos(Kenm) . . Set KPos=$LF(lbSortKenm,Kenm) . . ;Set:(KPos=0) KPos=$Increment(arKPos) ; add to end. Commented because need only Kenm listed in lbSortKenm . . Set arKPos(Kenm)=KPos . ; Add Kenm-waarde-index to sBasis (if KPos>0) . Set:(KPos>0) $P(sBasis,Delimiter,KPos)=$$swdListValuesIndex(rs.Data("Waarden")) Do rs.%Close() Set rs="" Quit sBasis swdListValuesIndex(List) ; List splitsen in values en als ";"-gescheiden text teruggeven Quit:($LL(List)=1) $$swdValueIndex($LI(List,1)) Quit:($LL(List)=0) 0 ; Else Meerdere waarden in list: maakt Index decimaal, bvb. 2.003006 (Index1=2;Index2=3;Index3=6) Set Index=$$swdValueIndex($LI(List,1))_"." For i=2:1:$LL(List) Set Index=Index_$E(1000+$$swdValueIndex($LG(List,i)), 2,4) Quit Index swdValueIndex(Val) Set VPos=$LF($G(KWdnSort(Kenm)),Val) If (VPos=0)&&($L(Val)) Do ; als Val nog niet voorkomt in de $LB . Set KWdnSort(Kenm)=$G(KWdnSort(Kenm))_$LB(Val) . Set VPos=$LL(KWdnSort(Kenm)) Quit VPos ]]>
1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Taal:%String="N" 1 %String 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Taal:%String="N" 1 %List 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Taal:%String="N" 1 %String 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Taal:%String="N" 1 %List 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Taal:%String="N" 1 %String 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Taal:%String="N",VertaalType:%String 1 1 %List 0)||($listfind(lbKenmerkWaarden,"Beuk")>0) { Set Kenmerk = "ProductType" Set lbKenmerkWaarden = ##class(Prod.Kenmerk.DataDefinitie).Get(Groep,KenmerkUnID,Kenmerk) } } Set lbResult=..GetVertalingKenmerkWaardenList(Groep,Kenmerk,lbKenmerkWaarden,Taal,VertaalType) Quit lbResult ]]> KenmerkWaarde moet een $LB() %List zijn. Geeft altijd een %List terug. 1 Groep:%String,Kenmerk:%String,lbKenmerkWaarden:%List,Taal:%String="N",VertaalType:%String,DoNotConvert2Html:%Boolean=1 1 %List KenmerkWaarde moet een %String zijn. Geeft altijd een %String terug. 1 Groep:%String,Kenmerk:%String,KenmerkWaarde:%String,Taal:%String="N",VertaalType:%String,DoNotConvert2Html:%Boolean=1 1 %List KenmerkWaarde mag zowel %String als %List zijn. Geeft altijd een %List terug. 1 Groep:%String,Kenmerk:%String,KenmerkWaarde:%String,Taal:%String="N",VertaalType:%String 1 %List KenmerkWaarde moet een %String zijn. Geeft altijd een %String terug. 1 Groep:%String,Kenmerk:%String,KenmerkWaarde:%String,Taal:%String="N",VertaalType:%String 1 %String 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,AfbeeldingsTextType:%String,Toepassing:%String="WWW" 1 1 %String 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Toepassing:%String 1 %String 1 Groep:%String,Kenmerk:%String,KenmerkUnID:%String,Toepassing:%String 1 %String