Visibility Condition

From SmartWiki
Revision as of 09:01, 2 June 2011 by Cameron (talk | contribs)

Jump to: navigation, search

The Visibility Condition section of Custom Fields, UTA Standard Fields and Contact and Account Standard Fields allow you to use logical statements to determine whether a field is visible or not.

Note: Visibility Conditions take effect when the record is saved. They will not run dynamically if the condition is based on the value in a field on the page. If you wish to change visibility of fields dynamically you should use the Show/Hide Header procedure.

Examples

  • To make the field visible after 06 February 2009.
now()>'2009-02-06' 


  • To make a Contact field visible only to the contact and to System Administrators (roleid 12345):
@me.userid@=@userid@ or instr(" @me.rolelist@","12345,")>=0


  • IMPORTANT: for a visibility condition based the startdate or enddate:
  • Use '@fullstartdate@' rather than '@startdate@'
  • Use '@fullenddate@' rather than '@enddate@'.
This will format the stored date as yyyy-mm-dd so it can be compared using < and >.
'@fullstartdate@' >= '2009-05-01'


  • To make the field visible only if the date in the field named Date Initiated is on or after 2009-01-31
'@Date initiated@' >= '2009-01-31'


  • To hide the field for new Level 1 records until they have been saved once
@opportunityid@>0


  • To make the field visible if the Template or Type is named Sample or Example
'@type@'='Sample' OR '@type@'='Example' 


  • To make the field visible for a user with roleid 9999
instr(" @me.rolelist@,",",9999,")>=0
instr checks to see of the 2nd term (,9999,) can be found within the first term (@me.rolelist@) and returns the numeric character position at which it is found. It returns a value of -1 if the search term is not found.


  • To make the field hidden for a user with roleid 9999
instr(" ,@me.rolelist@,",",9999,")<0
In this case instr will return false (-1) if the role is not found that will only display the field for users that don't have roleid 9999
  • To make the field visible for a user whose parent company has company category 1234
'@me.parent.catlist@' like '%,1234,%' 
  • To make the field visible only when the status is Draft or Open
   * '@status@' in ('Draft','Open') 
Note: The above Visibility Condition would only be used Standard Fields. Custom Fields have a separate Status Field Permission section that can be used.


  • More Examples,
'@Destination City@'='Toronto' 
'@Type@'!='Contract'


Note: remember to include the @fieldname@ in single quotes.

Multiple Conditions

It is also possible to test multiple conditions:

  • For an OR condition use two pipes (|)
'@status@' = 'Closed' || '@me.fullname@'='Jane Doe'

The above field will be visible either if the status of the record is Closed, OR if the user viewing the record is named John Doe.


  • For an AND condition use two ampersands (&)
'@status@' = 'Closed' && '@me.fullname@='John Doe'

The above field will be visible only if the status of the record is Closed AND the user viewing the record is named John Doe.


  • You can also use a combination of these, using brackets to control the order of validation:
( '@status@' = 'Closed' || '@status@' = 'Cancelled') && ('@me.fullname@'='John Doe' || '@me.fullname@'='John Deer' || '@me.fullname@'='Dear John')

The above field will be visible only if the status of the record is either Closed OR Cancelled, AND the user is one of the 3 named users.

See Also

Visibility of Custom Fields can also be controlled using:

For More Examples of Conditional Statements