d ##class(zTryout.FM.DOM.PM.Maatwerk.HalffabSelector).Main() 1 %RegisteredObject 0 %ArrayOfObjects %ArrayOfObjects %ArrayOfObjects %ListOfDataTypes %ListOfDataTypes %ArrayOfDataTypes %String %Boolean DOM.PM.Maatwerk.Calc.HF.IHalffabItemBuilder DOM.PM.Maatwerk.Calc.Common.IngegevenKenmerken vhLib.Logger %Boolean 1 %ArrayOfObjects 0) { Set KenmerkMogelijkheden.Conflicten = ..Suggesties Write "Met de huidige ingegeven kenmerken kan geen product worden opgebouwd", ! Write "Eerst rol die problemen gaf: ", ..RolDieGeenKenmerkenOverhoudt, ! Set SuggestieKenmerken = ##class(TECH.ListIterator).%New(..Suggesties) while (SuggestieKenmerken.HasNext()) { Set Waarde = SuggestieKenmerken.Next() Set Key = SuggestieKenmerken.Key() // TODO: de IK waar we geen waarde voor gaven uit deze lijst halen. // Nu krijg je bv. geef RugHoogte andere waarde dan D terwijl RugHoogte = "" Write "Suggestie: kies voor ", Key, " een andere waarde dan ", Waarde, ! } } */ Quit KenmerkMogelijkheden Error Write ##class(TECH.ExceptionHandler).Catch().ToString() ]]> %String Halffab:DOM.PM.Maatwerk.Calc.HF.Halffab,KenmerkNaam:%String KenmerkNaam:%String,Rol:%String 0) && ..IsDebug) ..Logger.Debug("VerwerkWegfiltering", LogMsg) // Als er kenmerken weggevallen zijn, geef suggesties hoe dit kan vermeden worden If ( (AantalWeggefilterd > 0) && ((..Resultaten.GetAt(KenmerkNaam) = "") || (..Resultaten.GetAt(KenmerkNaam).Count() = 0)) ) { //Do:..IsDebug ..Logger.Debug("VerwerkWegfiltering", "Geen resultaten meer voor kenmerk " _ KenmerkNaam) Set ..RolDieGeenKenmerkenOverhoudt = Rol Set SelectieKenmerken = ..GeefSelectieKenmerken(Rol, ..IK) Do SelectieKenmerken.RemoveAt(KenmerkNaam) Set SelKenm = ##class(TECH.ListIterator).%New(SelectieKenmerken) while (SelKenm.HasNext()) { Set Lijstwaarde = SelKenm.Next() Set Lijstkey = SelKenm.Key() // Kenmerken met lege waarden overslaan Continue:(Lijstwaarde = "") Do ..Suggesties.SetAt(Lijstwaarde, Lijstkey) //Write "Wegfiltering: ", Lijstkey, " - ", Lijstwaarde, ! } } ]]> Rol:%String,IngegevenKenmerken %ArrayOfDataTypes MogelijkeWaarden:%ArrayOfObjects 1 DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken IK:DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken 1 1 %Status