So I’m starting our Kinetic configurator journey and starting off with what should be a simple interface. The operative word is “should”…
My immediate problem is that I’m getting expected results when I preview my inputs through Configurator Designer, but when I publish and test inputs through Configurator Entry (or through the configurator via Sales Order Entry) my combobox data disappears.
I’m not sure if I’m making things difficult for myself but I’m wanting to use some similar principles that we’ve used for years in E10 and that have always worked well for our needs. I’ve never been a fan of PC Lookup tables and have opted to use a UD table to fill dynamic lists within comboboxes. (I could write a big spiel about why I prefer the UD table approach but I’d be getting off topic. Happy to elaborate if anyone’s interested.)
This is a sample of data from my UD table that I use to populate comboboxes:
I fill the combobox with a UD Method that looks like this:
// FormFillCombo
// Returns the string range of available inputs from UD31 for the nominated ComboBox
// Called from:
// Combobox Dynamic Lists
// Parameters:
// string sConfigPart - Configurator ID as listed in UD31.Key1
// string sComboName - name of ComboBox as listed in UD31.Key2
// string sSet - name of data set (group)
// Return:
// string list of items from UD31 that match parameter conditions
// returned as list string ie "Item1~Item2~Item3"
// LINQ call that filters items from UD31 by parameters
var cols = (from u31 in Db.UD31.With(LockHint.NoLock)
where u31.Company == "XXX"
&& u31.Key1 == sConfigPart
&& u31.Key2 == sComboName
&& u31.Key5 == sSet
&& u31.CheckBox01 == true
select new {
Col = u31.Key4
}).Distinct().OrderBy(Col=>Col);
// build the list to return to the dynamic list
// each item needs to be delimited with a tilde
string sReturn = "";
foreach(var Cols in cols){
sReturn += (sReturn == "" ? "" : "~") + Cols.Col;
}
return sReturn;
When I assign this UD Method to the combobox and give it the correct parameters, this works as expected. Previewed via Configurator Designer:
When I save this and publish the configurator for use this UD Method seems to fall over. As viewed when I test inputs through Configurator Entry:
I’m at a bit of a loss. Does anyone know why this code would fail outside of the Configurator Designer environment?