Web Page View Field Variables

Revision as of 14:07, 20 March 2009 by Cameron (talk | contribs)

Revision as of 14:07, 20 March 2009 by Cameron (talk | contribs)

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

User Variables

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@

UTA Level 1, Sales Opportunity and Job Variables

@name@

@type@

@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@


@company.field@

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


@branch.field@

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


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@

@contact@

@assigned@

@eventid@

@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@

@parent.field@ (Note: All field names should be entirely lower case.)

Example: @parent.name@ or @parent.startdate@ or @parent.#id#@

Custom Field Variables

@customfield name@ - by name

or

@#customfield id#@ - by id

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

Tip for Users: It is recommended to use the custom field id in order to avoid conflicts with possible duplicate field names. The field id can be found in the far right column when looking at the custom field list.

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, prefix, suffix, uphoneext

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

How to display contact information for people associated in the Contacts section

Use the variable:

@contact.rolename.field@

where

rolename = the name of the role that has been assigned to the contact on the Level One item

field = the name of the field that is located on the contact's record.


Example: @contact.adjuster.firstname@ or @contact.project manager.address@

How to display contact information for Companies (Accounts) associated in the Contacts section

Use the variable:

@company.rolename.field@

where

rolename = the name of the role that has been assigned to the Company on the Level One item

field = the name of the field that is located on the Company's record.


Example: @company.insurance companies.name@ or @company.consulting firms.address@

How to display a list of UTA Level 1 Activities, Contacts or Companies

object= [activity,contact,user,company,association,level-1 (applies to contacts only) or transaction]

