Today I have been working with the Product Configurator within Dynamics AX trying to find the tidiest way to set up the following configuration scenario and as I did this I discovered some pretty cool things that you can do through the calculations.
The scenario is that I want to set up a Configuration Model with multiple pages or User Configurations, but the selection for one attribute on one page will affect the selections on another page.
For example: If the user selects a Wattage of 4000 on this Base page…
Then on the Optics page below, the 5.0 Focal Length attribute needs to be disabled.
The problem with the Expression Editor though within the Product Configurator is that it is only able to see the attributes within the Parent level, and you cannot see any of the other User Components attributes.
Here Is How You Solve It:
On the second page that needs to have conditional visibility based on the selection in the first we will create a Dummy Attribute that we will use to store the value from the first page.
That will allow us to add an Expression on the 5.0 Focal Length Attribute so that it is only displayed under certain cases.
Now comes the trick. Although the child User Controls cannot see each other, the parent level within the configuration can. So we can just create a Calculation at the parent level that updates the Attribute in the second page with the value of the same attribute on the first page.
When we test the configuration, if we start off by looking at the temporary attribute, it is initially blank.
Now we can update the source Attribute with a value…
And when we return to the second page the Trager Attribute is updated and the conditional display that we put on the other attribute makes it Read Only.
How cool is that!
About The Author:
Murray Fife is a Microsoft Dynamics AX MVP, Author of over 20 books on Microsoft Dynamics AX, and Solution Architect at I.B.I.S. Inc. with over 20 years of experience in the software industry. Like most people in his industry he has worked in many different roles during his career, including as a developer, an implementation consultant, and a trainer which gives him a great understanding of the requirements for both customers and partners. He is a regular contributor to the Dynamics AX community and in addition to hosting presentations for I.B.I.S. presents regularly for the AXUG and MS Dynamics World, has spoken at Microsoft Convergence and AXUG Summit conferences. If that was not enough, he works closely with Microsoft evaluating with their beta products and also is a Council Member on the Microsoft Dynamics Academic Alliance trying to help educate the new generation of consultants on Dynamics AX.