Has anyone tried to execute a no inputs configurator without the UI? I would like to be able to pre-populate a quote with a configured assembly. Currently, our configurator reads some data from a UD field and creates a configured assembly. This works well but relies on a user having to click on the configure button on the quote form or running get details on the MOM.
What I am attempting to do is to externally create a quote and trigger the configuration of the assembly. I can create the quote with REST but I did not identify any way to trigger the configuration so I was attempting to create a BPM which would be triggered by an update to a UD field. I traced the calls and reproduced the logic in the BPM as best as I am able but the details pulled into the MOM indicate the configured data is not being saved. If a previous configured assembly exists, those details are pulled in instead. If no previous assembly exists, then just the template associated with the configured part number is pulled in instead.
It appears the correct data is flowing through at least into ProcessNICDocumentRules (by checking values on a BPM attached to that method) but something is not completing after that.
The BO methods called in the BPM (in sequence are as follows):
QuoteAsm.DeleteAllAssembly
QuoteAsm.PreGetDetails
QuoteAsm.CheckConfigurationAndGetConfigType
ConfigurationRuntime.GetNewPcConfigParams
ConfigurationRuntime.PreStartConfiguration
ConfigurationRuntime.ProcessNICDocumentRules
QuoteAsm.GetDetails
I found I was having to add data to the PcConfigurationParams table between GetNewPcConfigParams and PreStartConfiguration but other than that, I am just fulfilling the configured parameters on the BO items as identified in the trace log.
Any tips on where I can look next or how to debug further?
We are a dedicated tenant customer so I can create C# BPMs (if that helps) but I cannot see anything server side to debug with.
I have done this a few times - what do your parameters for QuoteAsm.GetDetails method look like? I am assuming you did a manual quote and were able to get details just fine using your No Inputs configurator?
Pulling manually always works just fine. Interestingly, I seem to be able to do the GetDetails part OK using a BPM if the part is configured using the “Configure” button on the quote. Regardless, here is how I have the method defined:
Just curious - what version of Epicor are you trying this in? I have a copy that works in 10.2.300.8 and can convert a couple custom code widgets to BO widgets and post so you can compare.
In case anyone is looking for this later. The issue turned out to be my not setting the RowMod properly on all of the tables prior to the ProcessNICRules method. Once I made this match the trace exactly, everything worked.