...
This activity configures the process of approving: it creates approvals, sets approval rules and conditions.
Excerpt |
---|
The activity evaluates the result depending on the following factors: - the decision made by the approvers
- conditions specified in the Approved When or Approval Conditions and Reject Conditions fields
- (optional) conditions specified in scripts.
The activity can be completed with one of two results: Approved or Rejected. 
Activity fields Name | Mandatory | Description |
---|
Name | N | Activity name. A good practice is to make the name descriptive for clarity. | Description | N | Type a brief description of the activity. It is displayed on the activity block on the canvas if provided. | Table | Y | A table to be affected by this activity. This field is populated automatically. | Run Conditions | N | Specify conditions to be met for generating approvals. If these conditions are not met, the workflow skips the activity. In this case, the Approved exit is taken. | Approval Type | N | Specify the approval type to define the conditions of the activity exits. Available options: - Automatically – select the conditions of the activity completing in the Approved When field from a predefined set of conditions.
- Manual – configure your conditions of the activity completing you need in the Approval Conditions and Reject Conditions fields.
| Non-Mandatory Participants | N | Select this checkbox to add the participants whose approvals are not mandatory to vote. When this checkbox is selected, the Non-Mandatory Participants tab appears. | Mandatory participants tab |
---|
Employees | N | Select responsible users. They will receive the approvals and make their decisions. Click the magnifier icon to select from the list or start typing the user namename to select from autosuggest. | Groups | N | Select responsible groups. Users included in this group will receive the approvals and make their decisions. Click the magnifier icon to select from the list or start typing the group namename to select from autosuggest. | Roles | N | Select roles whose owners will receive the approvals and make their decisions. Click the magnifier icon to select from the list or start typing the role namename to select from autosuggest. | Advanced | N | Select this checkbox to specify a script to evaluateexecute. | Script Anchor |
---|
| script examples for approvals |
---|
| script examples for approvals |
---|
|
| N | If the Advanced checkbox is selected, this script is called to determine if any additional approvals should be created. The script is intended to set the answer variable to a comma-separated list of user IDs to add as approvers. Info |
---|
This field appears when the Advanced checkbox is selected. |
The code example below implements logic as described below: - Checks groups of the current caller.
- Checks the value of the Responsible attribute of these groups.
- If the group responsible was found, then his user ID is added to the answer array.
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Script example |
---|
linenumbers | true |
---|
| const incidentCallercaller = current.getValue('caller');
const callerGroupsIds = []
const callerIsMemberOfGroupscallerGroup = new SimpleRecord('sys_user_group');
callerIsMemberOfGroupscallerGroup.addQuery('user_id', incidentCallerсaller);
callerIsMemberOfGroupscallerGroup.selectAttributes(['group_id']);
callerIsMemberOfGroupscallerGroup.query();
while (callerIsMemberOfGroupscallerGroup.next()) {
if callerGroupsIds.push(callerIsMemberOfGroupscallerGroups.getValue('group_id'))
}
const callerGroups = new SimpleRecord('sys_group')
callerGroups.addQuery('sys_id', 'IN', callerGroupsIds)
callerGroups.selectAttributes(['responsible'])
callerGroups.query()
while (callerGroups.next()) {
if (callerGroups.getValue('responsible')) {
answer = answer.push(callerGroupscallerGroups.group_id.getValue('responsible'));
}
} |
Note |
---|
You can pass values to the answer variable either as a string or as an array, for example: answer = ['100000000000000001', '160017550418345219', '159974538715046822'] answer= '100000000000000001,160017550418345219,159974538715046822' |
| Approved When | N | In this field, you can define the approval logic. Available choice options: - Anyone to approve – the Approved exit will be taken if at least one responsible user approves the ticket.
- Everyone to approve – the Approved exit will be taken only if all responsible users approve the tickets; otherwise, the workflow will take the Rejected exit.
- First response from anyone – the exit to be taken depends on the first decision received: the first user who happens to make the decision defines the outcome.
- Most answers – the activity outcome depends on the number of approvals and rejections: if there are more approvals, then the Approved exit is taken and vice versa.
- Conditions based on script – the activity outcome depends on the Script that calculates the result every time it receives approval or rejection.
Info |
---|
This field appears when the Approval Type is equal to Automatically. |
| Approval Conditions | Y | Specify the conditions to be met for the Approved exit. If there is more than one condition, they will be checked one after another. Info |
---|
This field appears when the Approval Type is equal to Manual. |
| Reject Conditions | Y | Specify the conditions to be met for the Rejected exit. If there is more than one condition, they will be checked one after another. Info |
---|
This field appears when the Approval Type is equal to Manual. |
| Non-mandatory participants tab Info |
---|
This tab appears when the Non-Mandatory Participants checkbox is selected. |
| Employees | N | Select responsible users from the Employee list. They will receive the approvals and make their decisions. Yet, their approval is not mandatory. Click the magnifier icon to select from the list or start typing the user's namename to select from autosuggest. | Groups | N | Select responsible groups. Users included in this group will receive the approvals and make their decisions. Yet, their approval is not mandatory. Click the magnifier icon to select from the list or start typing the group namename to select from autosuggest. | Roles | N | Select roles whose owners will receive the approvals and make their decisions. Yet, their approval is not mandatory. Click the magnifier icon to select from the list or start typing the role namename to select from autosuggest. | Advanced | N | Select this checkbox to specify a script to evaluateexecute. | Script | N | This script is called to determine if any additional approvals to be created. The script is intended to set the answer variable to a comma-separated list of user IDs to add as approvers. See an example and clarifications above. Info |
---|
This field appears when the Advanced checkbox is selected. |
| Consider Non-Mandatory Participants | N | When selected, non-mandatory participants are able to vote in approval tickets. |
|
...