Tips for Navigating Objects
Practical Tips for Building Paths
- The field label can help you determine which attribute to select. For example, the currentPhaseType attribute corresponds to the Current Phase field. However, there are two exceptions to this general rule:
- The type-> attribute (instead of "role") represents project assignee roles in the JProjAssignee table.
- The owner-> attribute (instead of "task" or "project") for task or project assignees (in the JProjAssignee and JTaskAssignee tables) identifies assignees for a task or project.
- To create a path, you typically do not have to traverse more than one or two tables. If you have traversed over three tables and still cannot find the required attribute:
- You may have selected the wrong bridge. If so, click back or cancel and start again. For assistance, check Object Model: Read This First.
- The required attribute may not be accessible from the current object table. If so, you may have to write a Java action for the desired operation.
- When constructing a path, make sure that the end of path value type matches the value type of the field whose value you are setting.
For example, if you are setting a value for a number field and the path ends with a date, you cannot add the path. Or, if you are building a path that identifies a user, the end of path attribute must be in the YUser table. - In most cases, displayOrder, version, and primaryKey are not useful.
- In certain screens, attributes with the suffix "List" cannot be traversed, so they are not displayed with an arrow (->). This indicates that the related table is not applicable.
Common Bridges and Bridge Attributes
- The bridge attribute contact-> in the TProject table represents the contact selected for contact- centric custom objects.
- Items that have the "List" suffix are bridges that typically link to sub-objects, such as a project's assignees.
- To specify a user group, follow the .groupMemberList.group path from the YUser table.
- If you need to identify a field containing a system lookup table item, such as the field containing the role of a project assignee, your last selection in the path should be the bridge attribute type->. For example:
- .assigneeList.type
- .rightRelationList.type
- .addressList.type
- Custom fields created for an object can be reached by traversing the bridge detailList-> to the Category table, which links you to the list of all custom fields created for the selected category as shown in the following example:
See also the example of a complex path in Paths.
Commonly Used Paths
The following table lists the origins and destinations of common paths and the selections in Object Navigator used to build them. For more information on specific object model tables and attributes, see Object Model: Read This First.
Common Object Navigator Paths
From this object |
To this attribute |
Path |
---|---|---|
Any T-table (any object) |
Custom fields of the current object |
|
A record's default category |
defaultCategory-> (ok) |
|
Any record category |
|
|
The main assignee of a project that is selected in a custom field of type Custom Object |
|
|
The user who created a record |
createdBy-> (ok) |
|
TExpense |
The total amount of an expense |
totalAmount (ok) |
The main assignee of a related project |
|
|
TInvoice |
The main assignee of a project identified in an invoice line item |
|
The net total of a line item |
|
|
The task category of a line item |
|
|
The expense category of a line item |
|
|
The category of a vendor |
|
|
The date of the invoice |
invoiceDate (ok) |
|
TProject (any custom object) |
An assignee with a specific role |
|
A user assigned to a project with a specific role |
|
|
The current phase of a project |
currentPhaseType-> (ok) |
|
The user who is the project's main assignee |
|
|
The role of a project's main assignee |
|
|
The main contact of a contact-centric project |
contact-> (ok) Note: Only available when the custom object is contact-centric. |
|
Custom fields of a parent project of the current object |
|
|
YUser |
The user's group membership |
|
The user's default group |
defaultGroup-> (ok) |