Product Configurator - use component cost pricing

I’ve gotten the field I want out of the returned DS but not quite sure how to update the price for the line. I’ll almost have to immediately run an update method I guess.

Hi @paulosborne
i am not sure if this will help you or not, but this is my solution to capture these prices from Quote BO, Looking at the summary of each of Quote price costs and total figures as per the worksheet tab found that its -on the fly- calculation i.e. they all are view fields thereby they do not exist on the database, and to see all relevant parameters that Epicor base script uses to calculate these prices you need the SDK tool, or decompling the quote dll file which is not an easy task, so the easiest and safest way -in my opinion- is to get hold of them when relevant BO methods runs to calculate them ( i have analysed, tested, and found that the main one to capture every relevant change in this worksheet is the Update method, and there are others but this is the safeside one), so what i have done is create UD fields on the relevant table in this case is [QuoteQty] table which is the table that final quoted prices are based on, and coded a Post-Process BPM on Quote/Update to save these values on these UD fields after been calculated by Epicor Base script, thereby any New/Updated Records on this table will have these values.

now, this is not going to solve your historical data as you may know, so i used the DMT to trigger the update method -after enabling our BPM- for whatever period you want, i have done BAQ for 4 years in my test about 9000 records, and worked fine done it in about half an hour. this the template i used

you can use this principle to save any view values you want in any BO, but you may need to do many tests on target data before and after to ensure that you are capturing the right ones.

HTH

1 Like

Hi @A.Baeisa this is similar to what we’re trying to do. It looks like you’re saving the info on the quote qty lines for analysis later? I can see where this would be helpful.

I’m trying to use a field from the quote qty to set the price on the quote line item.

Looks to me like after I get the costs back I need to run the Quote.Update BO to get the line item updated.

yes, that is the safest option.

Not quite sure what I’m doing wrong. Would appreciate any and all guidance.

I run Erp.Quote.GetByID and put the data in the Quote tableset.
I can modify the tableset by executing custom code. I test this using some message boxes.
I then use the same tableset and submit it to Erp.Quote.Update. But the fields I’ve updated in step 2 aren’t updated in the database.

I know it all runs as I get the message box but that’s about it.

Any insights?QuoteDS.docx (123.5 KB)

Hi @paulosborne,
have you checked the tracing log to confirm what are the required parameters to run the Update method on Quote BO, triggered by QuoteDtl changes ?

Hi @A.Baeisa
Thanks for your detailed reply to this post. I’m implementing your code but modified it slightly to get the costs before markup.
It seems to work great on the first line of a quote, but I’m not getting any info on quotes with multiple lines. I know this is an old post but I would greatly appreciate the help

are you updating these quote lines manually ? i.e. ultring values on each line ? if yes, then it should work because doing this will put the QuoteQty on update row mode and this will trigger my code, if not then as i suggested on this thread you need to DMT your QuoteDtl table which is obviously will call every line and do the job for you.

I was manually editing existing quotes in our test server to troubleshoot the code. I’ve been changing some values in a quote line, and deleting and getting the manufacturing details for the worksheet to see if it triggers the code, but I’m not getting the desired results.
Do I need to have a pre-processing BPM that triggers the post-processing when a line is updated or added?
I should add, I’m quite new to this role and have no prior experience with Epicor

no problem mate, if you can put what you have done in here with some screenshots -same as i did on this thread- then i and many others might be able to help

1 Like

Here’s what I have in terms of code.
I created those 7 columns in the QuoteQty_UD table and added epiText boxes on the Quote worksheet, with EpiBinding to each of those UD columns. The post-processing process is enabled.

that should work for any quote line / Qty triggered to the ttTable, i.e. row mod status value changing, if you have a quote with multiple lines just alter any quantity field in each line and check

1 Like

It’s working now! Now I’ve got to figure out how to use DMT to update them all.
The main issue I’m having is that many of the projects are closed, or quotes are marked as “WON”. This prevents me from doing any type of update.
I’ve created an updateable BAQ to manually go through it line by line, but it’s incredibly slow going.

1 Like

i did the same mate, filter the one you want in your BAQ then DMT the results, and i already post the Template that you need, for the update you can do a dummy one, if you can not update the RowMod field, then if there is a field on the QuoteDtl / QuoteQty table that you do not use then you can put any value in it to trigger the update, or adding one to the QTY then subtract it back (i.e. do it twice), 9000 lines took half an hour in my system, what ever time DMT will take will be much shorter and easer than doing this line by line obviously.