There are two tags used to retrieve data from child objects:
•tc:search, used to automatically retrieve data from child object records.
•tc:filter, used to define a screen where the end user selects the child object record(s) to be included in the document.
The following sample is used to retrieve data from all child claims of a parent policy. In addition, it retrieves the vehicles damaged in the accident of each claim. Vehicle is an embedded object of Claim. Notice that tc:search is nested within another tc:search tag.
Policy Information Policy Number: <tc:data select="NumberString" /> Insured: <tc:data select="Contact"><tc:data select="FirstName" /> <tc:data select="Name" /></tc:data> |
|
Retrieving Specific Type of Child Records with tc:conditional |
<!-- The tc:conditional tag is used to retrieve child claim records of type `Auto'. --> <tc:search link="Project" isForChild="yes" qualifier="Application_ProjObjectDefinition_UniqueCode=CLAM"> <tc:conditional test="Detail[CLAM_AUTO]"> Claim Information (Child of Policy) Claim Name: <tc:data select="Name" /> Claim Number: <tc:data select="NumberString" /> Assignees: <tc:loop select="AssigneeList" qualifier="IsActive=1"><tc:data select="User"> <tc:data select="Contact"> |
|
Name, Date Assigned <tc:data select="FirstName" /> <tc:data select="Name" /></tc:data></tc:data>, <tc:data select="AssignedOn" /> </tc:loop> <tc:data select="MainAssignee"> Main Assignee: <tc:data select="User"><tc:data select="Contact"><tc:data select="FirstName" /> <tc:data select="Name" /></tc:data></tc:data></tc:data> <!-- Retrieving vehicles damaged in each claim --> <tc:search link="Project" isForChild="yes" qualifier="Application_ProjObjectDefinition_UniqueCode=VEHI"> Vehicle Information <!-- Embedded Object of Claim --> The following vehicles were involved in the this claim: VIN: <tc:detail select="VEHI/VIN" /> Make: <tc:detail select="VEHI/MakeModel" /> Year: <tc:detail select="VEHI/Year" /> Damage: <tc:detail select="VEHI/Damage" /> </tc:search></tc:conditional></tc:search> |
This sample utilizes the tc:filter tag to retrieve data from the user selected child record(s). This sample retrieves data from:
•System fields from policy record.
•User-selected assignee(s) of the policy record.
•User-selected claim record.
•User-selected assignee(s) of the selected claim record.
•User-selected involved contact(s) of the selected claim record.
Header |
<?xml version="1.0" encoding="UTF-8"?> <tc:document version="1.0" mime-type="application/msword" name="Policy, Claim and Vehicle Information - Filter" xmlns:tc="http://www.w3.org/1999/XSL/Transform"> <tc:header> <tc:filter name="SelectedPolicyAssignee" test="AssigneeList" label="Please select the assignee to contact in regards to the Policy" displayString="User/Contact/FirstName;User/Contact/Name;Type/Name" displayFormat="* * - *" /> <tc:filter name="Claims" searchCondition="Project" qualifier="Application_ProjObjectDefinition_UniqueCode=CLAM" label="Select the appropriate claim" displayString="Name;NumberString" displayFormat="* - *" usedBy="2" /> <tc:filter name="SelectedClaimAssignee" test="AssigneeList" label="Please select the assignee to contact in regards to the Claim" displayString="User/Contact/FirstName;User/Contact/Name;Type/Name" displayFormat="* * - *" multi="yes" objectFrom="Claims"/> <tc:filter name="SelectedInvolvedParties" searchCondition="Involved" label="Please select the parties involved in this Claim" displayString="Contact/FirstName;Contact/Name;DefaultCategory/Name" displayFormat="* * - *" multi="yes" objectFrom="Claims"/> </tc:header> |
Content |
<tc:content> Policy Number: <tc:data select="NumberString" /> Insured Information <tc:data select="Contact"> First Name: <tc:data select="FirstName" /> Last Name: <tc:data select="Name" /> </tc:data> |
|
<!-- The following tags retrieve data from the Assignee that the user selected. In this case, the tc:filter tag is used because we want to retrieve data from the sub-object that the user selected, not just all of the users assigned to the policy record (which would require the tc:loop) or specific type of assignee (which would require the qualifier attribute). --> Assignee Information <tc:filter select="SelectedPolicyAssignee"><tc:data select="User"><tc:data select="Contact"> First Name: <tc:data select="FirstName" /> Last Name: <tc:data select="Name" /></tc:data></tc:data> Role: <tc:data select="Type/Name" /></tc:filter> <!-- The following tags retrieve data from the user selected claim record(s), which is a child object of Policy. In addition, we nested other tags to retrieve data pertaining to the related objects and sub-objects of Claim. --> <tc:filter select="Claims"> Claim Number: <tc:data select="NumberString" /> Assignees <tc:filter select="SelectedClaimAssignee"><tc:data select="User"><tc:data select="Contact"> First Name: <tc:data select="FirstName" /> Last Name: <tc:data select="Name" /></tc:data></tc:data> Assigned On: <tc:data select="AssignedOn" /> Role: <tc:data select="Type/Name" /></tc:filter> Main Assignee: <tc:data select="MainAssignee"><tc:data select="User"><tc:data select="Contact"><tc:data select="FirstName" /> <tc:data select="Name" /></tc:data></tc:data></tc:data> <!-- The following tags retrieve data from the involved contact selected by the user. --> Involved Parties <tc:filter select="SelectedInvolvedParties"><tc:data select="Contact"> First Name: <tc:data select="FirstName" /> |
|
Last Name: <tc:data select="Name" /></tc:data> Roles: <tc:data select="DefaultCategory/Name" /></tc:filter></tc:content></tc:document> |