I’m currently working on a new configurator and was wondering if it displays the weight of the configured item anywhere on the order or quote. If it doesn’t display it by default, what would be the best method of getting that information pushed to a UD field on order/quote?
@timshuwy (or others?)
We’re looking to get the weight of the configured part into the order line for our shipping calculation.
Any ideas on how we could sum up the BOM weights and get them into a method variable which could be used by the document rules (and finally pushed into the order line).
Or is there a better way?
Thanks!
Wow… @SJenkins & @askulte… if your configurator calculates the weight, then it would be possible to write some code in the DOCUMENT RULES that would push the calculation back to the order.
But there is no base code way to calculate the weight. I have done examples in the past that calculate similar values… I helped create a “mirror” configurator that calculated the weight, but it was based on the size of the mirror, type of glass, type of frame. We had some base values that were looked up in a lookup table for the basis of our calculation. I also have an example where I calculate the “Number of Calories” in a submarine sandwich. Again, it uses a lookup table to hold the calories which are then multiplied by the size of the sandwich and saved in an input field.
I remember that sandwich example from Insights!
Our BOM weights already exist for each part in Part.NetWeight, and we’d really like to avoid duplicating data in a configurator lookup table (and then have to do updates in multiple places).
Scott is building this to give as much control to the users (instead of IT), so they can manage weights with Part Entry, costs with Price List, etc…
Is it possible to access Part.NetWeight with Document Rules?
Thanks!
Just throwing it out there but could you calculate the weight on the Job and then pull that in? I’m assuming you’re doing Make to Order and when you engineer the job, you’ll know all the materials.
@Mark_Wonsil - Correct. How would that work? Our current process is to have Sales configure the part on the quote, send that to the customer for approval, convert to order, run MRP nightly, and then firm & release the job.
Thanks.
I was thinking of two BPMs:
On Engineer and/or On Release:
Link JobMatl to Part, sum the (qty*NetWeight) and push that to a UD field in JobHead or JobAssmb (0).
On Unrelease:
Zero the field.
Ohh interesting topic, mind if I give my two cents on a solution?
You could have a method variable called TotalWeight (or some such) and then add a method rule for each material to grab the weight multiply it by the quantity, and then add it to the total weight then at the end of the method rules submit that total weight to the field in the order that is needed?
So many ways to come at this. I like your idea @Mark_Wonsil and @Schae235. I think either one could work.
The only reason I suggest doing it in the Job is because…changes. If they substitute materials or add something on the fly then you’re covered whereas if I did it in the configurator, I’d have to make sure that I made it exactly how it was configured. Which is what is supposed to happen but…you know. Life.
This was what I was attempting to do, I can get the total weight into a method variable from the materials. However, I could not figure out a way to get the value from the method variable pushed the order/quote.
I’m not sure what you are getting at @Mark_Wonsil! Manufacturing has never deviated from engineered design and Engineering has never given manufacturing something they can’t build!
@SJenkins… I’ve done this in the past with a Linq statement inside of a User Defined Method that gets passed the variable (In this case the weight). I am sure this breaks all the best practices, but if you don’t know them you can’t break them. I would also warn that this process is a lot like pounding in a finish nail with a sledgehammer. The BPM may be a much more elegant solution.
@Schae235 OK so truth be told I might be a complete noob and I have only really dealt with Linq a couple times. I’ll probably be able to figure out the syntax for the most part, but the confusing part for me would be how would I reference the method variable?
@Mark_Wonsil’s suggestion would work, except it requires the job to be created before you could send the acknowledgement.
BUT… I would also say that it sounds like you are “Quoting” the freight… and waiting for the customer to accept it before processing the order. sooo…
- why not create a QUOTE.
- configure the quote line
- “Get Details”… once the details are retrieved, you will have the list of materials in the QuoteMtl table.
- Once you have the details, you could subsequently have a BPM trigger to sum the weights.
- THEN when the Quote is converted to an order, the freight will come over to the order. The details will be retrieved from the Quote into the Job.