Describes how to set up an product_assemblies, move between the Parent and Child Product by using the container navigation features. Additionally, provides some tips about using variables from the Parent and child products.

Some products require child products to be complete – for example, a Real Estate sign order which must include an installation cost dependent on the number of posts but is required to be a child product because it has different tax treatment than the fabrication or packages which have master specifications which apply to “subordinate” Sign Types. The concept is to “force” the inclusion of the child product when the main product is selected. Cyrious has a solution for this in the Assembly Container which is specifically designed for this purpose.


  1. Navigate to the pricing_ch_03-products which requires one or more child products by entering the Product Name in the dashboards field on the dashboards or by going to Setup/Pricing Setup/All Pricing Setup/Products.
  2. On the top of the first tab of the Product Setup, check the box “Is An Assembly Container”. This will activate a Tab on the Product Page labeled “Assembly”. Click on that tab and then click on the button which says “Add”. This will product a selection list of available products. Select the product you wish to be the Child Product and click Add. Note that you can select multiple products for your container. The Screen Shot below shows a product with “Is An Assembly Container” checked and a product selected in the container called CommCommercial_Installation.

  1. Next, not that to the right of your selected product are 3 options for “Include”, as shown in the screen shot above. Use these to determine when this product will be included in the pricing formulas and appear on your Estimate or Work Order. You may enter any how-to_make_coding_easier_with_the_formula_builder in this field, accessing the values in any variable or variable or part property “loaded” in your parent product. When the conditions of your formula are met, the product will be included in your Estimate or Order. In the example above the inclusion criteria will cause the product to be included when the variable CCInstallationZones is not “null” or in other words, has an entry.
  2. You may pass variable values from the Parent to the child by placing the prefix Parent. before the variable name of the parent variable. While the parent product technically can not capture the values of child products, you can usually develop a workaround to this with the VariableTotal or FamilyVariableTotal commands. For example, if you want to know if a child Yes/No variable has been checked, you could use a formula in your parent product like IF VariableTotal(Yes_No Variable) = 1 Then DoSomething Else DoNothing Endif. Since YES/No variables return a 0 if false and a 1 if true, this will result in a 1 if checked in the child. (Since if checked in more than one child, the VariableTotal command would return a total equal to the number of times checked, you can even base formulas on the number of times or products in which it is checked. This works for all number variables; so you see how you can construct “flags” back to your parent.)
  3. Open an Estimate or Work Order and select the Product for which you have created the Assembly. Note that there is a column on the left hand of your pricing form showing the Parent and Child Product. If your inclusion formula has been met, both the check boxes for these two products will be checked in the container list. If not, the child will not have the checkbox; however, when you complete the requirements for inclusion in the Pricing Form, the child's checkbox will be set to True (checked).

The screen shot below shows the container with the child but the inclusion criteria which is an entry in the Zone field has not been met; so the include box is not yet checked.

  1. As an added convenience, you may move easily between the Parent and Child products by clicking on their name in the container list. You do not have to say OK to the parent, close it and then open the child.

Contributor: Steve Gillispie, Acorn Sign Grpahics

Date: 2/22/2010

Version: Control 43

You could leave a comment if you were logged in.