Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Context Parameters
Use context parameters to specify conditions that apply to the action
Basic Settings
Enter the name that will be used to display this action on a Stream View ??Where and why does a stream view display an action??
A stream view can have a default action set against it
When the user double-clicks on a record in the stream view, PhixFlow runs the default action.
You can configure the action behaviour based on the data in the record.
Progress Indicator Settings
A grid listing the context parameters. Double-click to open the properties for a context parameter
Confirmation Message
If this flag is ticked, a message will pop up asking the user if they want to proceed with the action. By default, the message is:
Please confirm that you want to apply action Action Name
To provide a customised confirmation message, use the next field.
File Upload
If this flag is ticked, users will be prompted to browse to a file and select it for upload when they run this action.
An expression that sets the value of the tag for the file. You can use this tag in a file collector to read into PhixFlow files that the action has uploaded.
The tag expression can refer to:
- any values entered on the Form View using:
Code Block |
---|
_prompt.<Form Field Name> |
- the values of any Context Parameters using:
Code Block |
---|
_context.<ContextParameter Name> |
- any attributes of any records selected on the view or dashboard from which the action was initiated using:
Code Block |
---|
<View name or alias>.<Attribute name or alias> |
List of names of uploaded files can be accessed through _files
variable.
Action Validation
The validation expression is evaluated at the start of any Insert or Update actions. If the validation expression generates any error messages (using the error function) then the action is abandoned. The validation expression is not used to decide whether or not to run the selected task plan.
The validation expression can include multiple statements by wrapping them in a do() clause. A number of internal variables are available in these expressions:
- _this: A reference to all the selected records within the view to perform the action on.
- _prompt: A reference to all the user prompted action attributes.
The usual message functions debug(message), info(message), warning(message), and error(message) are all available to be used in these expressions and will result in messages being written to the system console logs.
Be careful when using the error(message) function - this will stop the action from being completed.
Example 1
Validate that the sum of the selected record amounts equate to zero before allowing the action to be executed.
Code Block |
---|
if(sum(_this.amount) == 0, info('OK'), error('Not performing Action as the Sum does not equate to zero')) |
Example 2
Validate that the user entered comment is at least 10 characters long, else write a warning to the log.
Using values from other views
You can also refer to records selected in other dashboard views by using their dashboard element names. E.g. if the dashboard also contains a view with database element name ACCTS
, you could use the following in your validation expression:
Action Rules
When the action runs, PhixFlow
A list of rules that determine which of the listed Stream Item Actions will run. Double-click a rule to open its properties and specify rule details and attributes: see Stream Item Action Rule. This grid displays:
- Order: The order in which the rules are evaluated.
- Stream: The backing stream.
- Name: The rule name.
- Expression: If this expression evaluates to true, this action will be run. A blank (null) expression counts as true.
When the action runs, PhixFlow evaluates the action rules in order. For each action rule that evaluates to true, PhixFlow will run that action.
The action type of the first action rule is overwritten if the button that initiates the action has both an Action Type and an Action; see Layout.
The grid contains a list of task plans and their associated expression. The expression is the rule to determine whether the task plan runs.
To add a task plan to the list:
ClickTo add an expression, double-click the task plan in the grid to open a task plan rule property tab.
The first task plan whose expression evaluates to true will be run. Only this task plan will be run. If none of the expressions evaluates to true, no task plan will be run.
Double-click a task plan rule to specify:
- Order: The order in which the rules are evaluated.
- Task Plan: The task plan that will be run if the accompanying expression evaluates to true.
- Expression: If this expression evaluates to true, this task plan will be run. A blank (null) expression counts as true.
See Task Plans for details.
Action Completion
If you tick this flag, a separate dashboard will be opened once the action has completed. The dashboard to open is determines by the Dashboard Rules. These are only available if you have ticked this flag.
Any filter of any view on the post dashboard can reference any Context Parameters set on this action. If the specified dashboard is already open it will be brought to the front and refreshed, rather than a second instance of the dashboard opening.
This field is only available if the Open Post Dashboard is ticked.
A list of dashboards that can be opened after this action, for each one a rule to determine whether this is the dashboard that will be opened.
The first dashboard whose expression evaluates to true will be opened. Only this dashboard will be opened. If none of the expressions evaluates to true, no dashboard will be opened.
For each dashboard rule define the following fields:
- Order: The order in which the rules are evaluated.
- Dashboard: The dashboard that will be opened if the accompanying expression evaluates to true.
- Expression: If this expression evaluates to true, this dashboard will be opened once the action has completed. A blank (null) expression counts as true.
Result
Enter the text for a message that PhixFlow will display when the action has completed. Use the toolbar to format the message. You can use the message to notify the user of a summary of the action, or the to provide information about the completed state.
You can include expressions within the message by enclosing each expression in curly brackets { }
. PhixFlow evaluates each expression in turn before displaying the message.
For result messages that report on the status of the action, you can use the following internal variables in the expressions:
- _error: Details of the error messages generated.
- _errors: The number of error messages generated.
- _warning: Details of the warning messages generated.
- _warnings: The number of warning messages generated.
- _messages: The number of warning messages generated.
- _taskPlan: The name of the Task Plan that the Action ran (may be null)
- _runId: The runId of any Stream data generated by this Action (may be null).
- _action: The name of the Action.
- _file: Details of files processed (imported or exported) by the Action.
- _fileCount: The number of files processed by the Action.
Code Block | ||
---|---|---|
| ||
Action {_action} failed with {_errors} errors and {_warnings} warnings. |
You can also use context parameters and values to report different messages. For example if you have a context parameter (called balance
) that calculates the outstanding balance, you can use an expression that reports different messages depending on the calculated value.
Code Block | ||
---|---|---|
| ||
{if(_context.balance < 0,"Money still owed", "Balance paid")} |
Access Permissions
For details about how to control access to an action, see Common Properties → Access Permissions.
Advanced
You can specify a form view to appear when the user starts the action. They will be able to enter values on this form view, and the values can be used to update selected records for an update action, or populate fields for an insert action.
Select a form view
either from the drop-down list of all forms views in PhixFlow
or clickValues entered in the form view are referenced in expressions in the action with the form.
Code Block |
---|
_prompt.<form field name> |
For example, if there is a field on the form with the label Name
, then the value entered in that field by the user can be referenced in subsequent expressions as
Code Block |
---|
_prompt.Name |
If this is an update action, then the form will be pre-populated with the values from the selected record. Where multiple records are selected, then only those values which are common to all the selected records will be displayed. For insert action, when the form pops up all fields will be blank.
Additional Properties for Update or Delete Actions
Maximum Items Expr.
If the number of items selected on the view from which this action is initiated, or retrieved by the filter configured on this action, is greater than this number then an error message will be generated and no updates or deletes will take place.
Minimum Items Expr.
If the number of items selected on the view from which this action is initiated, or retrieved by the filter configured on this action, is less than this number then an error message will be generated and no updates or deletes will take place.