Configurator... Message When PCLookUp doesn't return a value?

In Configurator Rules, can anyone advise how I might throw a MessageBox when a lookup does not find a value?

Not possible. Configurator rules are “server side” and are not run while the client is running, so there is no place to pop a message box.
BUT all is not lost…
What I do to capture an error, is I will put a note into the Material (or operation) comments showing any error messages… something like: “CONFIG ERROR: Could not find option ABC”… this way, I get some feedback for debugging.


I do almost all material rules on the client side and put the results into inputs, and then I just use those input values for materials and quantities on the rules. Allows me to handle any errors or warnings before they save. The “Expression Builder” and error handling experience for configurator rules is so utterly horrible I try to stay as far away from it as I can. (Might not be as bad for non-cloud users, not sure)

It’s a little quirky at times, but it does work…

System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(UDMethods.PleaseWait));


MessageBox.Show(“Please Wait while the Machine information is collected…”);


Brenda J. Mohr

Humtown Products

Oh BTW you might want the code in the UDMethod…

MessageBox.Show(“Please Wait…”);

Brenda J. Mohr

@Evan_Purdy’s idea is used quite often, especially with smaller MOMs where you can define everything up front… I have used this myself, and recommended it.
but in bigger Boms where you literally have dozens, if not hundreds of materials with rules, it just is not possible to define all the fields for part number changes, quantity changes, etc.
Also, one “warning” is that the more input fields saved, the bigger size of data gets saved with the configurator inputs. One example would be a configurator that had a Color, Height, and 3-4 options… but these 6 questions changed the values on 100s of part numbers in the BOM. I only needed 6 questions and answers, but if I defined the BOM up front, I would have needed 100s of input values.

Yep. If we had complex BOM’s like that I think my only option would to give up and die. I wish it would let me type the rule expressions in (similar to configurator code) instead of using the Expression Editor. That is the worst UX I have ever been forced to use in my life.

1 Like

@Evan_Purdy So I’m thinking that with your material rules established on the client side and controls to accept the resulting parts from lookups, you are utilizing placeholders on the BOM to populate with parts? Or is there some other strategy here that I am missing? The configurator I am currently working on has in excess of 200 component parts on the SuperBom. In addition there are a couple hundred more I am selectively bringing into placeholders with lookups. Thank you…

Yes, I am using placeholder material parts. The configure part in my case only uses 10-20 parts so this is feasible for me.

I don’t know the nature of your part, but perhaps you can group “sets” of materials on sub assemblies and add/remove sub assemblies depending on configurator rules instead?