Changes

Jump to: navigation, search

Custom Field Type: Special – Calculated Value

704 bytes removed, 19:18, 5 September 2018
Undo revision 33084 by ATsim (talk)
'''General Description'''{{JavaScript Syntax}}
==General Description==
Executes an expression to calculate a value and store the result.
<u>'''Field Options''' </u>{{FieldOptions}}
* '''Display OrderExpression''': The order Defines the expression to be executed (relative to other fieldsadditional details on Expression found in section below) in which this field is displayed* '''Tab Name''': Displays the field under a given tab{{LabelAboveField}}* '''Field Name''': The name of the field, used internally to reference the user's input{{ToolTip}}* '''[[Caption]]''': The leading question or prologue before the field{{HideFieldForNewRecord}}* '''Searchable''': This field can be searched within the tracking application* '''Track Changes''': Keeps track of changes made to this field <u>'''Special Options for Field'''</u>{{SmartFieldView}}
==Expression Field Details==
'''Expression''': Defines the expression to be executed
All values are treated as strings. For arithmetic operations, PARSEINT and PARSEFLOAT functions are used to convert the string value to a numeric value.
Example summing the values using five custom fields:
''ParseFloatssParseNum([Total Monthly Cost]) + ParseFloatssParseNum([Total Cost Ex]) + ParseFloatssParseNum([Hardware Rental]) + ParseFloatssParseNum([Email]) + ParseFloatssParseNum([Other])''
<pre>If you are using this field in a "Dynamic Control Field" address the fields by their field ids with the following syntax:
frm.cf_customfieldid.value
Example: PARSEFLOATssParseNum(frm.cf_1254625.value)*0.44
</pre>
'''Notes''': {{OptionsTab}}* You can in general use either the name of the field within square brackets, or frm.cf_''customfieldid''.value to refer to the values for the calculations.{{Searchable}}* In both cases is that the field must be visible on the page (or a [[Hidden Value]] custom field that is on the page). {{TrackChanges}}{{HideField}}{{DisableFromGlobalSearch}} ==Formatting=={{FieldFormattingOptions}}* [[Combo Boxes]] can be used in mathematical as long as the stored value is numeric. The displayed value does not have to be numeric* [[Check Boxes]] cannot normally be used in Calculated ==Value fields. (They can be accommodated with sufficient knowledge of JavaScript)Storage=={{ValueStoresTo}}
<u>'''Services'''</u>
* '''Enable Map Service''': displays the map icon next to the field name that will launch the user’s selected map service and display a map of the content of the field* '''Enable People Search Service''': displays the search Internet icon next to the field name that will launch a variety of search services and display the contact details from those services* '''Enable Organization Search Service''': displays the search Internet icon next to the field name that will launch a variety of search services and display the organisations details from those services{{CFPermissionsTab}}
<u>'''Field Formatting Options'''</u>
* '''[[Number Format]]''': Formats any numbers entered into this field
* '''Style''': '''Bold''', <u>Underline</u>, ''Italic'', <font color="red">Highlight</font>
* '''[[Tool Tip]]''': Enter help text to be shown on mouse-over
* '''Read Only''': Checkbox
* '''HTML Tag''': Additional attributes to the field HTML tag
* '''[[Visibility Condition]]''': Conditions upon which the field is visible
<u>==Notes==* You can in general use either the name of the field within square brackets, or frm.cf_''customfieldid''.value to refer to the values for the calculations.* In both cases is that the field must be visible on the page (or a [[Hidden Value]] custom field that is on the page).* A [[Combo Box]] custom field can be used in mathematical as long as the stored value is numeric. The displayed value does not have to be numeric* [[Role Field Permissions|Role - Field PermissionsCheck Boxes]]'''</u> cannot normally be used in Calculated Value fields. (They can be accommodated with sufficient knowledge of JavaScript)
These [[Role Field Permissions|fields]] allow you to control by [[Role]] who is allowed to view and/or modify the field.
<u>'''[[Status Field Permissions|Status - Field Permissions]]'''</u> * ''Only present You can use arithmetic, string, comparison operators and functions within the calculated [[Universal Tracking Application]]''These [[Status Custom Field Permissions|fields]] allow you to control by the [[Statuscustom field]] of the record whether or not the field can be viewed and/or modified. '''Notes'''
You can use arithmetic, string, comparison operators and functions within the calculated [[Custom Field|custom field]]. * References to other fields are always enclosed in square brackets: [variable1] * The calculations are performed when you click the '''Save''' button and save the page.
=='''Important Notes on Calculation Order'''==
* Calculated field formulas are executed in the same order that the calculated fields are displayed on the page.
* You must not place fields that perform summary calculations based on other calculated fields ABOVE the subordinate calculations.
* If the fields are ordered in this manner, saving the page will not update the summary calculation, as summary formula will be executed BEFORE the subordinate calculations are performed.
* Calculated field formulas are executed in the same order that the calculated fields are displayed on the page.
* You must not place fields that perform summary calculations based on other calculated fields ABOVE the subordinate calculations.
** If the fields are ordered in this manner, saving the page will not update the summary calculation, as summary formula will be executed BEFORE the subordinate calculations are performed.
==SmartSimple Calculated Field Operators==
 
===Arithmetic Operators===
 
[[Image:CS08.png]]
'''Rounding''':
 ** To round a calculation to 2 decimal places use the following syntax::*** '''Math.round(('''''expression''''')*100)/100''''''Note:''' To round to a different decimal place just change '''*100)/100''' part as per requirement. Example:To round to 3 decimal places, you would use '''Math.round(('''''expression''''')*1000)/1000''' *** For no decimal places::**** '''Math.round('''''expression''''')'''
where ''expression'' is the calculation to be rounded off, such as PARSEINT([variable 1])/PARSEINT([variable 2])
===String Operators===
 
[[Image:CS081.png]]
===Comparison Operators===
 
[[Image:CS084.png]]
===Date Functions===
 
[[Image:CS085.png]]
'''calage([date of birth])''' - Calculates the number of full years between the current date and the date included in the function. '''calage([date of birth],1)''' - Calculates the number of years and months between the current date and the date included in the function as a floating point.'''calage([date of birth],2)''' - Calculates the number of years and months between the current date and the date included in the function as the string "X years and Y months".
===Time Functions===
 
To calculate the time difference for '''Standard Fields''' in hours and minutes use the following
Level 1:
 **** ''timediff(frm.ostartdate.value,frm.oenddate.value,frm.ostarthour.value,frm.ostartminute.value,frm.oendhour.value,frm.oendminute.value)''
Level 2:
* ''timediff(frm.startdate.value,frm.enddate.value,frm.starthour.value,frm.startminute.value,frm.endhour.value,frm.endminute.value)''
**** ''timediff(frm.startdate.value,frm.enddate.value,frm.starthour.value,frm.startminute.value,frm.endhour.value,frm.endminute.value)''
(note: the starttime and endtime '''Standard Fields''' are actually stored as part of the startdate and enddate fields, which is why they are used here)
===Other Functions===
To show the number of characters in a text field, use:
**** [''fieldname''].length
To show the number of words in a text field, use:
=**** [''fieldname''].split(" ").length==See Also===**** [[How Calculated Custom Fields Work]]**** [[ssParseNum]]**** [[Template / Type Formula]]**** [[:Category:JavaScript]]**** [[Variable List]]**** [[The Musings of Chin - Correct Variable Processor Use]]**** Disambiguation: [[Category:Custom FieldsCalculated Field|Calculated Field in Reporting]]{{CustomFieldPageFooter}}
0
edits

Navigation menu