Talk:Sponsored Development: Libero Product Configuration BOM

From ADempiere ERP Wiki
Jump to navigationJump to search

Hello Tim Wight (XP_PRG), Marvellous writeup, indeed! A future killer! - Red1 19:50, 15 August 2007 (EDT)

I talked with jsSolutions about how to accomplish my task of creating a form that will come up when a product is chosen that is a product configuration master BOM allowing the user to configure the product configuration for the sale. I suggested that the approach I would take is:

  • define the form in the ad
  • then run to actually make the code to bring the form up
  • then add a callout to the product selection field in the sales order line field of the sales order line tab

jsSolutions advised me that the forms are all custom code. They are defined in the sense that they are identified in the process table. He advised me to look at some of the examples, like Payment Allocation in the process tab it will define the class or procedure that is called. Create Lines Form was another he believed that is called from a button on Material Receipt. Obviously I should be able to borrow heavily from the Drop BOM code. What is still confusing me is how a product configuration BOM can be more than one BOM in hierarchy, but Victor told me this was possible and I would have to create indentations showing that Bom type structure.

Tim, i wonder if u are extending the BOM Drop and BOM structure concept as in Compiere/Adempiere. It is an unlimited multi-level BOM concept where we can have as any levels of sub boms as possible under a single BOM parent. Also the sub BOM can be another parent thus it follows a generation of granny-daddy-son-grandson-and so on. The BOM attributes already cater for what i see as the Variant BOM concept where a BOM child can be part of any defined alternative package, optional for selection during BOM Drop. IMO the BOM Drop should be extended instead of discarded if possible. Its quite a familiar sight for many older users, and all it need is perhaps a Tree View version incorporated into it. regards! - Red1 01:46, 21 August 2007 (EDT)
Also i m not sure who wrote this in the article side as its not signed. I reproduced here below:
Note: Show a Drop BOM into Sales Order Line when you are entry a product configure, It functionality need are create and it is the more complex. I have a great question How we should integrate the Instance Attributes into management Product configuration?
IMO this described that the BOM Drop can be reused. About Instance Attributes i see them more as part of the Optionals where we tick which Attrib we want. Perhaps a better feature here is a lookup of how much stocks are available when u re configuring the Drop. - Red1


I talked with Victor about how to differentiate between a product config bom that was a template and a product config bom that was an instatiation of that template. Victor would like to use the BOM Use field where master means it is the template. BOM use field engineering means that a bom was created automatically and a route needs to be created/assigned to it. BOM use field manufacturing means it has a route and BOM and is ready to be used. I would also associate a product config BOM to a product config BOM instantiation by having the instantiation have the exact same name and search key as the template product config BOM.

01:50, 21 August 2007 (EDT)

I am just about to release my first version of this solution. I wanted to discuss some of the major stumbling blocks I had to overcome in producing this functionality. One of the major problems was figuring out how to show both a checkbox and a radio button on a JTree. I used code at:

I am still not able to figure out how to put in radio button groups but I am sure it is possible.

One of the other major problems was figuring out how to find a product configuration instance based on the choices in a multi-level product configuration BOM. What is difficult to understand is that the choices must collapse upwards from the leafs so that a product configuration instance can be found. The way I did this was to look at the branch nodes that were a product config BOM and find the product configuration instance and replace that node in the tree with the product configuration instance BOM. By moving upward in this way I was able to convert a choice tree to a real product instance that could be found/created. This was not obvious to me initially.