The Web Page View custom field displays a fully formatted document or web page. Building this type of page uses HTML together with the variables documented below.
It is recommended that global administrators enable the new syntax where available. Locate the System Options section in Global Settings, and toggle Enable New Variable Syntax on.
Variable List
Current User
"Me" refers to the current user. The table below returns information about the person currently logged in.
| New Syntax | Old Syntax | Description |
| {{me.firstname}} | @me.firstname@ | Current user's first name. |
| {{me.lastname}} | @me.lastname@ | Current user's last name. |
| {{me.email}} | @me.email@ | Current user's email address. |
| {{me.phone}} | @me.phone@ | Current user's phone number. |
| {{me.companyname}} | @me.companyname@ | Current user's company name. |
| {{me.type}} | @me.type@ | Returns User, Local User Administrator, or Global User Administrator. |
UTA/module Level 1, Sales Opportunity, and Job Variables
These variables return standard field values from a UTA/module Level 1, Sales Opportunity, or Job record.
| New Syntax | Old Syntax | Description |
| {{name}} | @name@ | Standard field: Application Name. |
| {{type}} | @type@ | Standard field: Application Template Type. |
| {{status}} | @status@ | Standard field: Status. |
| {{typecaption}} | @typecaption@ | Standard field: Application Template Type Caption. |
| {{statuscaption}} | @statuscaption@ | Standard field: Status Caption. |
| {{type_lang}} | @type_lang@ | Standard field: Application Template Type, based on the user's language setting. |
| {{status_lang}} | @status_lang@ | Standard field: Status, based on the user's language setting. |
| {{description}} | @description@ | |
| {{requirements}} | @requirements@ | |
| {{currency}} | @currency@ | |
| {{revenue}} | @revenue@ | |
| {{probability}} | @probability@ | |
| {{modifiedby}} | @modifiedby@ | |
| {{modifiedbyid}} | @modifiedbyid@ | |
| {{modifieddate}} | @modifieddate@ | |
| {{closedate}} | @closedate@ | |
| {{startdate}} | @startdate@ | |
| {{enddate}} | @enddate@ | |
| {{createddate}} | @createddate@ | |
| {{createdby}} | @createdby@ | |
| {{createdbyid}} | @createdbyid@ | |
| {{jobquestions}} | @jobquestions@ | Displays as combo boxes. |
| {{jobquestionsr}} | @jobquestionsr@ | Displays the question only. |
| {{jobskills}} | @jobskills@ | |
| {{owner.field}} | @owner.field@ |
Any field on the owner's record. Example: {{owner.fullname}} or {{owner.address}} |
| {{person.field}} | @person.field@ |
Any field on the person's record. Example: {{person.fullname}} or {{person.address}} |
| {{company.field}} | @company.field@ |
Any field on the company's record. Example: {{company.name}} or {{company.address}} |
| {{company.owner.field}} | @company.owner.field@ |
Any field on the company owner's record. Example: {{company.owner.email}} |
| {{branch.field}} | @branch.field@ |
Any field on the branch record. Example: {{branch.name}} or {{branch.address}} |
| {{apptype}} | @apptype@ | The Application ID (appid) of the UTA/module. |
UTA/module Level 2 and Activities Variables
These variables return standard field values from a UTA/module Level 2 or Activities record.
| New Syntax | Old Syntax | Description |
| {{subject}} | @subject@ | |
| {{description}} | @description@ | |
| {{location}} | @location@ | |
| {{startdate}} | @startdate@ | |
| {{enddate}} | @enddate@ | |
| {{isallday}} | @isallday@ | |
| {{modifieddate}} | @modifieddate@ | Numeric value, including time. |
| {{longmodifieddate}} | @longmodifieddate@ | Text value, excluding time. |
| {{starthour}} | @starthour@ | 0 to 23. |
| {{starth}} | @starth@ | 0 to 12. |
| {{startpmam}} | @startpmam@ | Returns PM or AM. |
| {{startminute}} | @startminute@ | |
| {{endhour}} | @endhour@ | 0 to 23. |
| {{endh}} | @endh@ | 0 to 12. |
| {{endpmam}} | @endpmam@ | Returns PM or AM. |
| {{endminute}} | @endminute@ | |
| {{eamount}} | @eamount@ | Amount value of the Level 2 record. |
| {{owner}} | @owner@ | |
| {{eownerid}} | @eownerid@ | User ID of the owner. |
| {{contact}} | @contact@ | |
| {{assigned}} | @assigned@ | |
| {{eventid}} | @eventid@ | |
| {{typename}} | @typename@ | |
| {{objectid}} | @objectid@ | |
| {{objecttype}} | @objecttype@ | |
| {{rootcompanyid}} | @rootcompanyid@ | |
| {{rootcompany.name}} | @rootcompany.name@ | |
| {{contact.field}} | @contact.field@ | Example: {{contact.firstname}} or {{contact.email}} |
| {{assigned.field}} | @assigned.field@ | Example: {{assigned.firstname}} or {{assigned.email}} |
| {{contact.company.field}} | @contact.company.field@ |
Behaves the same as assigned.company.field. Example: {{contact.company.address}} or {{contact.company.city}} |
Custom Field Variables
Reference a Level 2 custom field by name using @customfield name@, or by ID using @#customfield id#@.
Example
To reference the same custom field by name or by numeric ID:
@more information@ @#17342#@
UTA/module Level 1 Variables Called from UTA/module Level 2
When a Web Page View field sits at Level 2, call a Level 1 variable using the parent prefix. Field names must be entirely lowercase.
New syntax {{parent.fieldname}} or {{parent.#fieldid#}}.
Old syntax @parent.fieldname@ or @parent.#fieldid#@.
Example
To reference the Level 1 status and start date, or a Level 1 custom field by ID:
New syntax
{{parent.status}} or {{parent.startdate}} or {{parent.#12345#}}Old syntax
@parent.status@ or @parent.startdate@ or @parent.#12345#@
UTA/module Level 2 Variables Called from UTA/module Level 3
At Level 3, call a Level 2 variable using the parent prefix. Field names must be entirely lowercase.
New syntax {{parent.fieldname}} or {{parent.#fieldid#}}.
Old syntax @parent.fieldname@ or @parent.#fieldid#@.
UTA/module Level 1 Variables Called from UTA/module Level 3
At Level 3, call a Level 1 variable using two parent prefixes. Field names must be entirely lowercase.
New syntax {{parent.parent.fieldname}} or {{parent.parent.#fieldid#}}.
Old syntax @parent.parent.fieldname@ or @parent.parent.#fieldid#@.
Level 3 Associated Parent (Opportunity)
Where Payment Allocation is enabled, there are two models to choose from before configuring. Usually the Associated Parent is a Funding Stream or 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, pull fields from the Associated Parent using the following variable.
New syntax {{linkparent.fieldname}}
Old syntax @linkparent.fieldname@
If the associated payment is linked to the event, pull fields from the opportunity using the following variable.
New syntax {{linkparent.parent.fieldname}}
Old syntax @linkparent.parent.fieldname@
Example
On the associated company or branch record, this variable returns SmartSimple Inc. for the branch name and 1950 for the Transit custom field:
New syntax
{{linkparent.parent.branch}} returns: SmartSimple Inc.
{{linkparent.parent.branch.Transit}} returns: 1950Old syntax
@linkparent.parent.branch@ returns: SmartSimple Inc. @linkparent.parent.branch.Transit@ returns: 1950
Field List
These are the standard field names available on People, Company, and Lead records for use with the contact and account variables.
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/module Contact and Account Variables
These variables reference the people and companies associated with a UTA/module record.
| Role | New Syntax | Old Syntax | Scope |
| Owner | {{owner.fieldname}} | @owner.fieldname@ | All levels. |
| Person | {{person.fieldname}} | @person.fieldname@ | Level 1 only. |
| Assigned | {{assigned.fieldname}} | @assigned.fieldname@ | Level 2 only. |
| Company | {{client.fieldname}} | @client.fieldname@ | Level 1 only. |
Use {{client.categoryids}} (old syntax @client.categoryids@) to return a comma-delimited list of category IDs. The list includes a leading comma, for example ",1234,555,666,".
Use {{client.categories}} (old syntax @client.categories@) to return a comma-delimited list of category names, for example "Agency,Marketing,Good client".
Level 1 Contacts and Accounts
Individual
To display information for a single contact or account in the Level 1 contacts/accounts section, use the role assigned to the contact or account on the Level 1 record together with a field name from the contact's or company's record.
New syntax {{contact.rolename.fieldname}} or {{company.rolename.fieldname}}
Old syntax @contact.rolename.fieldname@ or @company.rolename.fieldname@
Example
To reference a contact assigned the Adjuster role, or a company assigned the Funding Agency role:
New syntax
{{contact.adjuster.firstname}} or {{company.funding agency.address}}Old syntax
@contact.adjuster.firstname@ or @company.funding agency.address@
If more than one contact or account is assigned with the specified role, only one displays.
List
To display a list of multiple contacts or accounts in the Level 1 contacts/accounts section, use the list syntax below. See Display a List of Activities, Notes, Transactions, Contacts, Companies, Consumers, and Providers for details on filtering and sorting these lists:
[#(?object=contact) ~fieldname~ #] or [#(?object=company) ~fieldname~ #]
Use ~role~ to display the role the contact or account is assigned on the Level 1 record.
Use ~companyname~ to display the name of the contact's company.
Level 2 Contacts and Accounts
Individual
To display information for a single contact in the Level 2 contacts section, use the role assigned to the contact on the Level 2 item together with a field name from the contact's record.
New syntax {{contacts.rolename.fieldname}}
Old syntax @contacts.rolename.fieldname@
Example
To reference a contact assigned the Adjuster role:
New syntax
{{contacts.adjuster.firstname}}Old syntax
@contacts.adjuster.firstname@
If more than one contact is assigned with the specified role, only one displays.
Contacts
Example
To display a list of the contacts assigned at Level 2:
[#(?object=contact) ~firstname~ ~lastname~ ~email~ #]
Example
To display only contacts assigned at Level 2 with a specific role; this is only relevant if the Level 2 multiple contact list is enabled):
[#(?object=contact::criteria=roleid=12345) ~firstname~ ~lastname~ ~email~ #]
Example
To get the intersection record identifier, equivalent to ~oprid~ at Level 1 for use in Pandora functions:
[#(?object=contact) ~lnkid~ #]
Example
To display the contact's profile status:
[#(?object=contact) ~firstname~ ~lastname~ ~ustatusid~ #]
Contacts at Level 2 cannot be filtered by role name, only by role ID. 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, use the role assigned to the account together with a field name from the company's record.
New syntax {{companies.rolename.fieldname}}
Old syntax @companies.rolename.fieldname@
Example
To display a list of the companies assigned at Level 2:
[#(?object=company::orderby=name)~name~ #]
Example
To get the intersection record identifier (for use in Pandora functions):
[#(?object=company) ~clnkid~ #]
The Account standard field is only available at Level 2 when the multiple account list is enabled.
Display Level 1 Company Role or Contact Role Custom Fields
Where customfieldid is the numeric ID of the custom field. For Level 2 records, when the multiple contact or company lists are enabled, use $?opr2_customfieldid$ and $?opc2_customfieldid$ instead. Custom fields on the company role can also be referenced using the @#field id#@ syntax.
[#(?object=company;)$?opc_customfieldid$#] or [#(?object=contact;)$?opr_customfieldid$#]
Contact Detail
~uprefix~ ~firstname~ ~lastname~ ~uaddress~ ~uaddress2~ ~ucity~, ~ustate~ ~upostalcode~
Display Company Association or Contact Association Fields
Use this syntax to extract information on the entity to which a company or contact is associated.
Where standard field name is the name of the standard field, custom field id is the numeric ID of the custom field, and custom field name is the name of the custom field.
[#(?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$#]
Use this syntax to extract information on fields that are on the intersection, rather than on the entity to which they are associated.
[#(?object=association) ~afcompanyid~ #] [#(?object=companyassociation)~afroleid~ #]
Other intersection-specific variable options:
-
~afcid~: association (intersection) record ID. -
~afcompanyid~: company ID of the associated company. -
~afcontactid~: user ID of the associated contact. -
~afroleid~: role ID of the association. -
~afstartdate~: start date of the association. -
~afenddate~: end date of the association.
Role-Based Custom Fields
A Web Page View or MS Word Merge custom field located on a User Role or Company Role can access the following.
| Information | New Syntax | Old Syntax |
| UTA/module Level 1 | {{levelone.fieldname}} or {{levelone.customfieldid}} | @levelone.fieldname@ or @levelone.customfieldid@ |
| Contact | {{contact.fieldname}} or {{contact.customfieldid}} | @contact.fieldname@ or @contact.customfieldid@ |
| Company | {{company.fieldname}} or {{company.customfieldid}} | @company.fieldname@ or @company.customfieldid@ |
To reference a User Role-based custom field from a UTA/module Level 1 record, use the following syntax, where rolename is the role assigned to the contact on the Level 1 record.
| Role | New Syntax | Old Syntax |
| Owner | {{owner.fieldname}} | @owner.fieldname@ |
| Person | {{person.fieldname}} | @person.fieldname@ |
| Contact | {{contact.rolename.fieldname}} | @contact.rolename.fieldname@ |
Display a List of Activities, Notes, Transactions, Contacts, Companies, Consumers, and Providers
List Syntax and Filtering Options
Use this syntax to list activities, notes, transactions, contacts, companies, consumers, or providers:
[#(?object=objectname::{options})~standardfieldname~ $customfieldname$#]- objectname - the item to be listed: address, activity, assign, contact, user, group, company, notes, association, companyassociation, transaction, timesheet, level-1, utaproviderL1, utaproviderL2, utaconsumerL1, utaconsumerL2, or linkactivity.
- standardfieldname - the name of a standard field, between tildes (~).
- customfieldname - the name of a custom field, between dollar signs ($). Custom fields can also be referenced by ID instead of name, still between dollar signs (example: $12345$).
Additional Notes
- The level-1 object can only be used when referenced from a contact record, and it lists only the Level 1 records that contact has been added to in the contacts section.
- Text can be included alongside variables within the [#...#] syntax.
- For Web Page Views and Read Only - System Variables, include HTML table formatting within the [#...#] syntax; for MS Word Merge custom fields, use the table defined on the Word template with columns delimited by pipes (|) inside the [#...#].
- Use
~Index~(uppercase, starts at 1) or~index~(lowercase, starts at 0) to number list rows; this does not work for every list, including contacts associated with a Level 1. - Use
~eventid~to display the ID of the Level 2 record.
The table below lists the available filtering and sorting options. Combine multiple options with a double colon (::).
| 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 | Filters the list by the custom field and value specified. |
| criteria=(standardfieldname=value or standardfieldname=value) | Applies multiple criteria where either condition can apply. |
| criteria=(standardfieldname=value AND standardfieldname=value) | Applies multiple criteria where both conditions must apply. |
| groupfunction=aggregatefunction | Performs the specified aggregate function on the listed fields. Example functions: sum, count, countdistinct. |
Any custom field used as a criteria or orderby option must also appear in the display. To reference a field without displaying it, place it in an HTML comment, for example <!--$12343$-->. If the field is referenced as a property of a table, the value must be shown.
Example
To generate a list of Level 2 activities for an MS Word Merge.
[#(?object=activity)|~statusname~|~typename~|$speciality$|$123456$|#]
Example
To display a custom field value from the invoice (objectname=appliedtoinvoices) on an adjustment, reference the custom field by number only; do not use the custom field name:
[#(?object=appliedtoinvoices)$282588$#]
List Contacts, Companies, and Associations
The following examples list contacts, companies, and the associations between them.
Example
To generate a list of all contacts for a Web Page View or Read Only - System Variables custom field. The first line creates the table header row:
[#(?object=contact) #] First Name | Last Name | E-mail Address | Cell Phone Number ~firstname~ | ~lastname~ | ~email~ | $Cell Phone$
Example
To list contacts assigned to a Level 1 record with the role of Internal People, sorted by surname:
[#(?object=contact::orderby=lastname::criteria=rolename='Internal People')#] ~firstname~ | ~lastname~ | ~email~
Example
To list the Level 1 records, including owner details, that a company has been assigned to:
[#(?(object =level-1) NAME: ~name~ OWNERID: ~ownerid~ OWNERNAME: ~ownername~ #]
Example
To display the Level 1 ID of the Level 1 records:
[#(?(object =level-1) OPPORTUNITY ID: ~op.opportunityid as oppid~ #]
Example
To list all companies the owner of a UTA/module record is associated with:
@owner.[#(?object=association)~name~ (Phone ~phone~)#]@
Example
To get a comma-separated list of the company IDs of all companies the current user is associated with under role ID 54545:
@me.[#(?object=association::criteria=roleid=54545)~afcompanyid~,#]@
Example
To list all contacts associated with the current user's parent company record (associated to the company with role ID 12345):
@me.parent.[#(?object=association::criteria=roleid='12345')~firstname~ ~lastname~ (Phone ~phone~)#]@
Example
To list a company's active associations, where the current date falls between the start and end date:
[#(?object=association::criteria=(afstartdate is null OR afstartdate<='@date(currentdate)@') and="AND" is="is" null="null" or="OR" afenddate="afenddate">='@date(currentdate)@'))~userid~,#]
Example
To list all contacts or users located under a company with a given role:
[#(?object=user::criteria=rolelist like '%,12345,%') ~email~ #]
Example
To list all companies under a parent company record:
[#(?object=company) ~name~ #]
Sort and Filter Combined Lists
The following examples apply sorting and filtering criteria to activity, contact, notes, and provider lists.
Example
To feference the Consumer UTA/module Level 1 owner name and owner ID from a Provider UTA/module Level 1 Read Only - System Variable custom field:
[#(?object=utaconsumer::criteria=statusname IN ('Placed','Resigned/Terminated'))~ownername~,~ownerid~ #]
Example
To list Level 2 or Level 3 activities sorted by start date in descending order:
[#(?object=activity::orderby=startdate desc)#] ~subject~ | ~location~ | ~startdate~
Example
To apply multiple criteria to a contact list:
[#(?object=contact::criteria=(rolename='External' or rolename='Internal'))~firstname~ ~lastname~#]
Example
To apply multiple order criteria to an activity list:
[#(?object=activity::orderby=tbl_1765133.valuestr::tbl_1765119.valuestr desc)~type~, $1765133$, $1765119$<br />#]
Example
To sort descending by a custom field called Total Hours, with a custom field ID of 67292. $Total Hours$ in the list could also be written as $67292$ with the same result:
[#(?object=activity::orderby=tbl_67292.valuestr desc)Subject: ~subject~Total Hours: $Total Hours$Start Date: ~startdate~#]
Example
To sort descending reviews in a specific status by a custom field on a separate UTA/module Level 1 record called $Staff Final Score$, with a custom field ID of 1584168, in numeric order. $Staff Final Score$ in the list could also be written as $15868$ with the same result:
[#(?object=utaconsumerL1::orderby=tbl_15868.valuestr*1::criteria=(statusname='Member Review'))
Example
To list a specific activity type only:
[#(?object=activity::orderby=startdate::criteria=typename='This Activity Type')~subject~~location~~startdate~#]
Example
To list activities based on the type ID (Level 2 and Level 3 only):
[#(?object=activity::orderby=startdate::criteria=typeid='24160')#] ~subject~ | ~location~ | ~startdate~
Example
To list UTA/module 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) --> #]
Example
To list notes from the record that contains them. This syntax is for Public (Default) notes only, not custom note types:
[#(?object=notes::orderby=createddate desc)~notes~~createddate~~username~#]
Aggregate and Count List Values
The following examples use groupfunction and related syntax to sum or count values across a list.
Example
To count the number of contacts assigned with the role of Reviewer:
[#(?object=contact::criteria=rolename="Reviewer"::groupfunction=count)~userid~#]
Example
To sum or count all the Level 3 allocations from the budget Level 2 record:
New syntax {{linkactivity.sum(...)}} or {{linkactivity.count(...)}}
Old syntax @linkactivity.sum(...)@ or @linkactivity.count(...)@
Example
To sum all unpaid payment transactions. In this example, $1145339$ is the Status of Payment field and $1145183$ is the Payment Amount field:
Total Paid: [#(?object=transaction::criteria=trstranstype=11 and tbl_1145339.valuestr='Paid'::groupfunction=sum)$1145183$ #]
Format Values Within a List
The following examples format or nest values, such as dates or child-level records, within a list.
Example
To include and format a date stored in a custom field:
New syntax {{ss_eval(date_format("$fieldname$","%M %d, %Y"))}}
[#(?object=activity)<!--{{ss_eval(date_format("$fieldname$","%M %d, %Y"))}}-->#]Old syntax
[#(?object=activity)<!--@sscalculation(date_format("$fieldname$","%M %d, %Y"))-->#]
Example
To list all Level 3 allocations within a Level 2 budget record:
[#(?object=linkactivity) ~subject~ #]
Example
To list Level 2 notes for each Level 2 record at Level 1. This syntax is for Public (Default) notes only, not custom note types:
[#(?object=activity::orderby=startdate desc)~subject~~description~~startdate~ [@(?object=notes::orderby=createddate desc)@] ~notes~ | ~createddate~ | ~username~ ]
Reference Standard Fields of UTA/module Providers
Level 1 field names and variables:
| 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
To list the type name and status name for Level 1 UTA/module Providers:
[#(?object=utaproviderL1) ~typename~ | ~statusname~ <br />#]
Level 2 field names and variables:
| 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~ |
| Role Name | ~rolename~ |
| Role ID | ~cevroleid~ |
Example
To list the type name and status name for Level 2 UTA/module Providers:
[#(?object=utaproviderL2) ~typename~ | ~statusname~ <br />#]
Example
If multiple different UTAs/modules are connected as providers, use criteria to filter:
[#(?object=utaproviderL1::criteria=provappid="12345") ~typename~ | ~statusname~ <br />#]
Format the Start Date or Start Time
~date_format(startdate,'%Y-%m-%d') as startdate~ or ~date_format(startdate,'%h:%i %p') as starttime~
date_format(startdate,'%d-%m-%Y') as sdate, so the sort still uses the underlying chronological value.Display 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 display underneath each parent Level 2 activity.
Create a Read Only - System Variable field at Level 2 that contains the list of Level 3 activities, formatted and filtered as needed.
Visibility Conditions, Role Field Permissions, or Status Field Permissions can be used to prevent the field from displaying on the Level 2 record.
Example
To create a Level 2 Read Only - System Variable custom field called Level 3 Activity List with the following:
[@(?object=activity::orderby=typename)@] Level 3 Activity: ~typename~ | ~location~
Then create a Web Page View or Read Only - System Variable field at Level 1, where Level 3 Activity List is the name given to the Read Only - System Variable field created above:
[#(?object=activity::orderby=startdate) #] Level 2 Activity: ~subject~ | ~statusname~ | ~startdate~ | ~enddate~ $Level 3 Activity List$
Level 3s with Fewer Than 25 Fields
If Level 3 has fewer than 25 fields, a separate Read Only - System Variable custom field on the Level 2 record is not necessary. Instead, use the following syntax within the [#...#] that lists the Level 2 activities. This only works when Level 3 has fewer than 25 fields.
[@(?object=activity)~standardfieldname~ $customfieldname$@]
Example
To list 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~
Display a Specific Number of Items in a List
Use the following syntax in a Web Page View custom field to display only a specific number of activities or transactions, where num is the number of items to display.
New syntax
[#(?object=object::orderby=field)
{{ss_if(~index~='num')}}
~standard field~ $custom field$ <br />
{{ss_endif}}
#] <br />Old syntax
[#(?object=object::orderby=field) <!--@sslogic(~index~='num')--> ~standard field~ $custom field$ <br /> <!--@end--> #] <br />
XML Variables
Count How Many Options Were Selected
<!--@sscalculation(@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A") 1+#]@ 0)-->
Filter XML Display Output
@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A")~FirstName.nodevalue~ ~LastName.nodevalue~<br />#]@
Date/Time Variables
Standard Fields Date/Time
Start Time and End Time are stored within the fullstartdate and fullenddate fields and can be accessed using the element variables below.
| Display Format | Start Date | End Date | Close Date (Level 1 only) | Modified Date (Level 1 only) |
| Date formatted per user preferences. At Level 1, Modified Date also includes the time (example: 15:40). | @startdate@ | @enddate@ | @closedate@ | @modifieddate@ |
| Example: Friday, January 23, 2009 | @longstartdate@ | @longenddate@ | @longclosedate@ | @longmodifieddate@ |
| Example: 2009-01-23 15:40:00 | @fullstartdate@ | @fullenddate@ | @fullclosedate@ | @fullmodifieddate@ |
| Example: 2009-01-23 15:40:00 | @datetime(fullstartdate)@ | @datetime(fullenddate)@ | @datetime(fullclosedate)@ | @datetime(fullmodifieddate)@ |
| Example: 2009-01-23 | @date(fullstartdate)@ | @date(fullenddate)@ | @date(fullclosedate)@ | @date(fullmodifieddate)@ |
To display specific elements of the Start Date, Start Time, End Date, End Time, Close Date, or Modified Date, replace fullstartdate with fullenddate, fullclosedate, or fullmodifieddate as needed. Seconds are not available for standard date/time fields, and Close Date has no associated time.
| Variable | Content |
| @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 a 12-hour clock (0-12). |
| @ampm(fullstartdate)@ | AM or PM reference for Start Time. |
| @hour24(fullstartdate)@ | Hour in Start Time using a 24-hour clock (0-24). |
| @minute(fullstartdate)@ | Minute in Start Time. |
Example
To display the Start Date in the format February 22, 1985:
@monthname(fullstartdate)@ @day(fullstartdate)@, @year(fullstartdate)@
Example
To display the End Time in the format 06:45PM:
@hour(fullenddate)@:@minute(fullenddate)@@ampm(fullenddate)@
Current Date/Time
| Variable | Content | Display | Comment |
| @datetime(currentdate)@ | Current date and time, as yyyy-mm-dd HH:mm:ss. | 2013-01-22 17:55:22 | See also Obtain Server Date and Time. |
| @date(currentdate)@ | Current date, as yyyy-mm-dd. | 2013-05-17 | |
| @currentdate@ | Current date. | 2009 January 25 | |
| @now@ | Current date and time. | 2009 August 25 11:05AM | Workflows only. Not available within UTAs/modules. |
To display specific elements of the current date or time (seconds are not available for the current time):
| Variable | Content |
| @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 a 12-hour clock (0-12). |
| @ampm(currentdate)@ | AM or PM reference for the current time. |
| @hour24(currentdate)@ | Current hour using a 24-hour clock (0-24). |
| @minute(currentdate)@ | Current minute. |
Example
To display the current date and time in the format Friday at 19:55:
@dayweek(currentdate)@ at @hour24(currentdate)@:@minute(currentdate)@
Custom Fields Date/Time
For a custom date field on the same level as the Web Page View field, parse out a specific part of the date using the variables below.
| Variable | Content | Display |
| @date(fieldname)@ | Custom field date, as 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 a 12-hour clock (0-12). | 12 |
| @ampm(fieldname)@ | AM or PM reference for the time in fieldname. | AM |
| @hour24(fieldname)@ | Hour in fieldname using a 24-hour clock (0-24). | 00 |
| @minute(fieldname)@ | Minute in fieldname. | 00 |
| @second(fieldname)@ | Second in fieldname. | 00 |
Example
To display the custom field Date Of Birth in the format 31-01-2001:
@day(date of birth)@-@month(date of birth)@-@year(date of birth)@
Miscellaneous Variables
Add an Image from Upload Fields
Return image thumbnails or file metadata from Multiple File fields using the list syntax below.
Show the thumbnail image using the thumbnailpath option.
@multi file name.template[# <img src="~thumbnailpath~" alt="" width="240" /> #]@
Show the thumbnail image and file name using the filepath option.
@multi file name.template[# <img src="~filepath~/thumbnail/?maxwidth=240" alt="" width="240" />~filename~#]@
Show the thumbnail image and file name using the compressedpath option.
@multi file name.template[# <img src="~compressedpath~/thumbnail/?maxwidth=240" alt="" width="240" />~filename~#]@
Show the file name, size, and upload date.
@multi file name.template[# ~filename~, ~filesize~, ~uploaddate~#]@
Add a File Upload Button
Display a button that opens the upload dialog for a Single File or Multiple Files custom field, where customfieldid is the field ID of the custom field, without the cf_ prefix.
If adding the button to a Web Page View, also add the following script 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");
}Call the includejsfiles function in the page's body onload attribute.
Alternatively, use {{fieldname.uploadlink}} (old syntax @fieldname.uploadlink@) to get the URL of the upload page and build a custom function to open the window.
This method only opens the single file upload page.
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();
}Display a Dynamic Data Grid Field
Show a Dynamic Data - Data Grid field in a Web Page View custom field using the following syntax.
New syntax {{fieldname.table}}
Old syntax @fieldname.table@
Retrieve History for Fields with Track Changes Enabled
Use the following syntax to retrieve standard or custom field history. HistoryOf is case sensitive.
For the Status standard field:
New syntax {{HistoryOf(status)}} or {{HistoryOf(statuscaption)}}
Old syntax @HistoryOf(status)@ or @HistoryOf(statuscaption)@
For a custom field, use either the field ID or the field name:
New syntax {{HistoryOf(customfieldid)}} or {{HistoryOf(customfieldname)}}
Old syntax @HistoryOf(customfieldid)@ or @HistoryOf(customfieldname)@
For Hybrid Sign-Up Pages
{{user_input_form}} (old syntax @user_input_form@) displays the associated user sign-up form on a company sign-up page when included in the HTML template of the company sign-up page.
Currency Format
Format a custom field as currency with the following syntax. Change the final parameter from 2 to 0 to display the value as a whole number.
New syntax {{format(L2 Subcontract total y1,currency,USD,2)}}
Old syntax @format(L2 Subcontract total y1,currency,USD,2)@
Session Variables
When using a feature such as organization switching, pull data based on the current session using company fields.
New syntax {{sessioncompany.fieldname}}
Old syntax @sessioncompany.fieldname@
Example
To return the company name of the organization currently logged in as:
New syntax {{sessioncompany.name}}
Old syntax @sessioncompany.name@) returns the company name of the organization currently logged in as.
Controls
Hide a Variable if It Is Missing
Place the following comment tag directly in front of a variable, with no space between the tag and the variable, to hide the variable when it has no value.
<!--hideifnotfound-->
Example
New syntax
<!--hideifnotfound-->{{parent.contact.adjuster.email}}Old syntax
<!--hideifnotfound-->@parent.contact.adjuster.email@
Display Different Content Based on a Value Using SSlogic
To display content based on the value of a variable, add the condition tag in front of the content and the end tag after it. When there are two possible pieces of content, add an else tag between them. Content between the tags can be plain text or HTML. Use single quotes around the variable and value. SSlogic does not support nested logic statements.
New syntax
{{ss_if(CONDITION)}}
Content to display when the condition is true. This can be more than one line.
{{ss_endif}}Old syntax
<!--@sslogic(CONDITION)--> Content to display when the condition is true. This can be more than one line. <!--@end-->
Example
To display a Christmas tree image when the current month is December:
{{ss_if(month(now())=12)}}
<img src="images/xmasstree.jpg" alt="" />
{{ss_endif}}Display Check Boxes in the Web Page View
To display a Select Many - Check Box custom field as check boxes in a Web Page View custom field, add the following syntax to the check box control. This only works when the check boxes are on the same level as the Web Page View custom field.
New syntax {{checkbox('fieldname/fieldnumber','option name')}}
Old syntax @checkbox('fieldname/fieldnumber','option name')@
Display Level 2 Check Boxes on Level 1 in the Web Page View
Use two pipe characters (|) to separate the field ID and the value to check.
New syntax {{checkboxvalue(id|values to be checked)}}
Old syntax @checkboxvalue(id|values to be checked)@
For example, where 1199639 is the custom field ID: use @1199639@ if the field is on the same level as the Web Page View, or $1199639$ if the field is on a child level. This works for Level 1, Level 2, and Level 3 check boxes displayed on a Level 1 Web Page View.
Suppress the Page Footer When Printing
Suppressing the page footer when printing requires a change to the browser's print settings. In Firefox, follow these steps.
- Choose the File Page Setup menu.
- Click the Margins & Header/Footer tab.
- Set all Header and Footer options to Blank.
- If required, change the margins.
Control Print Behavior
To define a page break, place the appropriate tag in the HTML source immediately before the content that should start the next page.
Control Print Behavior in a PDF
To define a page break in a PDF, add the appropriate tag before the content that should start the next page. To change a page's orientation to landscape in a PDF, add the appropriate tag before that content.
Troubleshooting
| Issue | Resolution |
| Two variables run together, removing the ending @ of one and the beginning @ of the next. | Place a non-breaking space tag ( ) between the variables. |
| For a list of Level 2 activities, the underlying code displays instead of the field headings and values that were designated. | Insert a comment tag before the first cell tag. |