Difference between revisions of "Web Page View Field Variables"
(→Custom Fields Date/Time) |
|||
Line 230: | Line 230: | ||
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 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> | ||
==Level 2 Contacts/Accounts== | ==Level 2 Contacts/Accounts== |
Revision as of 18:44, 6 January 2013
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
- 1 Variable List
- 2 Field List
- 3 UTA Contact and Account Variables
- 4 To Display a List of Activities, Notes, Transactions, Contacts or Companies
- 5 Date/Time Variables
- 6 Miscellaneous Variables
- 7 Controls
- 7.1 Hide a variable if it is missing
- 7.2 How to display different content based on a value using SSlogic
- 7.3 How to display check boxes in the Web Page View
- 7.4 How to display level two check boxes on level one in the Web Page View
- 7.5 How to suppress the Page Footer with Printing the Page
- 7.6 How to control print behaviour
- 7.7 How to control print behaviour when saving as a PDF
- 8 Troubleshooting
- 9 See Also
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
@description@
@requirements@
@currency@
@revenue@
@probability@
@modifieddate@
@closedate@
@startdate@
@enddate@
@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@
@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.)
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@
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~ #]
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 Role or Contact Association Role custom fields
[#(?object=association;)$?afc_customfieldid$#]
where:
- customfieldid = the numeric id of the custom field
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 or Companies
Syntax
- [#(?object=objectname;{options})~standardfieldname~ $customfieldname$#]
Where:
- objectname is the name of the item to be listed.
- Either: activity, contact, user, company, notes, association, transaction, level-1, utaproviderL1, utaproviderL2, utaconsumerL1 or utacomsumerL2
- 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
- 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') start 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
- multiple options (i.e. a criteria and an orderby option) can be included, separated by semi-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:
- To generate a list of Level 2 activities for a MS Word Merge:
[#(?object=activity;)|~statusname~|~typename~|$speciality$|$123456$|#]
- See MS Word Merge for further details on including tables on MS Word Merge documents
- To generate a list of all contacts for a Web Page View or Read Only – System Variables custom field (note that the HTML table formatting is included within the [#...#] syntax)
<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>
- 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:
<table>[#(?object=activity;orderby=startdate desc)<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
- For a list of contacts assigned to a Level 1 with the role of "Internal People", sorted by surname:
<table>[#(?object=contact;orderby=lastname;criteria=rolename='Internal People')<tr><td>~firstname~</td><td>~lastname~</td><td>~email~</td></tr>#]</table>
- 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 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'))<tr><td>~firstname~ ~lastname~</td></tr>#]
- To sort descending by a custom field called Total Hours with a custom field id of 67292:
[#(?object=activity;orderby=tbl_67292.valuestr desc)<tr><td>Subject: ~subject~</td><td>Total Hours: $Total Hours$</td><td>Start Date: ~startdate~</td></tr>#]
Note: $Total Hours$ in the list could be listed as $67292$ with the same result.
- To list a specific activity type only:
[#(?object=activity;orderby=startdate;criteria=typename='This Activity Type')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]
- To list activities based on the type ID (Level 2 and Level 3 only):
<table>[#(?object=activity;orderby=startdate;criteria=typeid='24160')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
- To include a hyperlink to the object (for Accounts):
<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>
- To list activities based on status:
<table>[#(?object=activity;orderby=startdate;criteria=statusname='Open')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
- To list activities based on the status ID (Level 2 and Level 3 only):
<table>[#(?object=activity;orderby=startdate;criteria=status.statusid='24160')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>
- To list UTA Providers:
[#(?object=utaproviderL1;) ~name~ ~typename~ ~statusname~ ~enddate~ $Panel Review Date$ $Panel ID$<br>#]
- To list notes (from the record that contains the notes):
[@(?object=notes;orderby=createddate desc)<tr><td>~notes~</td><td>~createddate~</td><td>~username~</td></tr>@]
- Note: This syntax is for "Public (Default)" notes only, not custom note types.
To list level 2 notes for each level 2 record at level 1:
[#(?object=activity;orderby=startdate desc) <tr><td>~subject~</td><td>~description~</td><td>~startdate~</td> <td><table> [@(?object=notes;orderby=createddate desc)<tr><td>~notes~</td><td>~createddate~</td><td>~username~</td></tr>@] </table></td> </tr>#]
- Note: This syntax is for "Public (Default)" notes only, not custom note types.
To do a sum of all the unpaid payment transaction:
<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>
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:
- Create a Level 2 Read Only - System Variable Custom Field called Level 3 Activity List with the following:
<table> [@(?object=activity;orderby=typename)<tr><td> Level 3 Activity: ~typename~</td><td>~location~</td></tr>@] </table>
Then create either a Web Page View or Read Only - System Variable at Level 1:
<table> [#(?object=activity;orderby=startdate) <tr><td>Level 2 Activity: ~subject~</td><td>~statusname~</td><td>~startdate~</td><td>~enddate~</td></tr> <tr><td></td><td colspan=3>$Level 3 Activity List$</td></tr> #] </table>
- 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:
<table> [#(?object=activity;orderby=startdate) <tr><td>Level 2 Activity: ~subject~</td><td>~statusname~</td><td>~startdate~</td><td>~enddate~</td></tr> <tr><td></td><td colspan=3> <table> [@(?object=activity;orderby=typename)<tr><td> Level 3 Activity: ~typename~</td><td>~location~</td></tr>@] </table> </td></tr> #] </table>
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
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:
Variable Content Display Comment @datetime(currentdate)@ current date and time as for yyyy-mm-dd HH:mm:ss 2013-01-22 17:55:22 @date(currentdate)@ current date as for 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
To 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
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
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 a File Upload button
To display a button to upload to a Single File or Multiple Files custom field:
- Single File:
- <input type=button class=Button value='Button Label' onclick="x_uploadfile(customfieldid,-1,'@codedid@')" />
- Multiple Files:
- <input type=button class=Button value='Button Label.' onclick="x_uploadfolder(customfieldid,'@codedid@')" />
where:
- customfieldid = the field id of the Single or Multiple file custom field (without cf_)
Example:
<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:
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:
<body onload="includejsfiles();">
Alternatively:
You may also use @fieldname.uploadlink@ to get the url for the upload page and construction your own function to open the window.
Example:
<input type=button class=Button value='Upload' onclick="openupload('@fieldname.uploadlink@')" />
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 custom field history:
For the Status standard field:
- @HistoryOf(status)@
For a Custom Field:
- @HistoryOf(customfieldid)@
- (The field name is not accepted in this case.)
Notes:
- HistoryOf is case sensitive.
- You can only obtain the history of the Status field and Custom Fields in this way.
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'> <!--@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. or
Example:
<input type="checkbox" @checkbox('12345','yes')@>
- 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 type="checkbox" name="checkboxb20" value="Limited community support" @checkboxvalue($1199639$||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
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:
<div style="PAGE-BREAK-AFTER: always"><br style="height:0; line-height:0"></div>
To change the page orientation to landscape first place the following in the header portion (<head></head>) of the HTML:
<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>Then place
<div class="page"></div>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.
How to control print behaviour when saving as a PDF
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 <pd4ml:page.break pageFormat="rotate"> before the content you deem as the next page.
- 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 ( ) 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.
<tr><!--~index~--><td>