<table>[#(?object=object;orderby=field)<tr><td>~field~</td><td>~field~</td><td>~field~</td><td>$customfield id$</td></tr>#]</table>

Example:

 <table>[#(?object=activity;orderby=startdate)<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table> 

 <table>[#(?object=contact;orderby=lastname)<tr><td>~firstname~</td><td>~lastname~</td><td>~email~</td></tr>#]</table>

 <table>[#(?object=contact;orderby=lastname;criteria=role='Internal People')<tr><td>~firstname~</td><td>~lastname~</td><td>~email~</td></tr>#]</table>
  • Note: Search results normally display in ascending order. You may use desc option to display results in descending order.

Example:

 <table>[#(?object=activity;orderby=startdate desc)<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table> 

Results will be sorted on Startdate in Descending order.

To sort on custom field:

<table> [#(?object=activity;orderby=tbl_custom field id.valuestr)<tr><td>~location~</td><td>~startdate~</td></tr>#]</table>

e.g. where custom field id=999999

To list a specific activity type only:

<table>[#(?object=activity;orderby=startdate;criteria=typename='')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>

e.g. where typename='activity name'

<table>[#(?object=activity;orderby=startdate;criteria=typeid='')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>

e.g. where typeid='141414'

To list activity based on a specific status name or status id:

<table>[#(?object=activity;orderby=startdate;criteria=statusname='')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>

e.g. where statusname='status name'

<table>[#(?object=activity;orderby=startdate;criteria=status.id='')<tr><td>~subject~</td><td>~location~</td><td>~startdate~</td></tr>#]</table>

e.g. where status.id='1234'

To format the start date and 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"


To list level two entity at level one using level two fieldname instead of customfield ID

[#(?object=activity;criteria=typeid='19997';)
<tr><td>~index~</td><td>Folder</td><td>$Field Name$</td><td>$customfieldID$</td><td>$customfieldID$</td></tr>
 #]

How to display a UTA contact role or company role record

[#(?object=company;orderby=name)<td>~name~</td><td>~customfields~</td>#]

How to display Level 1 Company Role or Contact Role custom fields

[#(?object=company;orderby=name)<td>$?opc_fieldid$</td>#]

OR

[#(?object=contact;orderby=fullname)<td>$?opr_fieldid$</td>#]

fieldid = the numeric id of the custom field

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~

How to display a date format

The following date variables are available for a long date format:

@longclosedate@

@longstartdate@

@longenddate@

@fullstartdate@

Example: @longstartdate@ returns "Tuesday, November 15, 2005"

The following date variables are also available:

@now@ - full current date and time

@currentdate@ - full current date only

To display only specific elements of the current date:

@month(currentdate)@ - month number

@day(currentdate)@ - day

@year(currentdate)@ - year

@dayweek(currentdate)@ - name of day

@monthname(currentdate)@ - name of month

To display only specific elements of the full start date:

@month(fullstartdate)@ - month number

@day(fullstartdate)@ - day

@year(fullstartdate)@ - year

@dayweek(fullstartdate)@ - name of day

@monthname(fullstartdate)@ - name of month

You can also parse out a particular date format in a date field:

@year(datefield)@ - returns the year value in datefield

@month(datefield)@ - returns the month value in datefield

@day(datefield)@ - returns the day value in datefield

@hour(datefield)@ - returns the hour value in datefield (0-12)

@hour24(datefield)@ - returns the hour value in datefield (0-24)

@minute(datefield)@ - returns the minute value in datefield

@second(datefield)@ - returns the second value in datefield

How to hide a variable if it is missing

Put <!--hideifnotfound--> in front of variable name like this

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

How to display different content based on a value using SmartLogic

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.

Example:


<!--@sslogic('@branch.name@'='Internal Staff')-->

This is internal staff

<!--@else-->

This is NOT internal staff

<!--@end-->


Note: be sure there are single quotes around the variable and value.

Note: SmartLogic does not support nested logic statements.

How to display check boxes in the Web Page View

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

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

Example:

<input type="checkbox" name="checkbox" value="checkbox" @checkbox('12345','yes')@>

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)@>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 display level three activities at level one in the Web Page View

When displaying a list of Level 2 activities using the [ # (?object=object;orderby=field) # ] processor, the corresponding Level 3 activities can now be displayed under each of the parent Level 2 activities by using [ @ (?object=object;orderby=field) @ ].

This new feature allows level one web page fields to display level 3 items.

This a type syntax for displaying level 2 items.

<table border=1>
[#(?object=activity;orderby=startdate)
<tr><td colspan=2>~subject~</td><td>~location~</td><td>~startdate~</td></tr>
#]
</table> 

This is the syntax showing level 3 items inside level 2 items.

<table border=1>
[#(?object=activity;orderby=startdate)
 
<tr><td colspan=2>~subject~</td><td>~location~</td><td>~startdate~</td></tr>
<tr>
<td>
 
<table bgcolor="00FFFF">
 
[@(?object=activity;orderby=startdate)<tr>
<td>~subject~</td><td>~location~</td><td>~startdate~</td>
</tr>@]
 
</table>
</td>
</tr>
 
#]
</table> 

How to display Level 3 Activities at Level 1 using Read Only-System Variable Field in Web Page View

The Read Only-System Variable field can now be used in the Web Page View field.

This is useful for displaying Level 3 activities at the Level 1 in a Web Page View field.

Currently we can display Level 3 activities at Level 1 using the following syntax:

<table border=1>
[#(?object=activity;orderby=startdate)
 
<tr><td colspan=2>~subject~</td><td>~location~</td><td>~startdate~</td></tr>
<tr>
<td>
 
<table bgcolor="00FFFF">
 
[@(?object=activity;orderby=startdate)<tr>
<td>~subject~</td><td>~location~</td><td>~startdate~</td>
</tr>
@] 

</table>
</td>
</tr>
 
#]
</table> 


This method, however, has the limitation that only Level 3 activities with less than 25 fields can be displayed using this technique.

To display Level 3 activities that have more than 25 fields, the following method is now available:

1. Create a Read Only - System Variable field at Level 2.

2. Format the field as you would a Web Page View field. For example:

<table border=1>
[#(?object=activity;orderby=startdate)
 
<tr><td colspan=2>~subject~</td><td>~location~</td><td>~startdate~</td></tr>
#]
</table>


3. You can now use the field in the Web Page View as you would any other field. For example:

<table border=1>[#(?object=activity;orderby=startdate)<tr><td colspan=2>~subject~</td><td>~location~</td><td>~startdate~</td></tr><tr><td colspan=2>$123456$</td></tr>#]
</table>

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 behavior

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 behavior 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.

How to display a Dynamic Data grid field

To show the data grid field in the webpage view field use the syntax '@fieldname.table@'.

How to display the Transaction types

In order to display a transaction type and its fields use the following example:

Syntax:

[#(?object=transaction;orderby=fieldname;criteria=typename='')<tr><td>$customfieldid$</td><td>$customfieldid$</td></tr>#]

Example Code:

[#(?object=transaction;orderby=tbl_1041842.valuestr desc;criteria=typename='Co-Principal Investigor, Co-Applicant, Additional Author')
<tr><td>$1041842$</td><td>$1041843$</td><td>$1041844$</td><td>$1041845$</td></tr>
#]


To retrieve all Company transactions for the company attached to Level 1 (Standard field - Customer):

@company.[#(?object=transaction)<tr><td>~details~</td><td>~subject~</td><td>~startdate~</td></tr>#]@

To retrieve all Branch transactions for the branch attached to Level 1 (Standard field - Branch):

@branch.[#(?object=transaction)<tr><td>~details~</td><td>~subject~</td><td>~startdate~</td></tr>#]@

To retrieve all People transactions for the user attached to Level 1 (Standard field - Owner):

@owner.[#(?object=transaction)<tr><td>~details~</td><td>~subject~</td><td>~startdate~</td></tr>#]@

To retrieve the Level 1 transactions at Level 2:

@parent.[#(?object=transaction)<tr><td>~details~</td><td>~subject~</td><td>~startdate~</td></tr>#]@

To retrieve the Level 1 transactions at Level 2 by transaction type:

@parent.[#(?object=transaction;criteria=typename='Name of Transaction Type')
<tr><td>$fieldid$</td><td>$fieldid$</td><td>$fieldid$</td><td>$fieldid$</td></tr>
#]@

Impact: Transactions on the Company and User objects can now be displayed in a UTA web page view. The transaction does not have to directly associated with the Level 1 item.


To get the modified date of a transaction use the following:

~trsts~ or ~date_format(trsts,'%Y-%m-%d') as lastmodified~

Role base Web page view field

When you have a role base web page view field or company based webpage view field you can access the levelone, contacts, or company information.

@levelone.custom field name/custom field id@
@levelone.standard field name@
@company.custom field name/custom field id@
@company.standard field name@
@contact.custom fieldname/custom field id@
@contact.standard field name@

SSlogic escape[] function

The escape[] function is used to escape the single quote in instances where the data in a field may contain a single quote.

The current usage of sslogic to test if a field is empty < !--@sslogic('$1137762$'!=)-->

The new escape function: < !--@sslogic('escape[$1137762$]'!=)-->

SSlogic Interpreter

The interpreter/processor can display or remove content based on user-defined logic.


Syntax

Simple Logic

<!--@sslogic(condition)-->

the content to be displayed when condition is true

<!--@end-->


Else Logic

<!--@sslogic('condition')-->

the content to be displayed when condition is true

<!--@else-->

the content to be displayed when condition is NOT true

<!--@end-->


Multiple Condition Logic

<!--@sslogic('condition' AND ('condition' OR 'condition' OR 'condition'))-->

the content to be displayed when condition is true

<!--@end-->


Sample Code:


A. display a xmas tree

<!--@sslogic(month(now())=12)-->

<img src='images/xmasstree.jpg'>

<!--@end-->

B. display a different message based on customfield

<!--@sslogic('@sex@'='M')-->

You are a guy.

<!--@else-->

You are a girl.

<!--@end-->

C. display a message base on nested logic condition

<!--@sslogic('@year@'='2008' AND  ('@month@'='1' OR '@month@'='2')-->
Display 1 or 2 in 2008

<!--@end-->

 

Retrieving Custom Field History

The following syntax is used to retrieve custom field history:

For Status : @HistoryOf(status)@

For Customfield : @HistoryOf(####)@  where #### is customfield id, system doesn't accept name in this case.

@HistoryOf()@  ******************************************   Case sensitive ********************************************************

Troubleshooting

  • In the event of 2 variables running together (removing the ending @ and beginning @) the issue can be resolved by placing a non-breaking space tag ( ) in between each other.
  • For your list of level 2 activities, your code is showing instead of the field headings and values you've designated.
Try inserting a comment tag before the first cell tag. i.e.
<tr><!--~index~--><td>