Changes

Jump to: navigation, search

Advanced Logic

3,391 bytes added, 18:18, 13 August 2014
no edit summary
The '''Advanced Logic''' feature allows control of the visibility and/or access to [[Interfaces|interface]] elements such as buttons or tabs based on gives [[System Administrator|administrator]] defined conditions. This feature is available in the [[Universal Tracking Application]]'s Setting's Page, a higher level of control over the [[Global Settings]] Page and in the '''Transactions''' settingsentire interface.
This feature allows control of the [[Image:AdvancedLogic.pngvisibility]] and/or access to [[Interfaces|interface]] elements such as buttons or tabs based on [[Administrator|administrator]]defined conditions.
[[Image:AdvancedLogicAugust2014.png|link=]]
==Location==This feature is available in 3 places:# '''Advanced Logic''' link on the [[Global Settings]] page (In the [[Business & System Configuration]] section) - to establish system-wide rules.# '''Advanced Logic''' link on the '''Settings''' Page within each [[Universal Tracking Application]] - for rules specific to each UTA.# In the [[:Category:Transactions|Transaction Types]] section on [[Global Settings]] - for both ''People'' and ''Company''Transaction Types
* Link Button
Advanced Logic on '''ExampleTransaction Types'''only has one control: It allows you to show/hide the '''Links''' button for individual Transaction Types. The '''Links''' button allows a Transaction to be linked to UTAs when viewing the Transaction.
To hide ==Overview=='''Object''': The object that is being controlled.<br />'''Condition''': A logical statement that when true will make the Link buttonobject statement true, in the Condition box enter and when false will make the value 0object statement false.
* If the '''Object''' says "Show Level 1 Save Button", if the statement in the '''Condition''' field is true the Save button will be shown.
* If the '''Object''' says "Hide Top Invoice Tab", if the statement in the '''Condition''' field is true the Invoice Tab will be hidden.
* If the '''Object''' says "Disable Delete Level 1 Contacts", if the statement in the '''Condition''' field is true, deleting Level 1 contacts will be disabled (meaning deletion won't be possible).
'''Advance Logic''' controls various object visibility. This is currently available for: - the '''Level 2 Copy''' button. - '''Hide Notes''' at '''Level One''', '''Level Two''' and '''Level Three'''.
i.e. Put ''For example, you can disable the following into '''Delete''' button when viewing '''Contacts''' at Level 1 for [[User]]s in a specific [[Role|role]] by using the '''ConditionAdvanced Logic''' boxsetting on the [[Global Settings]] page.:[[Image:AdvancedLogicDCAugust2014.png|link=]]
<nowiki>instr(concat(','In the above example,'@meusers who are in the role "Program Director" or "Applicant" will be prevented from deleting contacts at {{l1}}.rolelist@',','),',roleid#,')</nowiki>
For example,'''instr(concat(',','@me.rolelist@',','),',9999,') OR instr(concat(',','@me.rolelist@',','),',1111,')''' where 9999 and 1111 are role ids.==Sample Conditional Statements==
'''Additonal ExamplesNOTE:'''* '''@status@=’new’''':if the status is set to ‘new'When possible, avoid using IDs (i.e., typeid, statusid).* '''1=0 ''':setting the condition to be false every time Using field names rather than IDs allows for better readability and thus controlling the display of the objectcloning.'''
* Using role name vs. role id
!@me.inRole(Organization Contact)@
rather than
'instr('@me.rolelist@',',10733,')=0'
 * Not true for the Level 1 template with typeid ''12345'' '@opportunity.typeid@'<>'12345' or '@opportunity.typeid@'Not In('12345')  * True if the Level 1 status is 'Draft': '@opportunity.status@'='Draft' or '@opportunity.status@' In ('Draft')  * True unless the Level 1 status is 'Draft' or 'Open': '@opportunity.status@' Not In ('Draft','Open')   * True if the Level 1 statusid is 765 or 766 '@opportunity.statusid@' In ('765','766')   * True if the Level 1 statusid is NOT 765 or 766 '@opportunity.statusid@' Not In ('765','766')  * True when current user is in the role ''Program Director'' or ''Applicant'': @me.inRole(Program Director)@ OR @me.inRole(Applicant)@   * False when current user is in both the roles ''Program Director'' and ''Applicant'': !@me.inRole(Program Director)@ AND !@me.inRole(Applicant)@  * For a advanced logic based the '''startdate''' or '''enddate''' standard fields:::* Use ''''@fullstartdate@'''' rather than ''''@startdate@'''' and ''''@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'  * True if today's date is after the Start Date: now()>'@fullstartdate@'  * Never True 1=0   * Always True 1=1   '''<u>IMPORTANT</u>''' The syntax used will vary depending on which '''Object''' is being controlled.<br>For example, consider the '''Show Level 3 New Button'''. This button is shown when you are viewing a Level 2 record.* If you want to control the visibility of the Level 3 New button based on the status of the '''Level 2''' item you would use: '@statusid@' In ('765','766')  * If you want to control the visibility of the Level 3 New button based on the status of the '''Level 1''' item you would use: '@opportunity.statusid@' In ('765','766')   ==See Also== To see the options available for Advanced Logic settings, visit our [[Advanced Logic Options]] page. * [[Boolean Operators]]* [[UTA Settings Page]]* [[inRole]] [[Category:Global Settings]][[Category:UTA Settings]][[Category:Universal Tracking Application]][[Category:Advanced Logic]]
8,849
edits

Navigation menu