Difference between revisions of "Web Page View Field Variables"

From SmartWiki
Jump to: navigation, search
(To Display a List of Activities, Notes, Transactions, Contacts, Companies, Consumers, Providers)
 
(26 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
The [[Web Page View Field]] provides the ability to display a fully formatted document or web page.
 
The [[Web Page View Field]] provides the ability to display a fully formatted document or web page.
  
In constructing this type of page HTML is used in conjunction with the following variables.  
+
In constructing this type of page HTML is used in conjunction with the following variables.
  
 
=Variable List=
 
=Variable List=
 
 
==Current User==
 
==Current User==
 
 
''Note: "me" -- refers to the current user''
 
''Note: "me" -- refers to the current user''
  
Line 22: Line 20:
  
 
==UTA Level 1, Sales Opportunity and Job Variables==
 
==UTA Level 1, Sales Opportunity and Job Variables==
 
 
'''@name@''' - standard field '''Application Name'''.
 
'''@name@''' - standard field '''Application Name'''.
  
Line 37: Line 34:
 
'''@status_lang@''' - standard field '''Status (Based on user language setting)'''
 
'''@status_lang@''' - standard field '''Status (Based on user language setting)'''
  
'''@description@'''  
+
'''@description@'''
  
 
'''@requirements@'''
 
'''@requirements@'''
Line 57: Line 54:
 
'''@enddate@'''
 
'''@enddate@'''
  
'''Created Date''' - no variable
+
'''@createddate@'''
  
'''Created By''' - no variable
+
'''@createdby@'''
  
 
'''@jobquestions@''' - displays as combo boxes
 
'''@jobquestions@''' - displays as combo boxes
Line 68: Line 65:
  
  
'''@owner.field@'''
+
'''@owner.field@'''
  
 
Example: '''@owner.fullname@''' or '''@owner.address@'''
 
Example: '''@owner.fullname@''' or '''@owner.address@'''
  
'''@person.field@'''
+
'''@person.field@'''
  
 
Example: '''@person.fullname@''' or '''@person.address@'''
 
Example: '''@person.fullname@''' or '''@person.address@'''
  
  
'''@company.field@'''
+
'''@company.field@'''
  
 
Example: '''@company.name@''' or '''@company.address@'''
 
Example: '''@company.name@''' or '''@company.address@'''
Line 86: Line 83:
 
Example '''@company.owner.email@'''
 
Example '''@company.owner.email@'''
  
'''@branch.field@'''  
+
'''@branch.field@'''
+
 
 
Example: '''@branch.name@''' or '''@branch.address@'''
 
Example: '''@branch.name@''' or '''@branch.address@'''
  
Line 93: Line 90:
  
 
==UTA Level 2 / Activities Variables==
 
==UTA Level 2 / Activities Variables==
 
 
'''@subject@'''
 
'''@subject@'''
  
Line 183: Line 179:
  
 
==UTA Level 2 variables called from UTA Level 3==
 
==UTA Level 2 variables called from UTA Level 3==
 
 
When working at Level 3, you can call Level 2 variables using:
 
When working at Level 3, you can call Level 2 variables using:
  
Line 198: Line 193:
 
<u>'''Level 3 Associated Parent (Opportunity) '''</u>
 
<u>'''Level 3 Associated Parent (Opportunity) '''</u>
  
Where Payment Allocation is enabled you have two models to choose from before configuring: usually the Associated Parent is a Funding Stream of Overall Budget (event) and the associated object is the Disbursement (Level 3). In less granular cases the Associated Parent is the opportunity.  
+
Where Payment Allocation is enabled you have two models to choose from before configuring: usually the Associated Parent is a Funding Stream of Overall Budget (event) and the associated object is the Disbursement (Level 3). In less granular cases the Associated Parent is the opportunity.
  
 
<u>'''Level 3 Associated Parent'''</u>
 
<u>'''Level 3 Associated Parent'''</u>
Line 216: Line 211:
  
 
=Field List=
 
=Field List=
 
 
<u>'''People Fields'''</u>
 
<u>'''People Fields'''</u>
  
 
firstname, lastname, fullname, title, email, phone, company, address, address2, city,
 
firstname, lastname, fullname, title, email, phone, company, address, address2, city,
province, state, country, postalcode, owner, modifieddate, cost, costunit, type,  
+
province, state, country, postalcode, owner, modifieddate, cost, costunit, type,
 
resourcename, isrecource, uprefix (prefix), usuffix (suffix), uphoneext (Phone Extension)
 
resourcename, isrecource, uprefix (prefix), usuffix (suffix), uphoneext (Phone Extension)
  
 
<u>'''Company Fields'''</u>
 
<u>'''Company Fields'''</u>
  
name, address, address2, city, province, state, country, postalcode, phone, fax, website  
+
name, address, address2, city, province, state, country, postalcode, phone, fax, website
  
 
<u>'''Lead Fields'''</u>
 
<u>'''Lead Fields'''</u>
  
status, description, name, phone, fax, address, address2, city, state, province, country,  
+
status, description, name, phone, fax, address, address2, city, state, province, country,
 
postalcode, website, firstname, lastname, contactphone, title, email, dat_added
 
postalcode, website, firstname, lastname, contactphone, title, email, dat_added
  
 
=UTA Contact and Account Variables=
 
=UTA Contact and Account Variables=
 
Owner:
 
Owner:
:<font size="3">'''@owner.''fieldname''@'''</font>
 
  
 +
: <span style="font-size: medium;">'''@owner.''fieldname''@'''</span>
 
Person (Level 1 only):
 
Person (Level 1 only):
:<font size="3">'''@person.''fieldname'''''@</font>
 
  
 +
: <span style="font-size: medium;">'''@person.''fieldname'''''@</span>
 
Assigned (Level 2 only):
 
Assigned (Level 2 only):
:<font size="3">'''@assigned.''fieldname''@'''</font>
 
  
 +
: <span style="font-size: medium;">'''@assigned.''fieldname''@'''</span>
 
Company (Level 1 only):
 
Company (Level 1 only):
:<font size="3">'''@client.''fieldname''@'''</font>
 
  
 +
: <span style="font-size: medium;">'''@client.''fieldname''@'''</span>
 
Use @client.categoryids@ to return a list of [[Determining the categoryid|category IDs]] - comma delimited - note the leading comma - e.g. ",1234,555,666,"
 
Use @client.categoryids@ to return a list of [[Determining the categoryid|category IDs]] - comma delimited - note the leading comma - e.g. ",1234,555,666,"
+
 
Use @client.categories@ to return a list of category names - comma delimited e.g. "Agency,Marketing,Good client"
+
Use @client.categories@ to return a list of category names - comma delimited e.g. "Agency,Marketing,Good client"
  
 
==Level 1 Contacts/Accounts==
 
==Level 1 Contacts/Accounts==
 
===Individual===
 
===Individual===
 
To display information for a <u>single</u> contact/account in the Level 1 contacts/accounts section:
 
To display information for a <u>single</u> contact/account in the Level 1 contacts/accounts section:
:<font size="3">'''@contact.''rolename.fieldname''@''' </font> &nbsp; or &nbsp; <font size="3"> '''@company.''rolename.fieldname''@'''</font>
 
  
 +
: <span style="font-size: medium;">'''@contact.''rolename.fieldname''@''' </span> &nbsp; or &nbsp; <span style="font-size: medium;"> '''@company.''rolename.fieldname''@'''</span>
 
'''where:'''
 
'''where:'''
 +
 
* ''rolename'' = the name of the role that has been assigned to the contact/account on the Level One item
 
* ''rolename'' = the name of the role that has been assigned to the contact/account on the Level One item
 
* ''fieldname'' = the name of the field that is located on the contact's record.
 
* ''fieldname'' = the name of the field that is located on the contact's record.
 
Example:
 
Example:
 +
 
  @contact.adjuster.firstname@ or @company.funding agency.address@
 
  @contact.adjuster.firstname@ or @company.funding agency.address@
  
Line 264: Line 260:
 
===List===
 
===List===
 
To display a list of multiple contacts/accounts in the Level 1 contacts/accounts section:
 
To display a list of multiple contacts/accounts in the Level 1 contacts/accounts section:
:<font size="3">'''[#(?object=contact) ~''fieldname''~ #]''' </font> or <font size="3"> '''[#(?object=company) ~''fieldname''~ #]''' </font>
 
  
 +
: <span style="font-size: medium;">'''[#(?object=contact) ~''fieldname''~ #]''' </span> or <span style="font-size: medium;"> '''[#(?object=company) ~''fieldname''~ #]''' </span>
 
See [[#To display a list of Activities (Level 2 or 3), Notes, Contacts or Companies|below]] for details on how to filter and sort the list(s).
 
See [[#To display a list of Activities (Level 2 or 3), Notes, Contacts or Companies|below]] for details on how to filter and sort the list(s).
* '''Note''': to display the role that the contact or account is assigned on the Level 1 record use: <font size="3">'''~role~'''</font>
+
 
* '''Note''': to display the name of the contact's company use: <font size="3">'''~companyname~'''</font>
+
* '''Note''': to display the role that the contact or account is assigned on the Level 1 record use: <span style="font-size: medium;">'''~role~'''</span>
 +
* '''Note''': to display the name of the contact's company use: <span style="font-size: medium;">'''~companyname~'''</span>
  
 
==Level 2 Contacts/Accounts==
 
==Level 2 Contacts/Accounts==
 
===Individual===
 
===Individual===
 
To display information for a <u>single</u> contact in the Level 2 contacts section:
 
To display information for a <u>single</u> contact in the Level 2 contacts section:
:<font size="3">'''@contacts.''rolename.fieldname''@''' </font>
 
  
 +
: <span style="font-size: medium;">'''@contacts.''rolename.fieldname''@''' </span>
 
'''where:'''
 
'''where:'''
 +
 
* ''rolename'' = the name of the role that has been assigned to the contact on the Level Two item
 
* ''rolename'' = the name of the role that has been assigned to the contact on the Level Two item
 
* ''fieldname'' = the name of the field that is located on the contact's record.
 
* ''fieldname'' = the name of the field that is located on the contact's record.
 
Example:
 
Example:
 +
 
  @contacts.adjuster.firstname@
 
  @contacts.adjuster.firstname@
  
Line 285: Line 284:
 
===Contacts===
 
===Contacts===
 
To display a list of the contacts assigned at Level 2:
 
To display a list of the contacts assigned at Level 2:
:<font size="3">'''[#(?object=contact) ~firstname~ ~lastname~ ~email~ #]'''</font>
 
  
 +
: <span style="font-size: medium;">'''[#(?object=contact) ~firstname~ ~lastname~ ~email~ #]'''</span>
 
To display only contacts assigned at Level 2 with a specific role/roles (only relevant if the Level 2 Multiple Contact List is enabled)
 
To display only contacts assigned at Level 2 with a specific role/roles (only relevant if the Level 2 Multiple Contact List is enabled)
:<font size="3">'''[#(?object=contact::criteria=roleid=12345) ~firstname~ ~lastname~ ~email~ #]'''</font>
 
  
 +
: <span style="font-size: medium;">'''[#(?object=contact::criteria=roleid=12345) ~firstname~ ~lastname~ ~email~ #]'''</span>
 
To get the intersection record identifier (equivalent to ~oprid~ at Level 1) (i.e. for use in [[Pandora]] functions)
 
To get the intersection record identifier (equivalent to ~oprid~ at Level 1) (i.e. for use in [[Pandora]] functions)
:<font size="3">'''[#(?object=contact) ~lnkid~ #]'''</font>
 
  
 +
: <span style="font-size: medium;">'''[#(?object=contact) ~lnkid~ #]'''</span>
 +
To display the contact's profile status:
 +
 +
: <span style="font-size: medium;">'''[#(?object=contact) ~firstname~ ~lastname~ ~ustatusid~ #]'''</span>
 
'''Notes:'''
 
'''Notes:'''
 +
 
* Contacts at level 2 cannot be filtered by rolename, only roleid
 
* Contacts at level 2 cannot be filtered by rolename, only roleid
 
* If the multiple contact list is enabled use '''~role~''' to display the assigned role.
 
* If the multiple contact list is enabled use '''~role~''' to display the assigned role.
Line 299: Line 302:
 
===Accounts===
 
===Accounts===
 
To display information for a <u>single</u> account in the Level 2 accounts section:
 
To display information for a <u>single</u> account in the Level 2 accounts section:
:<font size="3">'''@companies.''rolename.fieldname''@'''</font>
 
 
  
 +
: <span style="font-size: medium;">'''@companies.''rolename.fieldname''@'''</span>
 
To display a list of the companies assigned at Level 2:
 
To display a list of the companies assigned at Level 2:
:<font size="3">'''[#(?object=company::orderby=name)~name~  #]'''</font>
 
 
  
 +
: <span style="font-size: medium;">'''[#(?object=company::orderby=name)~name~ #]'''</span>
 
To get the intersection record identifier (i.e. for use in [[Pandora]] functions)
 
To get the intersection record identifier (i.e. for use in [[Pandora]] functions)
:<font size="3">'''[#(?object=company) ~clnkid~ #]'''</font>
 
  
 +
: <span style="font-size: medium;">'''[#(?object=company) ~clnkid~ #]'''</span>
 
'''Notes:'''
 
'''Notes:'''
 +
 
:* The Account standard field is only available at Level 2 when the Multiple Account list is enabled. See [[Relating Contacts and Accounts to the Universal Tracking Application#The Account List Field|here]] for details.
 
:* The Account standard field is only available at Level 2 when the Multiple Account list is enabled. See [[Relating Contacts and Accounts to the Universal Tracking Application#The Account List Field|here]] for details.
  
 
==To display Level 1 Company Role or Contact Role custom fields==
 
==To display Level 1 Company Role or Contact Role custom fields==
 +
<span style="font-size: medium;">'''[#(?object=company;)$?opc_''customfieldid''$#]'''</span> or <span style="font-size: medium;">'''[#(?object=contact;)$?opr_''customfieldid''$#]'''</span>
  
<font size="3">'''[#(?object=company;)$?opc_''customfieldid''$#]'''</font> or <font size="3">'''[#(?object=contact;)$?opr_''customfieldid''$#]'''</font>
 
  
 +
'''where:'''
  
'''where:'''
 
 
* customfieldid = the numeric id of the custom field
 
* customfieldid = the numeric id of the custom field
  
Line 332: Line 334:
 
~ucity~, ~ustate~ ~upostalcode~
 
~ucity~, ~ustate~ ~upostalcode~
  
==To display Company Association Role or Contact Association Role custom fields==
+
==To display Company Association or Contact Association fields==
 +
The syntax for extracting information on the entity to which they are associated is as follows . . .
  
<font size="3">'''[#(?object=association)~name~ (~afcompanyid~): $?afc_''customfieldid''$#]<br />
+
<span style="font-size: medium;">'''[#(?object=association)~name~ ~standard field name~ $?afc_custom field id$ $?afc_custom field name$#]<br />
<br>'''[#(?object=companyassociation)~address~ address2#]'''</font>
+
<br />'''[#(?object=companyassociation)~standard field name~ $custom field id$ $custom field name$#]'''</span>
  
'''where:'''  
+
'''where:'''
* customfieldid = the numeric id of the custom field
+
 
 +
* standard field name = name of the standard field
 +
* custom field id = the numeric id of the custom field
 +
* custom field name = the name of the custom field
 +
 
 +
 
 +
The syntax for extracting information on fields that are on the intersection, rather than the entity to which they are associated, is as follows . . .
 +
 
 +
<span style="font-size: medium;">'''[#(?object=association) ~afcompanyid~ #]<br />
 +
<br />'''[#(?object=companyassociation)~afroleid~ #]'''</span>
 +
 
 +
 
 +
Other '''intersection''' specific variables options include:
  
Other associations variables:
 
 
* ~afcid~: association (intersection) record id.
 
* ~afcid~: association (intersection) record id.
 
* ~afcompanyid~: [[companyid]] of associated company
 
* ~afcompanyid~: [[companyid]] of associated company
Line 349: Line 363:
  
 
==Role Based Custom Fields==
 
==Role Based Custom Fields==
 
 
When you have a [[Custom Field]] such as a [[Web Page View]] or [[MS Word Merge]] that is located <u>'''on'''</u> a User Role or Company Role you can access:
 
When you have a [[Custom Field]] such as a [[Web Page View]] or [[MS Word Merge]] that is located <u>'''on'''</u> a User Role or Company Role you can access:
  
 
[[UTA]] Level 1 Information:
 
[[UTA]] Level 1 Information:
:<font size="3">'''@levelone.''fieldname''@'''</font> or <font size="3">'''@levelone.''customfieldid''@'''</font>
 
  
 +
: <span style="font-size: medium;">'''@levelone.''fieldname''@'''</span> or <span style="font-size: medium;">'''@levelone.''customfieldid''@'''</span>
 
Contact Information:
 
Contact Information:
:<font size="3">'''@contact.''fieldname''@'''</font> or <font size="3">'''@contact.''customfieldid''@'''</font>
 
  
 +
: <span style="font-size: medium;">'''@contact.''fieldname''@'''</span> or <span style="font-size: medium;">'''@contact.''customfieldid''@'''</span>
 
Company Information:
 
Company Information:
:<font size="3">'''@company.''fieldname''@'''</font> or <font size="3">'''@company.''customfieldid''@'''</font>
 
 
  
 +
: <span style="font-size: medium;">'''@company.''fieldname''@'''</span> or <span style="font-size: medium;">'''@company.''customfieldid''@'''</span>
 
When you want to refer to a User Role based [[Custom Field]] '''<u>from</u>''' a [[UTA]] Level 1 record use the following syntax:
 
When you want to refer to a User Role based [[Custom Field]] '''<u>from</u>''' a [[UTA]] Level 1 record use the following syntax:
 
Owner:
 
Owner:
:<font size="3">'''@owner.''fieldname''@'''</font>
+
 
 +
: <span style="font-size: medium;">'''@owner.''fieldname''@'''</span>
 
Person:
 
Person:
:<font size="3">'''@person.''fieldname''@'''</font>
+
 
 +
: <span style="font-size: medium;">'''@person.''fieldname''@'''</span>
 
Contact:
 
Contact:
:<font size="3">'''@contact.''rolename''.''fieldname''@'''</font>
 
:''where rolename is the role they are assigned on the Level 1 record''
 
  
 +
: <span style="font-size: medium;">'''@contact.''rolename''.''fieldname''@'''</span>
 +
: ''where rolename is the role they are assigned on the Level 1 record''
 
=To Display a List of Activities, Notes, Transactions, Contacts, Companies, Consumers, Providers=
 
=To Display a List of Activities, Notes, Transactions, Contacts, Companies, Consumers, Providers=
 
==Syntax==
 
==Syntax==
:<font size="3">'''[#(?object=''objectname''::{options})~''standardfieldname''~ $''customfieldname''$#]'''</font>
+
: <span style="font-size: medium;">'''[#(?object=''objectname''::{options})~''standardfieldname''~ $''customfieldname''$#]'''</span>
 
'''Where:'''
 
'''Where:'''
:* ''objectname'' is the name of the item to be listed.  
+
 
::Either: '''address, activity, assign, contact, user, group, company, notes, association, companyassociation, transaction, timesheet''', '''level-1''', '''utaproviderL1''', '''utaproviderL2''', '''utaconsumerL1''', '''utaconsumerL2''' or '''linkactivity'''
+
:* ''objectname'' is the name of the item to be listed.
 +
:: Either: '''address, activity, assign, contact, user, group, company, notes, association, companyassociation, transaction, timesheet''', '''level-1''', '''utaproviderL1''', '''utaproviderL2''', '''utaconsumerL1''', '''utaconsumerL2''' or '''linkactivity'''
 +
:
 
:* ''standardfieldname'' is the name of a standard field (between tildes, ~)
 
:* ''standardfieldname'' is the name of a standard field (between tildes, ~)
 
:* ''customfieldname'' is the name of a custom field (between dollar signs, $)
 
:* ''customfieldname'' is the name of a custom field (between dollar signs, $)
  
'''Notes:'''  
+
'''Notes:'''
 +
 
 
:* You can refer to [[Custom Fields]] in the list using the Custom Field ID instead of the field name, still between dollar signs ('''$12345$''')
 
:* You can refer to [[Custom Fields]] in the list using the Custom Field ID instead of the field name, still between dollar signs ('''$12345$''')
 
:* '''level-1''' can only be used as an object when referenced from a contact record. Also '''level-1''' will only list the level 1s that the contact has been added to in the contacts section.
 
:* '''level-1''' can only be used as an object when referenced from a contact record. Also '''level-1''' will only list the level 1s that the contact has been added to in the contacts section.
 
:* You can include text as well as variables within the [#...#] syntax.
 
:* You can include text as well as variables within the [#...#] syntax.
:* When using this syntax for [[Web Page View]]s, [[Custom Field Type: Read Only – System Variables|Read Only – System Variables]] etc. you will usually want to include HTML table formatting within the '''[#...#]''' syntax (see examples below). For [[MS Word Merge]] custom fields the table defined on the MS Word Template document, with the columns delimited by pipes (|) within the '''[#...#]'''.
+
:* When using this syntax for [[Web Page View]]s, [[Custom Field Type: Read Only – System Variables|Read Only – System Variables]] etc. you will usually want to include HTML table formatting within the '''[#...#]''' syntax (see examples below). For [[MS Word Merge]] custom fields the table defined on the MS Word Template document, with the columns delimited by pipes (|) within the '''[#...#]'''.
:* '''~Index~''' can be used to number the lines (1, 2, 3...) '''Note:''' ~index~ does not work for all lists. For example, it cannot be used when listing contacts associated with a Level 1.
+
:* '''~Index~''' can be used to number the lines (1, 2, 3...) '''Note:''' ~index~ does not work for all lists. For example, it cannot be used when listing contacts associated with a Level 1.
::* ''~Index~'' (upper case 'I') starts numbering at 1, ''~index~'' (lower case 'i') starts numbering at 0.
+
:** ''~Index~'' (upper case 'I') starts numbering at 1, ''~index~'' (lower case 'i') starts numbering at 0.
:* ~eventid~ will display the id of the level 2.
+
~eventid~ will display the id of the level 2.
  
  
 
'''Options:'''
 
'''Options:'''
:{|border="1" cellpadding="5"
+
 
 +
{| class="wikitable"
 
|-
 
|-
!Option!!Effect
+
||'''Option'''
 +
||'''Effect'''
 
|-
 
|-
|<font size="3">orderby=''standardfieldname''</font>||Sorts the list in ascending order by the standard field specified
+
||<span style="font-size: medium;">orderby=''standardfieldname''</span>
 +
||Sorts the list in ascending order by the standard field specified
 
|-
 
|-
|<font size="3">orderby=''standardfieldname'' desc</font>||Sorts the list in descending order by the standard field specified
+
||<span style="font-size: medium;">orderby=''standardfieldname'' desc</span>
 +
||Sorts the list in descending order by the standard field specified
 
|-
 
|-
|<font size="3">orderby=tbl_''customfieldid''.valuestr</font>||Sorts the list in ascending order by the custom field specified
+
||<span style="font-size: medium;">orderby=tbl_''customfieldid''.valuestr</span>
 +
||Sorts the list in ascending order by the custom field specified
 
|-
 
|-
|<font size="3">criteria=''standardfieldname''=''&#39;value&#39;''</font> ||Filters the list by the standard field and value specified
+
||<span style="font-size: medium;">criteria=''standardfieldname''='''value'''</span>
 +
||Filters the list by the standard field and value specified
 
|-
 
|-
|<font size="3">criteria=tbl_''customfieldid''.valuestr=''&#39;value&#39;''</font>||Filter the list by the custom field and value specified
+
||<span style="font-size: medium;">criteria=tbl_''customfieldid''.valuestr='''value'''</span>
 +
||Filter the list by the custom field and value specified
 
|-
 
|-
|<font size="3">criteria=(''standardfieldname''=''&#39;value&#39;'' or ''standardfieldname''=''&#39;value&#39;'')</font>||For multiple criteria when '''either''' conditional criteria can apply  
+
||<span style="font-size: medium;">criteria=(''standardfieldname''='''value''' or ''standardfieldname''='''value''')</span>
 +
||For multiple criteria when '''either''' conditional criteria can apply
 
|-
 
|-
|<font size="3">criteria=(''standardfieldname''=''&#39;value&#39;'' AND ''standardfieldname''=''&#39;value&#39;'')</font>||For multiple criteria when '''both''' conditional criteria must apply
+
||<span style="font-size: medium;">criteria=(''standardfieldname''='''value''' AND ''standardfieldname''='''value''')</span>
 +
||For multiple criteria when '''both''' conditional criteria must apply
 
|-
 
|-
|<font size="3">groupfunction=''aggregatefunction''</font> ||Performs specified aggregate function on the listed fields<br>Ex. sum, count, countdistinct
+
||<span style="font-size: medium;">groupfunction=''aggregatefunction''</span>
 +
||Performs specified aggregate function on the listed fields<br />Ex. sum, count, countdistinct
 
|}
 
|}
 +
 
* ''multiple options (i.e. a criteria and an orderby option) can be included, separated by doubled colons (::)''
 
* ''multiple options (i.e. a criteria and an orderby option) can be included, separated by doubled colons (::)''
  
Line 416: Line 444:
  
 
'''Examples:'''
 
'''Examples:'''
 +
 
* To generate a list of Level 2 activities for a [[MS Word Merge]]:
 
* To generate a list of Level 2 activities for a [[MS Word Merge]]:
 +
 
  [#(?object=activity)|~statusname~|~typename~|$speciality$|$123456$|#]
 
  [#(?object=activity)|~statusname~|~typename~|$speciality$|$123456$|#]
::''See [[MS Word Merge]] for further details on including tables on MS Word Merge documents''
+
:: ''See [[MS Word Merge]] for further details on including tables on MS Word Merge documents''
 +
:
 +
:* To reference the Consumer UTA Level 1 owner name and ownerid from a Provider UTA Level 1 Read Only - System Variable custom field
  
* To reference the Consumer UTA Level 1 owner name and ownerid from a Provider UTA Level 1 Read Only - System Variable custom field
 
 
  [#(?object=utaconsumer::criteria=statusname IN ('Placed','Resigned/Terminated'))~ownername~,~ownerid~ #]
 
  [#(?object=utaconsumer::criteria=statusname IN ('Placed','Resigned/Terminated'))~ownername~,~ownerid~ #]
  
* To Display custom fields via List Syntax for Invoicing (objectname=appliedtoinvoices). Grabbing a custom field value off the invoice (ie. 282588) and into an adjustment.  
+
:* To Display custom fields via List Syntax for Invoicing (objectname=appliedtoinvoices). Grabbing a custom field value off the invoice (ie. 282588) and into an adjustment.
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;
 
word-wrap: break-word;">
 
Example: [#(?object=appliedtoinvoices)$282588$#]</pre>
 
::''Note: refer to the custom field by the number ONLY, do not use the custom field name.''
 
  
 +
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">Example: [#(?object=appliedtoinvoices)$282588$#]</pre>
 +
::: ''Note: refer to the custom field by the number ONLY, do not use the custom field name.''
  
*To generate a list of all contacts for a [[Web Page View]] or [[Custom Field Type: Read Only – System Variables|Read Only – System Variables]] custom field (note that the HTML table formatting is included within the '''[#...#]''' syntax)
 
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;
 
word-wrap: break-word;">
 
<table><tr><td>First Name</td><td>Last Name</td><td>E-mail Address</td><td>Cell Phone Number</td></tr>
 
[#(?object=contact)<tr><td>~firstname~</td><td>~lastname~</td><td>~email~</td><td>$Cell Phone$</td></tr>#]
 
</table>
 
</pre>
 
::''Note: The first line creates a header row for the table''
 
  
 +
:* To generate a list of all contacts for a [[Web Page View]] or [[Custom Field Type: Read Only – System Variables|Read Only – System Variables]] custom field (note that the HTML table formatting is included within the '''[#...#]''' syntax)
 +
 +
[#(?object=contact) #]
 +
 +
{|
 +
|-
 +
!|First Name
 +
!|Last Name
 +
!|E-mail Address
 +
!|Cell Phone Number
 +
|-
 +
||~firstname~
 +
||~lastname~
 +
||~email~
 +
||$Cell Phone$
 +
|}
 +
 +
::: ''Note: The first line creates a header row for the table''
 +
 +
:* For a list of Level 2 (or Level 3) activities sorted by Start Date in descending order:
 +
 +
[#(?object=activity::orderby=startdate desc)#]
 +
 +
{|
 +
|-
 +
||~subject~
 +
||~location~
 +
||~startdate~
 +
|}
 +
 +
 +
:* For a list of contacts assigned to a Level 1 with the role of "Internal People", sorted by surname:
 +
 +
[#(?object=contact::orderby=lastname::criteria=rolename='Internal People')#]
 +
 +
{|
 +
|-
 +
||~firstname~
 +
||~lastname~
 +
||~email~
 +
|}
 +
 +
:* For a list of level 1 records, including owner details, that a Company has been asssigned to:
 +
 +
[#(?(object =level-1) NAME: ~name~ OWNERID: ~ownerid~ OWNERNAME: ~ownername~ #]
 +
 +
:* To display the level 1 ID of the level 1 records:
  
 +
[#(?(object =level-1) OPPORTUNITY ID: ~op.opportunityid as oppid~ #]
  
* For a list of Level 2 (or Level 3) activities sorted by Start Date in descending order:
 
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;
 
word-wrap: break-word;">
 
<table>[#(?object=activity::orderby=startdate desc)<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
 
</pre>
 
  
  
* For a list of contacts assigned to a Level 1 with the role of "Internal People", sorted by surname:
+
:* For a list of all companies that the owner of a [[UTA]] record is associated with:
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;
 
word-wrap: break-word;">
 
<table>[#(?object=contact::orderby=lastname::criteria=rolename='Internal People')<tr><td>~firstname~</td><td>~lastname~</td><td>~email~</td></tr>#]</table>
 
</pre>
 
  
 +
@owner.[#(?object=association)~name~ (Phone ~phone~)
 +
#]@
  
* For a list of all companies that the owner of a [[UTA]] record is associated with:
 
@owner.[#(?object=association)~name~ (Phone ~phone~)<br>#]@
 
  
 +
:* To get a comma-separated list of the companyids of all the companies the current user is associated with with roleid 54545:
  
* To get a comma-separated list of the companyids of all the companies the current user is associated with with roleid 54545:
 
 
  ,@me.[#(?object=association::criteria=roleid=54545)~afcompanyid~,#]@
 
  ,@me.[#(?object=association::criteria=roleid=54545)~afcompanyid~,#]@
  
  
* For a list of all contacts associated to the current user's parent company record (associated to the company with [[roleid]] 12345):
+
:* For a list of all contacts associated to the current user's parent company record (associated to the company with [[roleid]] 12345):
  @me.parent.[#(?object=association::criteria=roleid='12345')~firstname~ ~lastname~ (Phone ~phone~)<br>#]@
+
 
 +
  @me.parent.[#(?object=association::criteria=roleid='12345')~firstname~ ~lastname~ (Phone ~phone~)
 +
#]@
 +
 
 +
:* For a list of a company's Active(current date is between start and end date) associations:
  
* For a list of a company's Active(current date is between start and end date) associations:
 
 
  [#(?object=association::criteria=(afstartdate is null OR afstartdate<='@date(currentdate)@') AND (afenddate is null OR afenddate>='@date(currentdate)@'))~userid~,#]
 
  [#(?object=association::criteria=(afstartdate is null OR afstartdate<='@date(currentdate)@') AND (afenddate is null OR afenddate>='@date(currentdate)@'))~userid~,#]
  
*For a list of all contacts/users located under a company with a given role
+
:* For a list of all contacts/users located under a company with a given role
 +
 
 
  [#(?object=user::criteria=rolelist like '%,12345,%') ~email~ #]
 
  [#(?object=user::criteria=rolelist like '%,12345,%') ~email~ #]
  
  
* To count the number of contacts assigned with the role of Reviewer:
+
:* To count the number of contacts assigned with the role of Reviewer:
 +
 
 
  [#(?object=contact::criteria=rolename="Reviewer"::groupfunction=count)~userid~#]
 
  [#(?object=contact::criteria=rolename="Reviewer"::groupfunction=count)~userid~#]
  
  
* To include and format a date stored in a custom field (see also [[sscalculation]])
+
:* To include and format a date stored in a custom field (see also [[sscalculation]])
[#(?object=activity)&lt;!--@sscalculation(date_format("$fieldname$","%M %d, %Y"))-->#]
 
  
 +
<pre>[#(?object=activity)<!--@sscalculation(date_format("$fieldname$","%M %d, %Y"))-->#]</pre>
  
* With Multiple Criteria:
+
 
<pre style="white-space: pre-wrap;
+
:* With Multiple Criteria:
white-space: -moz-pre-wrap;
+
 
white-space: -pre-wrap;
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=contact::criteria=(rolename='External' or rolename='Internal'))~firstname~ ~lastname~#]
white-space: -o-pre-wrap;  
 
word-wrap: break-word;">
 
[#(?object=contact::criteria=(rolename='External' or rolename='Internal'))<tr><td>~firstname~ ~lastname~</td></tr>#]
 
 
</pre>
 
</pre>
  
  
* To sort descending by a custom field called ''Total Hours'' with a custom field id of ''67292'':
+
:* To sort descending by a custom field called ''Total Hours'' with a custom field id of ''67292'':
<pre style="white-space: pre-wrap;
+
 
white-space: -moz-pre-wrap;
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=activity::orderby=tbl_67292.valuestr desc)Subject: ~subject~Total Hours: $Total Hours$Start Date: ~startdate~#]
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;  
 
word-wrap: break-word;">
 
[#(?object=activity::orderby=tbl_67292.valuestr desc)<tr><td>Subject: ~subject~</td><td>Total Hours: $Total Hours$</td><td>Start Date: ~startdate~</td></tr>#]
 
 
</pre>
 
</pre>
 
'''Note:''' ''$Total Hours$'' in the list could be listed as ''$67292$'' with the same result.
 
'''Note:''' ''$Total Hours$'' in the list could be listed as ''$67292$'' with the same result.
  
  
* To sort descending reviews in a specific status by a custom field on a separate UTA Level 1 field called ''$Staff Final Score$'' with a custom field id of ''1584168'' in numeric order:
+
 
<pre style="white-space: pre-wrap;
+
:* To sort descending reviews in a specific status by a custom field on a separate UTA Level 1 field called ''$Staff Final Score$'' with a custom field id of ''1584168'' in numeric order:
white-space: -moz-pre-wrap;
+
 
white-space: -pre-wrap;
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=utaconsumerL1::orderby=tbl_15868.valuestr*1::criteria=(statusname='Member Review'))
white-space: -o-pre-wrap;  
 
word-wrap: break-word;">
 
[#(?object=utaconsumerL1::orderby=tbl_15868.valuestr*1::criteria=(statusname='Member Review'))
 
 
</pre>
 
</pre>
 
'''Note:''' ''$Staff Final Score$'' in the list could be listed as ''$15868$'' with the same result.
 
'''Note:''' ''$Staff Final Score$'' in the list could be listed as ''$15868$'' with the same result.
  
  
* To list a specific activity type only:
+
 
<pre style="white-space: pre-wrap;
+
:* To list a specific activity type only:
white-space: -moz-pre-wrap;
+
 
white-space: -pre-wrap;
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=activity::orderby=startdate::criteria=typename='This Activity Type')~subject~~location~~startdate~#]
white-space: -o-pre-wrap;  
 
word-wrap: break-word;">
 
[#(?object=activity::orderby=startdate::criteria=typename='This Activity Type')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]
 
 
</pre>
 
</pre>
  
  
* To list activities based on the [[Determining the typeid|type ID]] ('''Level 2 and Level 3 only'''):
+
:* To list activities based on the [[Determining the typeid|type ID]] ('''Level 2 and Level 3 only'''):
<pre style="white-space: pre-wrap;
+
 
white-space: -moz-pre-wrap;
+
[#(?object=activity::orderby=startdate::criteria=typeid='24160')#]
white-space: -pre-wrap;
+
 
white-space: -o-pre-wrap;
+
{|
word-wrap: break-word;">
+
|-
<table>[#(?object=activity::orderby=startdate::criteria=typeid='24160')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
+
||~subject~
</pre>
+
||~location~
 +
||~startdate~
 +
|}
 +
 
 +
 
 +
:* To include a hyperlink to the object (for Accounts):
 +
 
 +
[#(?object=company::criteria=rolename="Cooperating Organization")#]
 +
 
 +
{|
 +
|-
 +
||[s_viewcompany.jsp?companyid=~companyid~ ~name~]
 +
||~role~
 +
|}
  
  
*To include a hyperlink to the object (for Accounts):
+
:* To list activities based on status:
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;
 
word-wrap: break-word;">
 
<table>
 
[#(?object=company::criteria=rolename="Cooperating Organization")<tr><td><a target='app_win' href=/s_viewcompany.jsp?companyid=~companyid~>~name~</a></td><td>~role~</td></tr>#]
 
</table>
 
</pre>
 
  
 +
[#(?object=activity::orderby=startdate::criteria=statusname='Open')#]
  
* To list activities based on status:
+
{|
<pre style="white-space: pre-wrap;
+
|-
white-space: -moz-pre-wrap;
+
||~subject~
white-space: -pre-wrap;
+
||~location~
white-space: -o-pre-wrap;
+
||~startdate~
word-wrap: break-word;">
+
|}
<table>[#(?object=activity::orderby=startdate::criteria=statusname='Open')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
 
</pre>
 
  
  
* To list activities based on the status ID ('''Level 2 and Level 3 only'''):
+
:* To list activities based on the status ID ('''Level 2 and Level 3 only'''):
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;
 
word-wrap: break-word;">
 
<table>[#(?object=activity::orderby=startdate::criteria=status.statusid='24160')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
 
</pre>
 
  
 +
[#(?object=activity::orderby=startdate::criteria=status.statusid='24160')#]
  
* To list UTA Providers:
+
{|
<pre style="white-space: pre-wrap;
+
|-
white-space: -moz-pre-wrap;
+
||~subject~
white-space: -pre-wrap;
+
||~location~
white-space: -o-pre-wrap;
+
||~startdate~
word-wrap: break-word;">[#(?object=utaproviderL1) ~name~ ~typename~ ~statusname~ ~enddate~ $Panel Review Date$ $Panel ID$&lt;br>#]</pre>
+
|}
  
  
* To reference L1 Ownerid or People ID from UTA Providers:
+
:* To list UTA Providers:
<pre style="white-space: pre-wrap;  
+
 
white-space: -moz-pre-wrap;
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=utaproviderL1::criteria=rolename="Panel") ~name~ ~typename~ ~statusname~ ~enddate~ $Panel Review Date$ $Panel ID</pre>
white-space: -pre-wrap;
+
<pre>
white-space: -o-pre-wrap;  
+
<!--@sscalculation(@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A") 1+#]@ 0)--></pre>
word-wrap: break-word;">For Owner ID: [#(?object=utaproviderL1)~updatedby~#]</pre>
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">lt;br>#]</pre>
  
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;
 
word-wrap: break-word;">For People ID: [#(?object=utaproviderL1)~oppeopleid~#]</pre>
 
  
 +
:* To list notes (from the record that contains the notes):
  
* To list notes (from the record that contains the notes):
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=notes::orderby=createddate desc)~notes~~createddate~~username~#]
<pre style="white-space: pre-wrap;
 
white-space: -moz-pre-wrap;
 
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;  
 
word-wrap: break-word;">
 
[#(?object=notes::orderby=createddate desc)<tr><td>~notes~</td><td>~createddate~</td><td>~username~</td></tr>#]
 
 
</pre>
 
</pre>
::''Note: This syntax is for "Public (Default)" notes only, not custom note types.
+
::: ''Note: This syntax is for "Public (Default)" notes only, not custom note types.
 +
::
 +
::* To list all companies under a parent company record:
  
* To list all companies under a parent company record:
 
 
  [#(?object=company) ~name~ #]
 
  [#(?object=company) ~name~ #]
  
* To list all L3 allocations within a L2 budget record:
+
::* To list all L3 allocations within a L2 budget record:
 +
 
 
  [#(?object=linkactivity) ~subject~ #]
 
  [#(?object=linkactivity) ~subject~ #]
  
  
* To sum or count all the L3 allocations from the budget L2 record:
+
::* To sum or count all the L3 allocations from the budget L2 record:
 +
 
 
  @linkactivity.sum(...)@ or @linkactivity.count(...)@
 
  @linkactivity.sum(...)@ or @linkactivity.count(...)@
  
 
'''To list level 2 notes for each level 2 record at level 1:
 
'''To list level 2 notes for each level 2 record at level 1:
<pre style="white-space: pre-wrap;
+
 
white-space: -moz-pre-wrap;
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=activity::orderby=startdate desc)~subject~~description~~startdate~
white-space: -pre-wrap;
+
[@(?object=notes::orderby=createddate desc)@]</pre>
white-space: -o-pre-wrap;  
+
{|
word-wrap: break-word;">
+
|-
[#(?object=activity::orderby=startdate desc)
+
||~notes~
<tr><td>~subject~</td><td>~description~</td><td>~startdate~</td>
+
||~createddate~
<td><table>
+
||~username~
[@(?object=notes::orderby=createddate desc)<tr><td>~notes~</td><td>~createddate~</td><td>~username~</td></tr>@]
+
|}
</table></td>
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">#]
</tr>#]
 
 
</pre>
 
</pre>
::''Note: This syntax is for "Public (Default)" notes only, not custom note types.
+
:::: ''Note: This syntax is for "Public (Default)" notes only, not custom note types.
 +
'''To do a sum of all the unpaid payment transaction:
 +
 
 +
{|
 +
|-
 +
||Total Paid: [#(?object=transaction::criteria=trstranstype=11 and tbl_1145339.valuestr='Paid'::groupfunction=sum)$1145183$ <!--"145339$-->#] Note: $1145339$ - Status of payment $1145183$ - Payment Amount
 +
|}
 +
 
 +
==Referencing Standard Fields of UTA Providers==
 +
{| class="wikitable"
 +
|+style="text-align:left"|Level 1 Field Name and Variable List
 +
|-
 +
!|Field Name
 +
!|Variable
 +
|-
 +
||Application Name
 +
||~name~
 +
|-
 +
||Type Name
 +
||~typename~
 +
|-
 +
||Type ID
 +
||~type~
 +
|-
 +
||Status Name
 +
||~statusname~
 +
|-
 +
||Status ID
 +
||~statusid~
 +
|-
 +
||Start Date
 +
||~startdate~
 +
|-
 +
||End Date
 +
||~enddate~
 +
|-
 +
||Close Date
 +
||~closedate~
 +
|-
 +
||Branch
 +
||''No variables''
 +
|-
 +
||Branch ID
 +
||~branchid~
 +
|-
 +
||Currency
 +
||''No variables''
 +
|-
 +
||Exchange Currency
 +
||''No variables''
 +
|-
 +
||Currency Exchange Rate
 +
||''No variables''
 +
|-
 +
||Customer
 +
||~client~
 +
|-
 +
||Customer ID
 +
||~companyid~
 +
|-
 +
||Modified By
 +
||''No variables''
 +
|-
 +
||Modified Date
 +
||''No variables''
 +
|-
 +
||Owner (full name)
 +
||~ownername~
 +
|-
 +
||Owner (userid)
 +
||~updatedby~
 +
|-
 +
||Person (full name)
 +
||''No variables''
 +
|-
 +
||Person (userid)
 +
||~oppeopleid~
 +
|-
 +
||Role Name
 +
||~rolename~
 +
|-
 +
||Role ID
 +
||~conroleid~
 +
|}
  
 +
'''Example:'''
 +
 +
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=utaproviderL1) ~typename~ | ~statusname~ <br />#]</pre>
 +
 +
{| class="wikitable"
 +
|+style="text-align:left"|Level 2 Field Names and Variables List
 +
|-
 +
!|Field Name
 +
!|Variable
 +
|-
 +
||Activity Type
 +
||~typename~
 +
|-
 +
||Activity Type ID
 +
||~typeid~
 +
|-
 +
||Owner
 +
||~ownername~
 +
|-
 +
||Owner ID
 +
||~eownerid~
 +
|-
 +
||Assigned People
 +
||''No variables''
 +
|-
 +
||Status
 +
||~statusname~
 +
|-
 +
||Status ID
 +
||~statusid~
 +
|-
 +
||Subject
 +
||~subject~
 +
|-
 +
||Description
 +
||~description~
 +
|-
 +
||Location
 +
||~location~
 +
|-
 +
||Amount
 +
||~eamount~
 +
|-
 +
||Start Date
 +
||~startdate~
 +
|-
 +
||End Date
 +
||~enddate~
 +
|-
 +
||Opportunity ID
 +
||~cevconoppid~
 +
|-
 +
||Event ID
 +
||~cevprovevtid~
 +
|-
 +
||Rolename
 +
||~rolename~
 +
|-
 +
||Role ID
 +
||~cevroleid~
 +
|}
  
'''To do a sum of all the unpaid payment transaction:
+
'''Example:'''
<pre>
 
<table>
 
<tr><td>Total Paid:
 
[#(?object=transaction::criteria=trstranstype=11 and tbl_1145339.valuestr='Paid'::groupfunction=sum)$1145183$ <!--$1145339$-->#]
 
Note:
 
$1145339$ - Status of payment
 
$1145183$ - Payment Amount
 
</td></tr>
 
</table>
 
</pre>
 
  
==To Format the Start Date or Start Time==
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=utaproviderL2) ~typename~ | ~statusname~ <br />#]</pre>
:<font size="3">'''~date_format(startdate,'%Y-%m-%d') as startdate~'''</font>
+
If you have multiple different UTAs connected as providers, you  can use criteria to filter:
::or
 
:<font size="3">'''~date_format(startdate,'%h:%i %p') as starttime~'''</font>
 
  
 +
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;">[#(?object=utaproviderL1::criteria=provappid="12345") ~typename~ | ~statusname~ <br />#]</pre>
  
 +
==To Format the Start Date or Start Time==
 +
::: <span style="font-size: medium;">'''~date_format(startdate,'%Y-%m-%d') as startdate~'''</span>
 +
:::: or
 +
::: <span style="font-size: medium;">'''~date_format(startdate,'%h:%i %p') as starttime~'''</span>
 
'''Note:'''
 
'''Note:'''
:* If you wish to use ''"orderby=startdate"'', along with a date format other than yyyy-mm-dd you must use a slightly different syntax.
+
 
:* Using ''"~date_format(startdate,'%d-%m-%Y') as startdate~"'' when using ''"orderby=startdate"'' will cause the date to be ordered by dd-mm-yyyy (rather than yyyy-mm-dd, which is chronological)
+
:::* If you wish to use ''"orderby=startdate"'', along with a date format other than yyyy-mm-dd you must use a slightly different syntax.
:* To avoid this, change ''"date_format(startdate,'%d-%m-%Y') as '''startdate'''"'' to ''"date_format(startdate,'%d-%m-%Y') as '''sdate'''"''
+
:::* Using ''"~date_format(startdate,'%d-%m-%Y') as startdate~"'' when using ''"orderby=startdate"'' will cause the date to be ordered by dd-mm-yyyy (rather than yyyy-mm-dd, which is chronological)
 +
:::* To avoid this, change ''"date_format(startdate,'%d-%m-%Y') as '''startdate'''"'' to ''"date_format(startdate,'%d-%m-%Y') as '''sdate'''"''
  
 
==Displaying Both Level 2 and Level 3 Activities at Level 1==
 
==Displaying Both Level 2 and Level 3 Activities at Level 1==
Line 663: Line 830:
  
 
To facilitate this you must create a [[Custom Field Type: Read Only – System Variables|Read Only - System Variable]] field '''at''' Level 2 that contains the list of Level 3 activities, formatted and filtered as desired.
 
To facilitate this you must create a [[Custom Field Type: Read Only – System Variables|Read Only - System Variable]] field '''at''' Level 2 that contains the list of Level 3 activities, formatted and filtered as desired.
::''You can use [[Visibility Condition]]s, [[Role Field Permissions]] or [[Status Field Permissions]] to prevent the field from being displayed on the Level 2 record.
 
  
 +
:::: ''You can use [[Visibility Condition]]s, [[Role Field Permissions]] or [[Status Field Permissions]] to prevent the field from being displayed on the Level 2 record.
 
'''Example:'''
 
'''Example:'''
* Create a Level 2 [[Custom Field Type: Read Only – System Variables|Read Only - System Variable]] Custom Field called '''Level 3 Activity List''' with the following:
+
 
<pre style="white-space: pre-wrap;
+
::* Create a Level 2 [[Custom Field Type: Read Only – System Variables|Read Only - System Variable]] Custom Field called '''Level 3 Activity List''' with the following:
white-space: -moz-pre-wrap;
+
 
white-space: -pre-wrap;
+
[@(?object=activity::orderby=typename)@]
white-space: -o-pre-wrap;
+
 
word-wrap: break-word;">
+
{|
<table>
+
|-
    [@(?object=activity::orderby=typename)<tr><td> Level 3 Activity: ~typename~</td><td>~location~</td></tr>@]
+
||Level 3 Activity: ~typename~
</table>
+
||~location~
</pre>
+
|}
  
 
Then create either a [[Web Page View]] or [[Custom Field Type: Read Only – System Variables|Read Only - System Variable]] at Level 1:
 
Then create either a [[Web Page View]] or [[Custom Field Type: Read Only – System Variables|Read Only - System Variable]] at Level 1:
<pre style="white-space: pre-wrap;
+
 
white-space: -moz-pre-wrap;
+
[#(?object=activity::orderby=startdate) #]
white-space: -pre-wrap;
+
 
white-space: -o-pre-wrap;
+
{|
word-wrap: break-word;">
+
|-
<table>
+
||Level 2 Activity: ~subject~
[#(?object=activity::orderby=startdate)
+
||~statusname~
<tr><td>Level 2 Activity: ~subject~</td><td>~statusname~</td><td>~startdate~</td><td>~enddate~</td></tr>
+
||~startdate~
  <tr><td></td><td colspan=3>$Level 3 Activity List$</td></tr>
+
||~enddate~
#]
+
|-
</table>
+
||
</pre>
+
| colspan="3"|$Level 3 Activity List$
::'''where''' "Level 3 Activity List" is the name you gave the [[Custom Field Type: Read Only – System Variables|Read Only – System Variable]] field
+
|}
 +
:::: '''where''' "Level 3 Activity List" is the name you gave the [[Custom Field Type: Read Only – System Variables|Read Only – System Variable]] field
  
  
 
===Level 3s with Less Than 25 Fields===
 
===Level 3s with Less Than 25 Fields===
If Level 3 has less than 25 fields it is not necessary to create a [[Custom Field Type: Read Only – System Variables|Read Only – System Variable]] Custom Field on the Level 2 that lists the Level 3 activities.  
+
If Level 3 has less than 25 fields it is not necessary to create a [[Custom Field Type: Read Only – System Variables|Read Only – System Variable]] Custom Field on the Level 2 that lists the Level 3 activities.
  
 
Instead you can use the following syntax '''within''' the '''[#...#]''' that lists the Level 2 activities:
 
Instead you can use the following syntax '''within''' the '''[#...#]''' that lists the Level 2 activities:
:<font size="3">'''[@(?object=activity)~standardfieldname~ $customfieldname$@]'''</font>
 
  
 +
::: <span style="font-size: medium;">'''[@(?object=activity)~standardfieldname~ $customfieldname$@]'''</span>
 
'''Note:'''
 
'''Note:'''
* This syntax will only work if there are '''less than 25 fields at Level 3.'''
+
 
 +
::* This syntax will only work if there are '''less than 25 fields at Level 3.'''
  
 
'''Example:'''
 
'''Example:'''
* To display a list of Level 2 activities, including any Level 3 activities under their parent Level 2 activity:
+
 
<pre style="white-space: pre-wrap;
+
::* To display a list of Level 2 activities, including any Level 3 activities under their parent Level 2 activity:
white-space: -moz-pre-wrap;
+
 
white-space: -pre-wrap;
+
[#(?object=activity::orderby=startdate) #]
white-space: -o-pre-wrap;
+
 
word-wrap: break-word;">
+
{|
<table>
+
|-
[#(?object=activity::orderby=startdate)
+
||Level 2 Activity: ~subject~
<tr><td>Level 2 Activity: ~subject~</td><td>~statusname~</td><td>~startdate~</td><td>~enddate~</td></tr>
+
||~statusname~
  <tr><td></td><td colspan=3>
+
||~startdate~
      <table>
+
||~enddate~
          [@(?object=activity;orderby=typename)<tr><td> Level 3 Activity: ~typename~</td><td>~location~</td></tr>@]
+
|-
      </table>
+
||
    </td></tr>
+
| colspan="3"|[@(?object=activity;orderby=typename)@]
#]
+
{|
</table>
+
|-
</pre>
+
||Level 3 Activity: ~typename~
 +
||~location~
 +
|}
 +
|}
  
 
==Displaying a Specific Number of Items in a List==
 
==Displaying a Specific Number of Items in a List==
 
When you want to display only specific number of activities or transactions in a [[Web Page View]] use the following syntax.
 
When you want to display only specific number of activities or transactions in a [[Web Page View]] use the following syntax.
<pre style="white-space: pre-wrap;
+
 
white-space: -moz-pre-wrap;
+
<pre style="white-space: -o-pre-wrap; word-wrap: break-word;"> [#(?object=object::orderby=field)  
white-space: -pre-wrap;
 
white-space: -o-pre-wrap;  
 
word-wrap: break-word;">
 
[#(?object=object::orderby=field)  
 
 
     <!--@sslogic(~index~='num')-->  
 
     <!--@sslogic(~index~='num')-->  
 
       ~standard field~ $custom field$ <br />  
 
       ~standard field~ $custom field$ <br />  
Line 735: Line 903:
 
</pre>
 
</pre>
 
'''where:'''
 
'''where:'''
* num = number of activities that should be displayed
+
 
 +
::* num = number of activities that should be displayed
  
 
=XML Variables=
 
=XML Variables=
Line 744: Line 913:
  
 
==Filtered XML display output==
 
==Filtered XML display output==
<pre>
+
<pre>@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A")~FirstName.nodevalue~ ~LastName.nodevalue~<br />#]@</pre>
@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A")~FirstName.nodevalue~ ~LastName.nodevalue~<br>#]@</pre>
 
  
  
 
=Date/Time Variables=
 
=Date/Time Variables=
 
==Standard Fields Date/Time==
 
==Standard Fields Date/Time==
 +
'''Variable List:'''
  
'''Variable List:'''
+
::: {| border="1" cellpadding="5"
:{| border="1" cellpadding="5"
+
'''Start Date''''''End Date''''''Close Date'''<br />''Level 1 only'''''Modified Date''''''Display Format'''@startdate@@enddate@@closedate@@modifieddate@Date formatted according to user preferences (At Level 1 Modified Date also includes the time: 15:40)@longstartdate@@longenddate@@longclosedate@@longmodifieddate@Friday, January 23, 2009@fullstartdate@@fullenddate@@fullclosedate@@fullmodifieddate@2009-01-23 15:40:00@datetime(fullstartdate)@@datetime(fullenddate)@@datetime(fullclosedate)@@datetime(fullmodifieddate)@2009-01-23 15:40:00@date(fullstartdate)@@date(fullenddate)@@date(fullclosedate)@@date(fullmodifieddate)@2009-01-23
|-
 
|'''Start Date'''||'''End Date'''||'''Close Date'''<br>''Level 1 only''||'''Modified Date'''||'''Display Format'''
 
|-
 
|@startdate@||@enddate@||@closedate@||@modifieddate@||Date formatted according to user preferences (At Level 1 Modified Date also includes the time: 15:40)
 
|-
 
|@longstartdate@||@longenddate@||@longclosedate@||@longmodifieddate@||Friday, January 23, 2009
 
|-
 
|@fullstartdate@||@fullenddate@||@fullclosedate@||@fullmodifieddate@||2009-01-23 15:40:00
 
|-
 
|@datetime(fullstartdate)@||@datetime(fullenddate)@||@datetime(fullclosedate)@||@datetime(fullmodifieddate)@||2009-01-23 15:40:00
 
|-
 
|@date(fullstartdate)@||@date(fullenddate)@||@date(fullclosedate)@||@date(fullmodifieddate)@||2009-01-23
 
|}
 
  
*'''Note''': ''Start Time'' and ''End Time'' are stored within the ''fullstartdate'' and ''fullenddate'' fields respectively. They can be accessed and formatted using the variables elements listed below.
 
  
  
 +
::* '''Note''': ''Start Time'' and ''End Time'' are stored within the ''fullstartdate'' and ''fullenddate'' fields respectively. They can be accessed and formatted using the variables elements listed below.
  
 
'''To display specific elements of the Start Date, Start Time, End Date, End Time, Close Date, Modified Date''':
 
'''To display specific elements of the Start Date, Start Time, End Date, End Time, Close Date, Modified Date''':
  
:{| border="1" cellpadding="5"
+
::: {| border="1" cellpadding="5"
|-
+
@month(fullstartdate)@month number in ''Start Date''@monthname(fullstartdate)@name of month in ''Start Date''@day(fullstartdate)@day in ''Start Date''@dayweek(fullstartdate)@name of day in ''Start Date''@year(fullstartdate)@year in ''Start Date''@hour(fullstartdate)@hour in ''Start Time'' using 12 hour clock (0-12)@ampm(fullstartdate)@AM or PM reference for ''Start Time''@hour24(fullstartdate)@hour in ''Start Time'' using 24 hour clock (0-24)@minute(fullstartdate)@minute in ''Start Time''
|@month(fullstartdate)@||month number in ''Start Date''
 
|-
 
|@monthname(fullstartdate)@||name of month in ''Start Date''
 
|-
 
|@day(fullstartdate)@||day in ''Start Date''
 
|-
 
|@dayweek(fullstartdate)@||name of day in ''Start Date''
 
|-
 
|@year(fullstartdate)@||year in ''Start Date''
 
|-
 
|@hour(fullstartdate)@||hour in ''Start Time'' using 12 hour clock (0-12)
 
|-
 
|@ampm(fullstartdate)@||AM or PM reference for ''Start Time''
 
|-
 
|@hour24(fullstartdate)@||hour in ''Start Time'' using 24 hour clock (0-24)
 
|-
 
|@minute(fullstartdate)@||minute in ''Start Time''
 
|}
 
:'''Note:''' For '''End Date''', '''Close Date''' or '''Modified Date''' replace '''fullstartdate''' with '''fullenddate''', '''fullclosedate''' or '''fullmodifieddate''' respectively.'''
 
:''(seconds are not available for standard date/time fields)''
 
:''('''Close Date''' does not have a time associated with it)
 
  
 +
::: '''Note:''' For '''End Date''', '''Close Date''' or '''Modified Date''' replace '''fullstartdate''' with '''fullenddate''', '''fullclosedate''' or '''fullmodifieddate''' respectively.'''
 +
::: ''(seconds are not available for standard date/time fields)''
 +
::: ''('''Close Date''' does not have a time associated with it)
 +
'''Examples:'''
 +
::
 +
::* To display the Start Date in the format '''February 22, 1985''' you would use:
  
'''Examples:'''
 
* To display the Start Date in the format '''February 22, 1985''' you would use:
 
 
  @monthname(fullstartdate)@ @day(fullstartdate)@, @year(fullstartdate)@
 
  @monthname(fullstartdate)@ @day(fullstartdate)@, @year(fullstartdate)@
  
* To display the End Time in the format '''06:45PM''' you would use:
+
::* To display the End Time in the format '''06:45PM''' you would use:
 +
 
 
  @hour(fullenddate)@:@minute(fullenddate)@@ampm(fullenddate)@
 
  @hour(fullenddate)@:@minute(fullenddate)@@ampm(fullenddate)@
  
 
==Current Date/Time==
 
==Current Date/Time==
 
'''Variable List:'''
 
'''Variable List:'''
:{| border="1" cellpadding="5"
+
 
|-
+
::: {| border="1" cellpadding="5"
!Variable!!Content!!Display!!Comment
+
VariableContentDisplayComment@datetime(currentdate)@current date and time as for yyyy-mm-dd HH:mm:ss2013-01-22 17:55:22See also [[Obtain Server Date and Time]]@date(currentdate)@current date as for yyyy-mm-dd2013-05-17&nbsp;@currentdate@current date2009 January 25&nbsp;@now@current date and time2009 August 25 11:05AMWorkflows only. Not available within [[UTA]]s
|-
 
||@datetime(currentdate)@||current date and time as for yyyy-mm-dd HH:mm:ss||2013-01-22 17:55:22||See also [[Obtain Server Date and Time]]
 
|-
 
||@date(currentdate)@||current date as for yyyy-mm-dd||2013-05-17||&nbsp;
 
|-
 
||@currentdate@||current date||2009 January 25||&nbsp;
 
|-
 
||@now@||current date and time||2009 August 25 11:05AM||Workflows only. Not available within [[UTA]]s
 
|}
 
  
  
 
'''To display specific elements of the current date or time''':
 
'''To display specific elements of the current date or time''':
:{| border="1" cellpadding="5"
 
|-
 
|@month(currentdate)@||current month number
 
|-
 
|@monthname(currentdate)@||name of current month
 
|-
 
|@day(currentdate)@||current day
 
|-
 
|@dayweek(currentdate)@||name of current day
 
|-
 
|@year(currentdate)@||current year
 
|-
 
|@hour(currentdate)@||current hour using 12 hour clock (0-12)
 
|-
 
|@ampm(currentdate)@||AM or PM reference for current time
 
|-
 
|@hour24(currentdate)@||current hour using 24 hour clock (0-24)
 
|-
 
|@minute(currentdate)@||current minute
 
|}
 
:(seconds are not available for the current time)
 
  
 +
::: {| border="1" cellpadding="5"
 +
@month(currentdate)@current month number@monthname(currentdate)@name of current month@day(currentdate)@current day@dayweek(currentdate)@name of current day@year(currentdate)@current year@hour(currentdate)@current hour using 12 hour clock (0-12)@ampm(currentdate)@AM or PM reference for current time@hour24(currentdate)@current hour using 24 hour clock (0-24)@minute(currentdate)@current minute
  
 +
::: (seconds are not available for the current time)
 
'''Examples:'''
 
'''Examples:'''
* To display the current date/time in the format '''Friday at 19:55''' you would use:
+
 
 +
::* To display the current date/time in the format '''Friday at 19:55''' you would use:
 +
 
 
  @dayweek(currentdate)@ at @hour24(currentdate)@:@minute(currentdate)@
 
  @dayweek(currentdate)@ at @hour24(currentdate)@:@minute(currentdate)@
  
 
==Custom Fields Date/Time==
 
==Custom Fields Date/Time==
 +
'''For a custom field on the same level as the Web Page View Field, you can parse out a particular date/time in a date field'''
  
'''For a custom field on the same level as the Web Page View Field, you can parse out a particular date/time in a date field'''
+
::: {| border="1" cellpadding="5"
 +
VariableContentDisplay@date(''fieldname'')@custom field date as for yyyy-mm-dd2013-05-17
  
:{| border="1" cellpadding="5"
 
|-
 
!Variable!!Content!!Display
 
|-
 
||@date(''fieldname'')@||custom field date as for yyyy-mm-dd||2013-05-17
 
  
|-
+
@month(''fieldname'')@month number in ''fieldname''05@monthname(''fieldname'')@name of month in ''fieldname''May@day(''fieldname'')@day in ''fieldname''17@dayweek(''fieldname'')@name of day in ''fieldname''Friday@year(''fieldname'')@year in ''fieldname''2013@hour(''fieldname'')@hour in ''fieldname'' using 12 hour clock (0-12)12@ampm(''fieldname'')@AM or PM reference for time in ''fieldname''AM@hour24(''fieldname'')@hour in ''fieldname'' using 24 hour clock (0-24)00@minute(''fieldname'')@minute in ''fieldname''00@second(''fieldname'')@second in ''fieldname''00
|@month(''fieldname'')@||month number in ''fieldname''||05
 
|-
 
|@monthname(''fieldname'')@||name of month in ''fieldname''||May
 
|-
 
|@day(''fieldname'')@||day in ''fieldname''||17
 
|-
 
|@dayweek(''fieldname'')@||name of day in ''fieldname''||Friday
 
|-
 
|@year(''fieldname'')@||year in ''fieldname''||2013
 
|-
 
|@hour(''fieldname'')@||hour in ''fieldname'' using 12 hour clock (0-12)||12
 
|-
 
|@ampm(''fieldname'')@||AM or PM reference for time in ''fieldname''||AM
 
|-
 
|@hour24(''fieldname'')@||hour in ''fieldname'' using 24 hour clock (0-24)||00
 
|-
 
|@minute(''fieldname'')@||minute in ''fieldname''||00
 
|-
 
|@second(''fieldname'')@||second in ''fieldname''||00
 
|}
 
  
  
 
'''Examples:'''
 
'''Examples:'''
* To display the custom field '''Date Of Birth''' in the format '''31-01-2001''' you would use:
+
 
 +
::* To display the custom field '''Date Of Birth''' in the format '''31-01-2001''' you would use:
 +
 
 
  @day(date of birth)@-@month(date of birth)@-@year(date of birth)@
 
  @day(date of birth)@-@month(date of birth)@-@year(date of birth)@
  
Line 890: Line 984:
  
 
=Miscellaneous Variables=
 
=Miscellaneous Variables=
 +
==Adding an image from Upload fields==
 +
Users can return image thumbnails or meta data from multiple file fields using the list syntax below":
 +
 +
::* Show thumbnail image using thunbnailpath option:
 +
 +
<pre>@multi file name.template[# <img src="~thumbnailpath~" alt="" width="240" /> #]@
 +
</pre>
 +
 +
::* Show thumbnail image and file name using filepath option:
 +
 +
<pre>@multi file name.template[# <img src="~filepath~/thumbnail/?maxwidth=240" alt="" width="240" />~filename~#]@
 +
</pre>
 +
 +
::* Show thumbnail image and file name using compressedpath option:
 +
 +
<pre>@multi file name.template[# <img src="~compressedpath~/thumbnail/?maxwidth=240" alt="" width="240" />~filename~#]@
 +
</pre>
 +
 +
::* Show file name, size and upload date:
 +
 +
<pre>@multi file name.template[# ~filename~, ~filesize~, ~uploaddate~#]@
 +
</pre>
 +
 +
 
==Adding a File Upload button==
 
==Adding a File Upload button==
 
To display a button to upload to a [[Single File]] or [[Multiple Files]] custom field:
 
To display a button to upload to a [[Single File]] or [[Multiple Files]] custom field:
* Single File:
 
:<font size="3"><input type=button class=Button value='Button Label' onclick="x_uploadfile(''customfieldid'',-1,'@codedid@')" /></font>
 
 
* Multiple Files:
 
:<font size="3"><input type=button class=Button value='Button Label.' onclick="x_uploadfolder(''customfieldid'','@codedid@')" /></font>
 
  
 +
::* Single File:
 +
::: <span style="font-size: medium;"><input class="Button" type="button" value="Button Label" /></span>
 +
::
 +
::* Multiple Files:
 +
::: <span style="font-size: medium;"><input class="Button" type="button" value="Button Label." /></span>
 
'''where:'''
 
'''where:'''
* ''customfieldid'' = the field id of the Single or Multiple file custom field (without '''cf_''')
+
::
 +
::* ''customfieldid'' = the field id of the Single or Multiple file custom field (without '''cf_''')
  
 +
'''Example:'''
  
'''Example:'''
+
  <input class="Button" type="button" value="Multiple files..." />
  <input type=button class=Button value='Multiple files...' onclick="x_uploadfolder(''customfieldid'','@codedid@')" />
 
  
 
'''Note:''' if adding to a [[Web Page View]] you will need to add the following to the page:
 
'''Note:''' if adding to a [[Web Page View]] you will need to add the following to the page:
<pre>
+
 
function include_dom(script_filename) {
+
<pre>function include_dom(script_filename) {
 
     var html_doc = document.getElementsByTagName('head').item(0);
 
     var html_doc = document.getElementsByTagName('head').item(0);
 
     var js = document.createElement('script');
 
     var js = document.createElement('script');
Line 921: Line 1,040:
 
</pre>
 
</pre>
 
You will also have to call the ''includejsfiles'' function in the body onload:
 
You will also have to call the ''includejsfiles'' function in the body onload:
<body onload="includejsfiles();">
+
 
 +
 
 +
 
 +
 
  
 
'''Alternatively:'''
 
'''Alternatively:'''
Line 928: Line 1,050:
  
 
'''Example:'''
 
'''Example:'''
  <input type=button class=Button value='Upload' onclick="openupload('@fieldname.uploadlink@')" />
+
 
<pre>
+
  <input class="Button" type="button" value="Upload" />
function openupload(url)
+
<pre>function openupload(url)
 
{  
 
{  
 
     upload_window = window.open(url,'upload_window', 'menubar=yes,scrollbars=yes,width=800,height=600,status=no,resizable=yes,dependent=yes,alwaysRaised=yes');
 
     upload_window = window.open(url,'upload_window', 'menubar=yes,scrollbars=yes,width=800,height=600,status=no,resizable=yes,dependent=yes,alwaysRaised=yes');
Line 941: Line 1,063:
  
 
==Displaying a Dynamic Data Grid field==
 
==Displaying a Dynamic Data Grid field==
 
 
To show a [[Custom Field Type: Dynamic Data – Data Grid|Dynamic Data – Data Grid]] field in a webpage view field use the following syntax:
 
To show a [[Custom Field Type: Dynamic Data – Data Grid|Dynamic Data – Data Grid]] field in a webpage view field use the following syntax:
:<font size="3">'''@fieldname.table'''@</font>
 
 
 
  
 +
::: <span style="font-size: medium;">'''@fieldname.table'''@</span>
 
==Retrieving History for Fields with Track Changes Enabled==
 
==Retrieving History for Fields with Track Changes Enabled==
 
+
The following syntax is used to retrieve standard or custom field history:
The following syntax is used to retrieve custom field history:
 
  
 
For the [[Status]] standard field:
 
For the [[Status]] standard field:
:<font size="3">'''@HistoryOf(status)@'''</font>
 
:<font size="3">'''@HistoryOf(statuscaption)@'''</font>
 
  
For a [[Custom Field]]:  
+
::: <span style="font-size: medium;">'''@HistoryOf(status)@'''</span>
:<font size="3">'''@HistoryOf(''customfieldid'')@'''</font>
+
::: <span style="font-size: medium;">'''@HistoryOf(statuscaption)@'''</span>
 +
For a [[Custom Field]]:
 +
::: <span style="font-size: medium;">'''@HistoryOf(''customfieldid'')@'''</span>
 
OR
 
OR
:<font size="3">'''@HistoryOf(''customfieldname'')@'''</font>
+
::: <span style="font-size: medium;">'''@HistoryOf(''customfieldname'')@'''</span>
 +
'''Notes:'''
 +
:::* ''HistoryOf'' is case sensitive.
 +
:::* See the [[HistoryOf function]] page for a complete description of this variable and its uses.
 +
 
 +
<!--:::* You can only obtain the history of the Status field and [[Custom Fields]] in this way.-->
 +
==For Hybrid Sign-Up Pages==
 +
::: The @user_input_form@ will display the associated user sign up form on a company sign up page if included in the HTML template of the company sign up page.
  
'''Notes:'''
 
:* ''HistoryOf'' is case sensitive.
 
:* You can only obtain the history of the Status field and [[Custom Fields]] in this way.
 
  
==For Hybrid Sign-Up Pages==
+
==Currency Format==
:The @user_input_form@ will display the associated user sign up form on a company sign up page if included in the HTML template of the company sign up page.
+
::: You can use the following syntax to format a custom field with currency: @format(L2 Subcontract total y1,currency,USD,2)@. The last parameter can be changed from 2 to 0 to display as a whole number.
 +
==Session Variables==
 +
When using features such as Organization Switching, you may want to pull in specific data based on your current session.
 +
 
 +
:: Company Fields: '''@sessioncompany.fieldname@'''
 +
Example: @sessioncompany.name@ would return the Company Name of the organization you are currently logged in as.
  
 
=Controls=
 
=Controls=
 
==Hide a variable if it is missing==
 
==Hide a variable if it is missing==
 
 
Put the following in front of variable name.
 
Put the following in front of variable name.
:<font size="3">'''&lt;!--hideifnotfound-->'''</font>
 
  
 +
::: <span style="font-size: medium;">'''&lt;!--hideifnotfound-->'''</span>
 
'''Example''':
 
'''Example''':
<pre>
+
 
  <!--hideifnotfound-->@parent.contact.adjuster.email@
+
<pre> <!--hideifnotfound-->@parent.contact.adjuster.email@
 
</pre>
 
</pre>
  
Line 990: Line 1,116:
 
</pre>
 
</pre>
  
* The content to be displayed (the middle line) can either be in plaintext or in HTML.
+
::* The content to be displayed (the middle line) can either be in plaintext or in HTML.
* Be sure there are single quotes around the variable and value.
+
::* Be sure there are single quotes around the variable and value.
* SSlogic does not support nested logic statements.  
+
::* SSlogic does not support nested logic statements.
  
 +
'''Example:'''
 +
 +
::* The following will display a Christmas tree image if the month is December:
  
'''Example:'''
 
* The following will display a Christmas tree image if the month is December:
 
 
<pre>
 
<pre>
 
<!--@sslogic(month(now())=12)-->
 
<!--@sslogic(month(now())=12)-->
   <img src='images/xmasstree.jpg'>
+
   <img src="images/xmasstree.jpg" alt="" />
 
<!--@end-->
 
<!--@end-->
 
</pre>
 
</pre>
Line 1,006: Line 1,133:
  
 
==How to display check boxes in the Web Page View==
 
==How to display check boxes in the Web Page View==
 +
To display Select Many - Check Box type custom fields as check boxes in a web page view add '''@checkbox('fieldname/fieldnumber','option name')@''' to the check box control.
  
To display Select Many - Check Box type custom fields as check boxes in a web page view add '''@checkbox('fieldname/fieldnumber','option name')@''' to the check box control.
+
This syntax works if the check boxes are on the same level.
  
This syntax works if the check boxes are on the same level.
+
'''Example:'''
  
'''Example:'''
+
<pre><input type="checkbox" />
<pre>
 
<input type="checkbox" @checkbox('12345','yes')@>
 
 
</pre>
 
</pre>
  
:See Also: [[Updateable Web Page View Fields]] if you wish the Web Page View check boxes to have the ability to change the underlying data.
+
::: See Also: [[Updateable Web Page View Fields]] if you wish the Web Page View check boxes to have the ability to change the underlying data.
 +
==How to display level two check boxes on level one in the Web Page View==
 +
@checkboxvalue(id
 +
 
 +
values to be checked)@
 +
 
 +
<input name="checkboxb20" type="checkbox" value="Limited community support" />
  
==How to display level two check boxes on level one in the Web Page View==
 
@checkboxvalue(id||values to be checked)@
 
  
<input type="checkbox" name="checkboxb20" value="Limited community support"  @checkboxvalue($1199639$||Limited community support)@>
+
::* Use two "'''|'''" (pipes) to separate '''id''' and '''value''' to be checked
 
  
* Use two "'''|'''" (pipes) to separate '''id''' and '''value''' to be checked
 
 
where 1199639 is customfield id
 
where 1199639 is customfield id
 
if it is used on the same level '''@1199639@'''
 
if it is used on the same level '''@1199639@'''
Line 1,040: Line 1,168:
  
 
==How to suppress the Page Footer with Printing the Page==
 
==How to suppress the Page Footer with Printing the Page==
 
 
To suppress the footer when printing the page you need to change your browser settings.
 
To suppress the footer when printing the page you need to change your browser settings.
  
Line 1,062: Line 1,189:
  
 
==How to control print behaviour==
 
==How to control print behaviour==
 +
'''To define a page break place the following code in the HTML source before the content you deem as the next page''':
 +
  
'''To define a page break place the following code in the HTML source before the content you deem as the next page''':
+
'''To change the page orientation to landscape first place the following in the header portion ('''
<pre>
+
 
<div style="PAGE-BREAK-AFTER: always"><br style="height:0; line-height:0"></div>
+
''') of the HTML''':
</pre>
+
 
'''To change the page orientation to landscape first place the following in the header portion (<head></head>) of the HTML''':
+
'''<strong>Then place'''</strong>
<pre>
 
<style type="text/css" media="print">
 
div.page  {
 
writing-mode: tb-rl;
 
height: 80%;
 
margin: 10% 0%;
 
margin-right: 80pt;
 
filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=1);
 
}
 
</style>
 
</pre>
 
'''Then place <pre><div class="page"></div> </pre>in the HTML source around the "page" content.'''
 
  
Example: <pre><div class="page">This is the page content that needs to be in landscape</div></pre>
+
<pre> </pre>
 +
'''in the HTML source around the "page" content.'''
 +
Example:
  
 +
<div class="page">This is the page content that needs to be in landscape</div>
 
Please note that the page orientation control only works with Internet Explorer and is not the greatest quality print due to the page being converted to an image then rotated.
 
Please note that the page orientation control only works with Internet Explorer and is not the greatest quality print due to the page being converted to an image then rotated.
  
 
==How to control print behaviour when saving as a PDF==
 
==How to control print behaviour when saving as a PDF==
 +
To define a page break in a PDF add before the content you deem as the next page.
  
To define a page break in a PDF add <pd4ml:page.break/> before the content you deem as the next page.
+
To change the orientation of a page to landscape in a PDF add before the content you deem as the next page.
  
To change the orientation of a page to landscape in a PDF add <pd4ml:page.break pageFormat="rotate"> before the content you deem as the next page.
+
::* See [[PDF Writer Custom Tags]] for further [[PDF]] formatting options
* See [[PDF Writer Custom Tags]] for further [[PDF]] formatting options
+
 
 +
=Troubleshooting=
 +
::* '''Issue''': 2 variables run together (thus removing the ending @ and beginning @)
 +
::* '''Resolution''': Place a non-breaking space tag (&amp;nbsp;) between the variables.
  
  
=Troubleshooting=
 
  
* '''Issue''': 2 variables run together (thus removing the ending @ and beginning @)
+
::** '''Issue''': For a list of level 2 activities, the code is showing instead of the field headings and values you've designated.
* '''Resolution''': Place a non-breaking space tag (&amp;nbsp;) between the variables.
+
::** '''Resolution''': Insert a comment tag before the first cell tag. i.e.
  
 +
<pre> </pre>
  
* '''Issue''': For a list of level 2 activities, the code is showing instead of the field headings and values you've designated.
+
index  
* '''Resolution''': Insert a comment tag before the first cell tag. i.e.<pre><tr><!--~index~--><td></pre>
 
  
 
==See Also==
 
==See Also==
* [[Root Company Variable]]s
+
::* [[Root Company Variable]]s
* [[sslogic]]
+
::* [[sslogic]]
* [[ssattach]]
+
::* [[ssattach]]
* [[sscalculation]]
+
::* [[sscalculation]]
* [[Web Page View Field]]
+
::* [[Web Page View Field]]
* [[Attach a PDF to a Web Page View]]
+
::* [[Attach a PDF to a Web Page View]]
* [[Updateable Web Page View Fields]]
+
::* [[Updateable Web Page View Fields]]
* [[Changing the Status from a Web Page View]]
+
::* [[Changing the Status from a Web Page View]]
* [[Custom Field Type: Display Only – Web Page View]]
+
::* [[Custom Field Type: Display Only – Web Page View]]
* [[:Category:PDF|PDF Category]]
+
::* [[:Category:PDF|PDF Category]]
* [[PDF Writer Custom Tags]]
+
::* [[PDF Writer Custom Tags]]
* [[Adding JavaScript JS files to Web Page View Pages]]
+
::* [[Adding JavaScript JS files to Web Page View Pages]]
* [[Custom Field ID|Determining the Custom Field ID]]
+
::* [[Custom Field ID|Determining the Custom Field ID]]
* [[Allow for '$' in webpage view field showing activity]]
 
 
 
  
 
[[Category:Custom Fields]][[Category:Variables]][[Category:PDF]]
 
[[Category:Custom Fields]][[Category:Variables]][[Category:PDF]]

Latest revision as of 16:45, 17 March 2023

The Web Page View Field provides the ability to display a fully formatted document or web page.

In constructing this type of page HTML is used in conjunction with the following variables.

Contents

Variable List

Current User

Note: "me" -- refers to the current user

@me.firstname@ will be replaced by current user's firstname

@me.lastname@

@me.email@

@me.phone@

@me.companyname@

@me.type@ (returns 'User', 'Local User Administrator' or 'Global User Administrator')

UTA Level 1, Sales Opportunity and Job Variables

@name@ - standard field Application Name.

@type@ - standard field Application Template Type.

@status@ - standard field Status

@typecaption@ - standard field Application Template Type Caption.

@statuscaption@ - standard field Status Caption

@type_lang@ - standard field Application Template Type (Based on user language setting).

@status_lang@ - standard field Status (Based on user language setting)

@description@

@requirements@

@currency@

@revenue@

@probability@

@modifiedby@ / @modifiedbyid@

@modifieddate@

@closedate@

@startdate@

@enddate@

@createddate@

@createdby@

@jobquestions@ - displays as combo boxes

@jobquestionsr@ - displays question only

@jobskills@


@owner.field@

Example: @owner.fullname@ or @owner.address@

@person.field@

Example: @person.fullname@ or @person.address@


@company.field@

Example: @company.name@ or @company.address@


@company.owner.field@

Example @company.owner.email@

@branch.field@

Example: @branch.name@ or @branch.address@

@apptype@ the Application ID (appid) of the UTA.

UTA Level 2 / Activities Variables

@subject@

@description@

@location@

@startdate@

@enddate@

@isallday@

@modifieddate@ (numeric value including time)

@longmodifieddate@ (text value excluding time)

@starthour@ - (0-23)

@starth@ - (0-12)

@startpmam@ - (PM or AM)

@startminute@

@endhour@ - (0-23)

@endh@ - (0-12)

@endpmam@ - (PM or AM)

@endminute@

@owner@

@eownerid@ - userid of the owner

@contact@

@assigned@

@eventid@

@typename@

@objectid@

@objecttype@

@rootcompanyid@

@rootcompany.name@

@contact.field@ @eamount@

Example: @contact.firstname@ or @contact.email@

@assigned.field@

Example: @assigned.firstname@ or @assigned.email@

@contact.company.field@ (same as assigned)

Example: @contact.company.address@ or @contact.company.city@

Custom Field Variables

@customfield name@ - by name

or

@#customfield id#@ - by id

Example: @more information@ or @#17342#@


See Also: Invoice Module Variables for Variables specific to the Invoicing module.


UTA Level 1 variables called from UTA Level 2

If your Web Page View is at Level 2, you can call Level 1 variables using:

@parent.fieldname@ or @parent.#fieldid#@ (Note: All field names should be entirely lower case.)

Example: @parent.status@ or @parent.startdate@ or @parent.#12345#@


UTA Level 2 variables called from UTA Level 3

When working at Level 3, you can call Level 2 variables using:

@parent.fieldname@ or @parent.#fieldid#@ (Note: All field names should be entirely lower case.)


UTA Level 1 variables called from UTA Level 3

If your Web Page View is at Level 3, you can call Level 1 variables using:

@parent.parent.fieldname@ or @parent.parent.#fieldid#@ (Note: All field names should be entirely lower case.)


Level 3 Associated Parent (Opportunity)

Where Payment Allocation is enabled you have two models to choose from before configuring: usually the Associated Parent is a Funding Stream of Overall Budget (event) and the associated object is the Disbursement (Level 3). In less granular cases the Associated Parent is the opportunity.

Level 3 Associated Parent


If Payment Allocation is enabled, you can pull fields from the Associated Parent using the following variable:

@linkparent.fieldname@

If your associated payment is linked to the event you can pull fields from the opporunity using the following variable:

@linkparent.parent.fieldname@ So @linkparent.parent.branch@ will return: SmartSimple Inc.

On the company/branch:

@linkparent.parent.branch.Transit@ will return: 1950

Field List

People Fields

firstname, lastname, fullname, title, email, phone, company, address, address2, city, province, state, country, postalcode, owner, modifieddate, cost, costunit, type, resourcename, isrecource, uprefix (prefix), usuffix (suffix), uphoneext (Phone Extension)

Company Fields

name, address, address2, city, province, state, country, postalcode, phone, fax, website

Lead Fields

status, description, name, phone, fax, address, address2, city, state, province, country, postalcode, website, firstname, lastname, contactphone, title, email, dat_added

UTA Contact and Account Variables

Owner:

@owner.fieldname@

Person (Level 1 only):

@person.fieldname@

Assigned (Level 2 only):

@assigned.fieldname@

Company (Level 1 only):

@client.fieldname@

Use @client.categoryids@ to return a list of category IDs - comma delimited - note the leading comma - e.g. ",1234,555,666,"

Use @client.categories@ to return a list of category names - comma delimited e.g. "Agency,Marketing,Good client"

Level 1 Contacts/Accounts

Individual

To display information for a single contact/account in the Level 1 contacts/accounts section:

@contact.rolename.fieldname@   or   @company.rolename.fieldname@

where:

  • rolename = the name of the role that has been assigned to the contact/account on the Level One item
  • fieldname = the name of the field that is located on the contact's record.

Example:

@contact.adjuster.firstname@ or @company.funding agency.address@

Note: if there is more than one contact/account assigned with the rolename specified, only one will be displayed.

List

To display a list of multiple contacts/accounts in the Level 1 contacts/accounts section:

[#(?object=contact) ~fieldname~ #] or [#(?object=company) ~fieldname~ #]

See below for details on how to filter and sort the list(s).

  • Note: to display the role that the contact or account is assigned on the Level 1 record use: ~role~
  • Note: to display the name of the contact's company use: ~companyname~

Level 2 Contacts/Accounts

Individual

To display information for a single contact in the Level 2 contacts section:

@contacts.rolename.fieldname@

where:

  • rolename = the name of the role that has been assigned to the contact on the Level Two item
  • fieldname = the name of the field that is located on the contact's record.

Example:

@contacts.adjuster.firstname@

Note: if there is more than one contact assigned with the rolename specified, only one will be displayed.

Contacts

To display a list of the contacts assigned at Level 2:

[#(?object=contact) ~firstname~ ~lastname~ ~email~ #]

To display only contacts assigned at Level 2 with a specific role/roles (only relevant if the Level 2 Multiple Contact List is enabled)

[#(?object=contact::criteria=roleid=12345) ~firstname~ ~lastname~ ~email~ #]

To get the intersection record identifier (equivalent to ~oprid~ at Level 1) (i.e. for use in Pandora functions)

[#(?object=contact) ~lnkid~ #]

To display the contact's profile status:

[#(?object=contact) ~firstname~ ~lastname~ ~ustatusid~ #]

Notes:

  • Contacts at level 2 cannot be filtered by rolename, only roleid
  • If the multiple contact list is enabled use ~role~ to display the assigned role.

Accounts

To display information for a single account in the Level 2 accounts section:

@companies.rolename.fieldname@

To display a list of the companies assigned at Level 2:

[#(?object=company::orderby=name)~name~ #]

To get the intersection record identifier (i.e. for use in Pandora functions)

[#(?object=company) ~clnkid~ #]

Notes:

  • The Account standard field is only available at Level 2 when the Multiple Account list is enabled. See here for details.

To display Level 1 Company Role or Contact Role custom fields

[#(?object=company;)$?opc_customfieldid$#] or [#(?object=contact;)$?opr_customfieldid$#]


where:

  • customfieldid = the numeric id of the custom field

Note: for level 2 records (when the multiple contact/company list(s) are enabled) use $?opr2_customfieldid$ and $?opc2_customfieldid$

Following the same format above, you can also reference custom fields on the company role using the @#field id#@ syntax.

Contact Detail

~uprefix~ ~firstname~ ~lastname~

~uaddress~ ~uaddress2~

~ucity~, ~ustate~ ~upostalcode~

To display Company Association or Contact Association fields

The syntax for extracting information on the entity to which they are associated is as follows . . .

[#(?object=association)~name~ ~standard field name~ $?afc_custom field id$ $?afc_custom field name$#]

[#(?object=companyassociation)~standard field name~ $custom field id$ $custom field name$#]

where:

  • standard field name = name of the standard field
  • custom field id = the numeric id of the custom field
  • custom field name = the name of the custom field


The syntax for extracting information on fields that are on the intersection, rather than the entity to which they are associated, is as follows . . .

[#(?object=association) ~afcompanyid~ #]

[#(?object=companyassociation)~afroleid~ #]


Other intersection specific variables options include:

  • ~afcid~: association (intersection) record id.
  • ~afcompanyid~: companyid of associated company
  • ~afcontactid~: userid of associated contact
  • ~afroleid~: roleid of association
  • ~afstartdate~: start date of association
  • ~afenddate~: end date of association

Role Based Custom Fields

When you have a Custom Field such as a Web Page View or MS Word Merge that is located on a User Role or Company Role you can access:

UTA Level 1 Information:

@levelone.fieldname@ or @levelone.customfieldid@

Contact Information:

@contact.fieldname@ or @contact.customfieldid@

Company Information:

@company.fieldname@ or @company.customfieldid@

When you want to refer to a User Role based Custom Field from a UTA Level 1 record use the following syntax: Owner:

@owner.fieldname@

Person:

@person.fieldname@

Contact:

@contact.rolename.fieldname@
where rolename is the role they are assigned on the Level 1 record

To Display a List of Activities, Notes, Transactions, Contacts, Companies, Consumers, Providers

Syntax

[#(?object=objectname::{options})~standardfieldname~ $customfieldname$#]

Where:

  • objectname is the name of the item to be listed.
Either: address, activity, assign, contact, user, group, company, notes, association, companyassociation, transaction, timesheet, level-1, utaproviderL1, utaproviderL2, utaconsumerL1, utaconsumerL2 or linkactivity
  • standardfieldname is the name of a standard field (between tildes, ~)
  • customfieldname is the name of a custom field (between dollar signs, $)

Notes:

  • You can refer to Custom Fields in the list using the Custom Field ID instead of the field name, still between dollar signs ($12345$)
  • level-1 can only be used as an object when referenced from a contact record. Also level-1 will only list the level 1s that the contact has been added to in the contacts section.
  • You can include text as well as variables within the [#...#] syntax.
  • When using this syntax for Web Page Views, Read Only – System Variables etc. you will usually want to include HTML table formatting within the [#...#] syntax (see examples below). For MS Word Merge custom fields the table defined on the MS Word Template document, with the columns delimited by pipes (|) within the [#...#].
  • ~Index~ can be used to number the lines (1, 2, 3...) Note: ~index~ does not work for all lists. For example, it cannot be used when listing contacts associated with a Level 1.
    • ~Index~ (upper case 'I') starts numbering at 1, ~index~ (lower case 'i') starts numbering at 0.

~eventid~ will display the id of the level 2.


Options:

Option Effect
orderby=standardfieldname Sorts the list in ascending order by the standard field specified
orderby=standardfieldname desc Sorts the list in descending order by the standard field specified
orderby=tbl_customfieldid.valuestr Sorts the list in ascending order by the custom field specified
criteria=standardfieldname=value Filters the list by the standard field and value specified
criteria=tbl_customfieldid.valuestr=value Filter the list by the custom field and value specified
criteria=(standardfieldname=value or standardfieldname=value) For multiple criteria when either conditional criteria can apply
criteria=(standardfieldname=value AND standardfieldname=value) For multiple criteria when both conditional criteria must apply
groupfunction=aggregatefunction Performs specified aggregate function on the listed fields
Ex. sum, count, countdistinct
  • multiple options (i.e. a criteria and an orderby option) can be included, separated by doubled colons (::)

Important: Any custom fields that you use as criteria or orderby must appear in the display. If you do not wish to display the field you can place it in a comment. (i.e.: <!--$12343$-->) However, if referencing a field as a property of a table you must show the value.

Examples:

[#(?object=activity)|~statusname~|~typename~|$speciality$|$123456$|#]
See MS Word Merge for further details on including tables on MS Word Merge documents
  • To reference the Consumer UTA Level 1 owner name and ownerid from a Provider UTA Level 1 Read Only - System Variable custom field
[#(?object=utaconsumer::criteria=statusname IN ('Placed','Resigned/Terminated'))~ownername~,~ownerid~ #]
  • To Display custom fields via List Syntax for Invoicing (objectname=appliedtoinvoices). Grabbing a custom field value off the invoice (ie. 282588) and into an adjustment.
Example: [#(?object=appliedtoinvoices)$282588$#]
Note: refer to the custom field by the number ONLY, do not use the custom field name.


[#(?object=contact) #]

First Name Last Name E-mail Address Cell Phone Number
~firstname~ ~lastname~ ~email~ $Cell Phone$
Note: The first line creates a header row for the table
  • For a list of Level 2 (or Level 3) activities sorted by Start Date in descending order:

[#(?object=activity::orderby=startdate desc)#]

~subject~ ~location~ ~startdate~


  • For a list of contacts assigned to a Level 1 with the role of "Internal People", sorted by surname:

[#(?object=contact::orderby=lastname::criteria=rolename='Internal People')#]

~firstname~ ~lastname~ ~email~
  • For a list of level 1 records, including owner details, that a Company has been asssigned to:

[#(?(object =level-1) NAME: ~name~ OWNERID: ~ownerid~ OWNERNAME: ~ownername~ #]

  • To display the level 1 ID of the level 1 records:

[#(?(object =level-1) OPPORTUNITY ID: ~op.opportunityid as oppid~ #]


  • For a list of all companies that the owner of a UTA record is associated with:
@owner.[#(?object=association)~name~ (Phone ~phone~)
#]@


  • To get a comma-separated list of the companyids of all the companies the current user is associated with with roleid 54545:
,@me.[#(?object=association::criteria=roleid=54545)~afcompanyid~,#]@


  • For a list of all contacts associated to the current user's parent company record (associated to the company with roleid 12345):
@me.parent.[#(?object=association::criteria=roleid='12345')~firstname~ ~lastname~ (Phone ~phone~)
#]@
  • For a list of a company's Active(current date is between start and end date) associations:
[#(?object=association::criteria=(afstartdate is null OR afstartdate<='@date(currentdate)@') AND (afenddate is null OR afenddate>='@date(currentdate)@'))~userid~,#]
  • For a list of all contacts/users located under a company with a given role
[#(?object=user::criteria=rolelist like '%,12345,%') ~email~ #]


  • To count the number of contacts assigned with the role of Reviewer:
[#(?object=contact::criteria=rolename="Reviewer"::groupfunction=count)~userid~#]


  • To include and format a date stored in a custom field (see also sscalculation)
[#(?object=activity)<!--@sscalculation(date_format("$fieldname$","%M %d, %Y"))-->#]


  • With Multiple Criteria:
[#(?object=contact::criteria=(rolename='External' or rolename='Internal'))~firstname~ ~lastname~#]


  • To sort descending by a custom field called Total Hours with a custom field id of 67292:
[#(?object=activity::orderby=tbl_67292.valuestr desc)Subject: ~subject~Total Hours: $Total Hours$Start Date: ~startdate~#]

Note: $Total Hours$ in the list could be listed as $67292$ with the same result.


  • To sort descending reviews in a specific status by a custom field on a separate UTA Level 1 field called $Staff Final Score$ with a custom field id of 1584168 in numeric order:
[#(?object=utaconsumerL1::orderby=tbl_15868.valuestr*1::criteria=(statusname='Member Review'))

Note: $Staff Final Score$ in the list could be listed as $15868$ with the same result.


  • To list a specific activity type only:
[#(?object=activity::orderby=startdate::criteria=typename='This Activity Type')~subject~~location~~startdate~#]


  • To list activities based on the type ID (Level 2 and Level 3 only):

[#(?object=activity::orderby=startdate::criteria=typeid='24160')#]

~subject~ ~location~ ~startdate~


  • To include a hyperlink to the object (for Accounts):

[#(?object=company::criteria=rolename="Cooperating Organization")#]

[s_viewcompany.jsp?companyid=~companyid~ ~name~] ~role~


  • To list activities based on status:

[#(?object=activity::orderby=startdate::criteria=statusname='Open')#]

~subject~ ~location~ ~startdate~


  • To list activities based on the status ID (Level 2 and Level 3 only):

[#(?object=activity::orderby=startdate::criteria=status.statusid='24160')#]

~subject~ ~location~ ~startdate~


  • To list UTA Providers:
[#(?object=utaproviderL1::criteria=rolename="Panel") ~name~ ~typename~ ~statusname~ ~enddate~ $Panel Review Date$ $Panel ID
<!--@sscalculation(@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A") 1+#]@ 0)-->
lt;br>#]


  • To list notes (from the record that contains the notes):
[#(?object=notes::orderby=createddate desc)~notes~~createddate~~username~#]
Note: This syntax is for "Public (Default)" notes only, not custom note types.
  • To list all companies under a parent company record:
[#(?object=company) ~name~ #]
  • To list all L3 allocations within a L2 budget record:
[#(?object=linkactivity) ~subject~ #]


  • To sum or count all the L3 allocations from the budget L2 record:
@linkactivity.sum(...)@ or @linkactivity.count(...)@

To list level 2 notes for each level 2 record at level 1:

[#(?object=activity::orderby=startdate desc)~subject~~description~~startdate~
[@(?object=notes::orderby=createddate desc)@]
~notes~ ~createddate~ ~username~
#]
Note: This syntax is for "Public (Default)" notes only, not custom note types.

To do a sum of all the unpaid payment transaction:

Total Paid: [#(?object=transaction::criteria=trstranstype=11 and tbl_1145339.valuestr='Paid'::groupfunction=sum)$1145183$ #] Note: $1145339$ - Status of payment $1145183$ - Payment Amount

Referencing Standard Fields of UTA Providers

Level 1 Field Name and Variable List
Field Name Variable
Application Name ~name~
Type Name ~typename~
Type ID ~type~
Status Name ~statusname~
Status ID ~statusid~
Start Date ~startdate~
End Date ~enddate~
Close Date ~closedate~
Branch No variables
Branch ID ~branchid~
Currency No variables
Exchange Currency No variables
Currency Exchange Rate No variables
Customer ~client~
Customer ID ~companyid~
Modified By No variables
Modified Date No variables
Owner (full name) ~ownername~
Owner (userid) ~updatedby~
Person (full name) No variables
Person (userid) ~oppeopleid~
Role Name ~rolename~
Role ID ~conroleid~

Example:

[#(?object=utaproviderL1) ~typename~ | ~statusname~ <br />#]
Level 2 Field Names and Variables List
Field Name Variable
Activity Type ~typename~
Activity Type ID ~typeid~
Owner ~ownername~
Owner ID ~eownerid~
Assigned People No variables
Status ~statusname~
Status ID ~statusid~
Subject ~subject~
Description ~description~
Location ~location~
Amount ~eamount~
Start Date ~startdate~
End Date ~enddate~
Opportunity ID ~cevconoppid~
Event ID ~cevprovevtid~
Rolename ~rolename~
Role ID ~cevroleid~

Example:

[#(?object=utaproviderL2) ~typename~ | ~statusname~ <br />#]

If you have multiple different UTAs connected as providers, you  can use criteria to filter:

[#(?object=utaproviderL1::criteria=provappid="12345") ~typename~ | ~statusname~ <br />#]

To Format the Start Date or Start Time

~date_format(startdate,'%Y-%m-%d') as startdate~
or
~date_format(startdate,'%h:%i %p') as starttime~

Note:

  • If you wish to use "orderby=startdate", along with a date format other than yyyy-mm-dd you must use a slightly different syntax.
  • Using "~date_format(startdate,'%d-%m-%Y') as startdate~" when using "orderby=startdate" will cause the date to be ordered by dd-mm-yyyy (rather than yyyy-mm-dd, which is chronological)
  • To avoid this, change "date_format(startdate,'%d-%m-%Y') as startdate" to "date_format(startdate,'%d-%m-%Y') as sdate"

Displaying Both Level 2 and Level 3 Activities at Level 1

When displaying a list of Level 2 activities using the [#(?object=activity;)...#] syntax, the corresponding Level 3 activities can be displayed under each of the parent Level 2 activities.


To facilitate this you must create a Read Only - System Variable field at Level 2 that contains the list of Level 3 activities, formatted and filtered as desired.

You can use Visibility Conditions, Role Field Permissions or Status Field Permissions to prevent the field from being displayed on the Level 2 record.

Example:

[@(?object=activity::orderby=typename)@]

Level 3 Activity: ~typename~ ~location~

Then create either a Web Page View or Read Only - System Variable at Level 1:

[#(?object=activity::orderby=startdate) #]

Level 2 Activity: ~subject~ ~statusname~ ~startdate~ ~enddate~
$Level 3 Activity List$
where "Level 3 Activity List" is the name you gave the Read Only – System Variable field


Level 3s with Less Than 25 Fields

If Level 3 has less than 25 fields it is not necessary to create a Read Only – System Variable Custom Field on the Level 2 that lists the Level 3 activities.

Instead you can use the following syntax within the [#...#] that lists the Level 2 activities:

[@(?object=activity)~standardfieldname~ $customfieldname$@]

Note:

  • This syntax will only work if there are less than 25 fields at Level 3.

Example:

  • To display a list of Level 2 activities, including any Level 3 activities under their parent Level 2 activity:

[#(?object=activity::orderby=startdate) #]

Level 2 Activity: ~subject~ ~statusname~ ~startdate~ ~enddate~
[@(?object=activity;orderby=typename)@]
Level 3 Activity: ~typename~ ~location~

Displaying a Specific Number of Items in a List

When you want to display only specific number of activities or transactions in a Web Page View use the following syntax.

 [#(?object=object::orderby=field) 
    <!--@sslogic(~index~='num')--> 
       ~standard field~ $custom field$ <br /> 
    <!--@end--> 
  #] <br /> 

where:

  • num = number of activities that should be displayed

XML Variables

Count how many options were selected

<!--@sscalculation(@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A") 1+#]@ 0)-->


Filtered XML display output

@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A")~FirstName.nodevalue~ ~LastName.nodevalue~<br />#]@


Date/Time Variables

Standard Fields Date/Time

Variable List:

'Start Date'End Date'Close Date
Level 1 onlyModified Date'Display Format@startdate@@enddate@@closedate@@modifieddate@Date formatted according to user preferences (At Level 1 Modified Date also includes the time: 15:40)@longstartdate@@longenddate@@longclosedate@@longmodifieddate@Friday, January 23, 2009@fullstartdate@@fullenddate@@fullclosedate@@fullmodifieddate@2009-01-23 15:40:00@datetime(fullstartdate)@@datetime(fullenddate)@@datetime(fullclosedate)@@datetime(fullmodifieddate)@2009-01-23 15:40:00@date(fullstartdate)@@date(fullenddate)@@date(fullclosedate)@@date(fullmodifieddate)@2009-01-23
  • Note: Start Time and End Time are stored within the fullstartdate and fullenddate fields respectively. They can be accessed and formatted using the variables elements listed below.
To display specific elements of the Start Date, Start Time, End Date, End Time, Close Date, Modified Date:
@month(fullstartdate)@month number in Start Date@monthname(fullstartdate)@name of month in Start Date@day(fullstartdate)@day in Start Date@dayweek(fullstartdate)@name of day in Start Date@year(fullstartdate)@year in Start Date@hour(fullstartdate)@hour in Start Time using 12 hour clock (0-12)@ampm(fullstartdate)@AM or PM reference for Start Time@hour24(fullstartdate)@hour in Start Time using 24 hour clock (0-24)@minute(fullstartdate)@minute in Start Time
Note: For End Date, Close Date or Modified Date replace fullstartdate with fullenddate, fullclosedate or fullmodifieddate respectively.
(seconds are not available for standard date/time fields)
(Close Date does not have a time associated with it)
Examples:
  • To display the Start Date in the format February 22, 1985 you would use:
@monthname(fullstartdate)@ @day(fullstartdate)@, @year(fullstartdate)@
  • To display the End Time in the format 06:45PM you would use:
@hour(fullenddate)@:@minute(fullenddate)@@ampm(fullenddate)@

Current Date/Time

Variable List:

VariableContentDisplayComment@datetime(currentdate)@current date and time as for yyyy-mm-dd HH:mm:ss2013-01-22 17:55:22See also Obtain Server Date and Time@date(currentdate)@current date as for yyyy-mm-dd2013-05-17 @currentdate@current date2009 January 25 @now@current date and time2009 August 25 11:05AMWorkflows only. Not available within UTAsTo display specific elements of the current date or time:
@month(currentdate)@current month number@monthname(currentdate)@name of current month@day(currentdate)@current day@dayweek(currentdate)@name of current day@year(currentdate)@current year@hour(currentdate)@current hour using 12 hour clock (0-12)@ampm(currentdate)@AM or PM reference for current time@hour24(currentdate)@current hour using 24 hour clock (0-24)@minute(currentdate)@current minute
(seconds are not available for the current time)
Examples:
  • To display the current date/time in the format Friday at 19:55 you would use:
@dayweek(currentdate)@ at @hour24(currentdate)@:@minute(currentdate)@

Custom Fields Date/Time

For a custom field on the same level as the Web Page View Field, you can parse out a particular date/time in a date field

VariableContentDisplay@date(fieldname)@custom field date as for yyyy-mm-dd2013-05-17 @month(fieldname)@month number in fieldname05@monthname(fieldname)@name of month in fieldnameMay@day(fieldname)@day in fieldname17@dayweek(fieldname)@name of day in fieldnameFriday@year(fieldname)@year in fieldname2013@hour(fieldname)@hour in fieldname using 12 hour clock (0-12)12@ampm(fieldname)@AM or PM reference for time in fieldnameAM@hour24(fieldname)@hour in fieldname using 24 hour clock (0-24)00@minute(fieldname)@minute in fieldname00@second(fieldname)@second in fieldname00 Examples:
  • To display the custom field Date Of Birth in the format 31-01-2001 you would use:
@day(date of birth)@-@month(date of birth)@-@year(date of birth)@ Note: This syntax will not work for custom fields on a different level. You will not be able to reference, for example, @day(parent.fieldname)@. To parse out date/time information from a custom field on a different level, use the sscalculation syntax.

Miscellaneous Variables

Adding an image from Upload fields

Users can return image thumbnails or meta data from multiple file fields using the list syntax below":

  • Show thumbnail image using thunbnailpath option:
@multi file name.template[# <img src="~thumbnailpath~" alt="" width="240" /> #]@
  • Show thumbnail image and file name using filepath option:
@multi file name.template[# <img src="~filepath~/thumbnail/?maxwidth=240" alt="" width="240" />~filename~#]@
  • Show thumbnail image and file name using compressedpath option:
@multi file name.template[# <img src="~compressedpath~/thumbnail/?maxwidth=240" alt="" width="240" />~filename~#]@
  • Show file name, size and upload date:
@multi file name.template[# ~filename~, ~filesize~, ~uploaddate~#]@


Adding a File Upload button

To display a button to upload to a Single File or Multiple Files custom field:

  • Single File:
<input class="Button" type="button" value="Button Label" />
  • Multiple Files:
<input class="Button" type="button" value="Button Label." />

where:

  • customfieldid = the field id of the Single or Multiple file custom field (without cf_)

Example:

<input class="Button" type="button" value="Multiple files..." />

Note: if adding to a Web Page View you will need to add the following to the page:

function include_dom(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', 'javascript');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', script_filename);
    html_doc.appendChild(js);
    return false;
}
function includejsfiles() {
  include_dom("/validate.js");
}

You will also have to call the includejsfiles function in the body onload:



Alternatively:

You may also use @fieldname.uploadlink@ to get the url for the upload page and construct your own function to open the window.

Example:

<input class="Button" type="button" value="Upload" />
function openupload(url)
{ 
    upload_window = window.open(url,'upload_window', 'menubar=yes,scrollbars=yes,width=800,height=600,status=no,resizable=yes,dependent=yes,alwaysRaised=yes');
    upload_window.opener = window;
    upload_window.focus();
}

Note: this method will only open the single file upload page.

Displaying a Dynamic Data Grid field

To show a Dynamic Data – Data Grid field in a webpage view field use the following syntax:

@fieldname.table@

Retrieving History for Fields with Track Changes Enabled

The following syntax is used to retrieve standard or custom field history:

For the Status standard field:

@HistoryOf(status)@
@HistoryOf(statuscaption)@

For a Custom Field:

@HistoryOf(customfieldid)@

OR

@HistoryOf(customfieldname)@

Notes:

  • HistoryOf is case sensitive.
  • See the HistoryOf function page for a complete description of this variable and its uses.

For Hybrid Sign-Up Pages

The @user_input_form@ will display the associated user sign up form on a company sign up page if included in the HTML template of the company sign up page.


Currency Format

You can use the following syntax to format a custom field with currency: @format(L2 Subcontract total y1,currency,USD,2)@. The last parameter can be changed from 2 to 0 to display as a whole number.

Session Variables

When using features such as Organization Switching, you may want to pull in specific data based on your current session.

Company Fields: @sessioncompany.fieldname@

Example: @sessioncompany.name@ would return the Company Name of the organization you are currently logged in as.

Controls

Hide a variable if it is missing

Put the following in front of variable name.

<!--hideifnotfound-->

Example:

  <!--hideifnotfound-->@parent.contact.adjuster.email@

Note: the <!--hideifnotfound--> and the variable must be in immediate succession, and not separated by a space.

How to display different content based on a value using SSlogic

To display content based on a value from a variable add <!--@sslogic('@branch.name@'='Internal Staff')--> in front of the content and <!--@end--> at the end of the content. If there are 2 different pieces of content to be displayed based on a value and all others add <!--@else--> between the 2 pieces of content.

<!--@sslogic(CONDITION)-->
   The content to be displayed when condition is true.
   This can be more than one line.
<!--@end-->
  • The content to be displayed (the middle line) can either be in plaintext or in HTML.
  • Be sure there are single quotes around the variable and value.
  • SSlogic does not support nested logic statements.

Example:

  • The following will display a Christmas tree image if the month is December:
<!--@sslogic(month(now())=12)-->
   <img src="images/xmasstree.jpg" alt="" />
<!--@end-->

See SSlogic for more information and further examples.

How to display check boxes in the Web Page View

To display Select Many - Check Box type custom fields as check boxes in a web page view add @checkbox('fieldname/fieldnumber','option name')@ to the check box control.

This syntax works if the check boxes are on the same level.

Example:

<input type="checkbox" />
See Also: Updateable Web Page View Fields if you wish the Web Page View check boxes to have the ability to change the underlying data.

How to display level two check boxes on level one in the Web Page View

@checkboxvalue(id

values to be checked)@

<input name="checkboxb20" type="checkbox" value="Limited community support" />


  • Use two "|" (pipes) to separate id and value to be checked

where 1199639 is customfield id if it is used on the same level @1199639@ if it is used on the child level $1199639$

This works for level one check boxes on level one web page view AND works for level two check boxes on level one web page view AND works for level three check boxes on level one web page view



How to suppress the Page Footer with Printing the Page

To suppress the footer when printing the page you need to change your browser settings.

Internet Explorer

1. Choose the File Page Setup menu.

2. Delete the Header and Footer text.

3. If required, change the margins.

FireFox

1. Choose the File Page Setup menu.

2. Click the Margins & Header/Footer tab.

3. Set all Header and Footer options to Blank.

3. If required, change the margins.

How to control print behaviour

To define a page break place the following code in the HTML source before the content you deem as the next page:


To change the page orientation to landscape first place the following in the header portion (

) of the HTML:

Then place

 

in the HTML source around the "page" content. Example:

This is the page content that needs to be in landscape

Please note that the page orientation control only works with Internet Explorer and is not the greatest quality print due to the page being converted to an image then rotated.

How to control print behaviour when saving as a PDF

To define a page break in a PDF add before the content you deem as the next page.

To change the orientation of a page to landscape in a PDF add before the content you deem as the next page.

Troubleshooting

  • Issue: 2 variables run together (thus removing the ending @ and beginning @)
  • Resolution: Place a non-breaking space tag (&nbsp;) between the variables.


    • Issue: For a list of level 2 activities, the code is showing instead of the field headings and values you've designated.
    • Resolution: Insert a comment tag before the first cell tag. i.e.
 

index  

See Also