Product configurator: Attribute inheritance for subcomponents

I have been involved in several implementations that included product configurator functionality and all I can say it is one of the very powerful but not very well documented features.

I have been asked a very simple question today and when I tried to search for an answer all I could find was just a few posts on dynamics community from users asking same question with no answers. So, I decided to write this blogpost and share my findings with you.

The scenario we are covering is configure-to-order process where we configure finished product for a customer, and while we are doing configuration, we would like some attribute choices from “main” product to be inherited to the subcomponents. How can we achieve that?

I am using standard environment with Contoso demo data to demonstrate it. I have created new product configuration model for the main product called “NS-Pconf-Main”:

I have also created and linked a subcomponent to it:

Note the subcomponent solver name “NS_Pconf_Sub”, we will use it later.

Then, I have assigned the same attribute “country” to both main component:

and subcomponent:

The last step is to assign Expression constraint to the main component (NS-Pconf-Main) with the following formula: country==NS_Pconf_Sub[country]. Basically we are restricting selection of the subcomponent (NS_Pconf_Sub) value with the selection of the parent (main item). It is not inheritance as such, however it propagates value from the parent to subcomponents and restricts a user to change the value for the child.

Testing the model gives following result, we select value for parent:

and when switching to the child – it is already set:
If you try to change it for the child, you won’t be able to, since we applied restriction from the parent:

That’s it.

Leave a comment