Exposing embedded properties

You can expose only top-level Single Value properties as columns. However, you can expose embedded properties using one of the following methods.

Copy approach

Copy the value to a new top-level property each time the embedded property changes (or each time the instance containing the property is saved). For example, if a report needs to select rows based on property pyWorkPage.pxFlow("LoanDisburse").Sheet.Detail(4), complete the following steps:

  1. Create a top-level Single Value property to hold a copy of this value.
  2. Create a one-step activity to copy the value to the new top-level property, with Activity Type set to Trigger.
  3. Create a Declare Trigger rule that calls the activity each time the work item is saved.
  4. Expose the top-level property.
  5. Reference the top-level property in the report definition rule.

Declare Index approach

Use this approach if some or all values of a Value List or Value Group are needed as exposed columns.

  1. Create a concrete class derived from the Index- base class.
  2. Create Single Value properties in the new class to hold values of the embedded values.
  3. Create a Declare Index rule with the appropriate embedded Page Context value that copies the embedded values into a new Index- instance.
  4. Save the Declare Index rule. This rule runs immediately, adding and deleting instances of the new class.
  5. Expose the database columns corresponding to the Index- class.
  6. Reference the Index- properties in the report definition rule.