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:
- Create a top-level
Single Value
property to hold a copy of this value. - Create a one-step activity to copy the value to the new top-level property, with
Activity Type set to
Trigger
. - Create a Declare Trigger rule that calls the activity each time the work item is saved.
- Expose the top-level property.
- 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.
- Create a concrete class derived from the Index- base class.
- Create
Single Value
properties in the new class to hold values of the embedded values. - Create a Declare Index rule with the appropriate embedded Page Context value that copies the embedded values into a new Index- instance.
- Save the Declare Index rule. This rule runs immediately, adding and deleting instances of the new class.
- Expose the database columns corresponding to the Index- class.
- Reference the Index- properties in the report definition rule.