Configuring rules in the responsive form
Prerequisites
- Access to the File > Form (FO005) menu.
- Previously created and designed responsive form.
Introduction
Rules are mechanisms that make the form display fields, hide them, or make them mandatory in different situations.
They are used to define the actions that must be executed in accordance with the information inserted in the form.
Actions allow for comparing inputted information, editing field properties, displaying a message on the screen, executing another rule, and executing a dataset to fill in form variables with the result of this execution.
Since the example used is a travel request form, we will create a rule to block the input of a return date that precedes the departure date on the travel data screen.
See how to configure and apply rules in the fields of a responsive form:
Configuring rules
1. Access the File > Form (FO005) menu.
2. Select the form in which the rule will be created.
3. Click on the arrow next to the button and select Form designer.
4. Configure the desired rule:
Available actions
After creating a rule, we need to add the actions that will be executed in the fields when it is applied.
See the actions available to be added to the rules:
Create conditional expression
Conditional expressions can be used to compare or verify form data. For example, it is possible to check if a form field is null (empty or not filled in).
A conditional expression returns the True or False value for each case (comparison). If the result of a conditional expression is True, a certain action will be executed; otherwise, the action will not be executed. To execute another action when the conditional expression returns the False value, the Else option must be added.
The conditional expression is equivalent to the IF and ELSE functions of the formula editor of web forms.
A conditional expression may have two structures (IF-THEN-END or IF-THEN-ELSE-END):
IF <condition> THEN <action that will be executed if the condition is True> End IF |
IF <condition> THEN <action that will be executed if the condition is True> ELSE <action that will be executed if the condition is False> End IF |
While creating a rule, when the Add action button is clicked and the Create conditional expression option is selected, the system will display a screen for conditions to be created:
A - In the Value source field, select the source of the value that will be used in the conditional expression. Condition values may originate from form fields, variables, expressions, and functions already recorded in the form, or from fixed values. See further details about this field in the table below.
B - After selecting the source value, we must specify what the value will be; the options available for selection depend on the value source that has been selected. The Type and Value fields are shown at this spot when the value source is a Fixed value and they must be necessarily completed. Enter the fixed value type and its respective value that will be used in the conditional expression. See further details about this field in the table below.
C - The Operator field allows for defining the criterion to verify the expression. Depending on the selected Operator, we can check if a certain form field has been completed or not. It is also possible to compare two expressions by means of operators such as: equal to, different, null, not null, greater than, less than, greater than or equal to, less than or equal to, contains, and does not contain. When a comparison operator is selected, the fields of the second expression will be enabled immediately. See further details on this field in the Operator table.
D - This area shows the condition in writing. Thus, it is possible to check if the condition has been configured correctly. The condition may return two results: True or False. When the condition is true, the action assigned to it will be executed; otherwise, no actions will be executed, or the action assigned to Else will be executed.
E1 - Expression 1 - In this area, the first expression of the condition is defined. If the condition is only used to verify whether a value is null/false or not, a second expression does not need to be configured; however, if the conditional expression is comparing two values, the second expression of the condition must be defined.
E2 - Expression 2 - In this area, the second expression of the condition is defined. This area will be enabled when a comparison operator is selected (equal to, different from, greater than, less than, greater than or equal to, less than or equal to, contains and does not contain).
Value source | |
Form field | Select this option to use the value of a certain form field in the condition. It is possible to verify if the field has been completed or compare the value of the field with another value, which may be a fixed value or the value of another form field. |
Variable | Select this option to use a variable from the table in the condition. |
Function | Select this option to use, in the condition, a previously created function. |
Expression | Select this option to use, in the condition, a previously created expression. |
Fixed value | Select this option to use a fixed value for the condition. The system accepts fixed values of these types: text, paragraph, integer, decimal, time, date, or Boolean. |
Operator | Description | Fields |
Equal |
This operator allows for verifying if the value of the first expression (E1) is equal to the value of the second expression (E2). Note: in the case of a checkbox (Boolean), the condition will return True if the two fields are checked (true) or if both are unchecked (false), indicating that the values are equal. The condition will return False if the values are different, that is, if a field is checked (true) and the other is unchecked (false). |
Text, Paragraph, Option group, Simple list, Fixed value, Date, Time, Decimal, Integer, Checkbox, Boolean. |
Different |
This operator allows for verifying if the value of the first expression (E1) is different from the value of the second expression (E2). Note: in the case of a checkbox (Boolean), the condition will return True if one of the fields is checked (true) and the other is unchecked (false), indicating that the values are different. The condition will return False if both fields have the same value, that is, if both are checked or unchecked. |
Text, Paragraph, Option group, Simple list, Fixed value, Date, Time, Decimal, Integer, Checkbox, Boolean. |
Null | This operator allows for verifying if the value of the expression (E1) is null. If the value of the expression is null, that is, if the field is not completed, the condition will return the True value; otherwise, it will return the False value. | Text, Paragraph, Option group, Simple list, Fixed value, Date, Time, Decimal, Integer, Checkbox, Boolean, Advanced list, Data source list, File, Signature. |
Not null | This operator allows for verifying if the value of the expression (E1) is not null. If the value of the expression is not null, that is, if the field is completed, the condition will return the True value; otherwise, it will return the False value. | Text, Paragraph, Option group, Simple list, Fixed value, Date, Time, Decimal, Integer, Checkbox, Boolean, Advanced list, Data source list, File, Signature. |
Contains | This operator allows for verifying if the text of the first expression (E1) contains the text of the second expression (E2). If the text of the second expression is contained in the text of the first expression, the condition will return the True value; otherwise, it will return the False value. |
Text, Paragraph, Option group, Simple list, and Fixed value. |
Does not contain | This operator allows for verifying if the text of the first expression (E1) does not contain the text of the second expression (E2). If the text of the second expression is not contained in the text of the first expression, the condition will return the True value; otherwise, it will return the False value. |
Text, Paragraph, Option group, Simple list, and Fixed value. |
Greater | This operator allows for verifying if the value of the first expression (E1) is greater than the value of the second expression (E2). If the value of the expression is greater than the value of the second expression, the condition will return the True value; otherwise, it will return the False value. In date or time verification, the date/time is considered to be later than the other date/time. |
Date, Time, Decimal, Integer. |
Less | This operator allows for verifying if the value of the first expression (E1) is less than the value of the second expression (E2). If the value of the expression is less than the value of the second expression, the condition will return the True value; otherwise, it will return the False value. In date or time verification, the date/time is considered to be earlier than the other date/time. |
Date, Time, Decimal, Integer. |
Greater or equal | This operator allows for verifying if the value of the first expression (E1) is greater than or equal to the value of the second expression (E2). If the value of the first expression is greater than or equal to the value of the second expression, the condition will return the True value; otherwise, it will return the False value. In date or time verification, the date/time is considered to be later than or equal to the other date/time. |
Date, Time, Decimal, Integer. |
Less or equal | This operator allows for verifying if the value of the first expression (E1) is less than or equal to the value of the second expression (E2). If the value of the first expression is less than or equal to the value of the second expression, the condition will return the True value; otherwise, it will return the False value. In date or time verification, the date/time is considered to be earlier than or equal to the other date/time. |
Date, Time, Decimal, Integer. |
True | This operator allows for verifying if the value of the expression (E1) is true. In the case of a checkbox (or fixed Boolean value), this operator verifies if the field is checked or not. If the field is checked (true), the condition will return True, but if the field is unchecked (false), the condition will return False. |
Checkbox, Boolean |
False | This operator allows for verifying if the value of the expression (E1) is false. In the case of a checkbox (Boolean), this operator verifies if the field is checked or not. If the field is unchecked (false), the condition will return True, but if the field is checked (true), the condition will return False. |
Checkbox, Boolean |
Set property
This option allows for changing the property of a form element (making it visible, enabling it, or making it required).
- Element: select the field that will have its properties changed.
- Property: select the property.
- Value: set the value to be applied to the property.
In accordance with the set configurations, it will be possible to select an operation.
See further details on the configurations available for each property:
Property | Description | Fields |
Visible | This property allows for making the field visible or hidden. In the Value field, select the Yes option to make the field visible or select No to hide it. |
Date, Decimal, Time, Integer, Paragraph, Text, Option group, Simple list, File, Signature, Advanced list, Data source list, Checkbox, Cause analysis, Attachment, Button, Action plan, Table, Card, Image, Panel, Section, and Title. |
Enabled |
This property allows for enabling or disabling the completion of the field. In the Value field, select the Yes option to enable the field or select No to disable it. |
Date, Decimal, Time, Integer, Paragraph, Text, Option group, Simple list, File, Signature, Advanced list, Data source list, Checkbox, Cause analysis, Attachment, Button, Action plan, and Table. |
Required | This property allows for making the completion of the field mandatory or removing the completion requirement. In the Value field, select the Yes option to make the field mandatory or select No to remove this requirement. |
Date, Decimal, Time, Integer, Paragraph, Text, Option group, Simple list, File, Signature, Advanced list, and Data source list. |
Value |
This property allows for changing field values to preset values. The configuration of the Value field depends on the field type, as described below:
|
Date, Decimal, Time, Integer, Paragraph, Text, Option group, Simple list, and Checkbox. |
Dynamic value | This property allows for changing field values to values originated from a variable. The value of a variable, in its turn, may come from an expression, a data source, or be a fixed value. In the Value field, select the variable containing the value that will be applied to the field. All form variables will be listed; therefore, make sure to select a variable whose value is valid for the type of the field that will be edited. |
Date, Decimal, Time, Integer, Paragraph, and Text. |
Define variable
Use this action to edit the source of the value of a variable created in the form.
- Variable: select which of the variables will have its value changed.
- Value source: select the desired option, and then the option with the value to be applied to the variable.
Clear field
Allows for clearing the value of a certain form field. To do so, select the desired form field.
Display message
Use this action to display a message on the form screen.
- Message: describe the message that will be displayed.
- Type: define whether the message type will be information, success, warning, or critical.
Execute another rule
Use this action to execute another form rule.
- Rule: select the rule that will be executed.
Open external page
Use this action to execute the URL on a new window or in the background.
Perform operation in the table
Use this action to execute, in the specified table, an operation of the "Sum", "Maximum", "Minimum", "Counter", or "Concatenate" type.
When the concatenate operation is selected, only variables of the Text or Paragraph type can be selected.
Translate file
Use this action to translate a PDF file added to a form field.
- Table field: specify the field in which the PDF file to be translated will be inserted.
- Language: choose into which language the file will be translated.
- Target field: specify in which field the translated file will be saved.
Execute dataset
Use this action to assign the result of a dataset to a form table variable.
For example, in a dataset that returns a user's code and name, the code can be assigned to a variable, whereas the name is assigned to another variable.
For more information on using datasets, refer to the Fetching external data via dataset article.
Execute table data source
Use this action to automatically execute a dataset when loading a responsive form; the grid will be filled out with the necessary information, without manual interaction on the user's part.
Specify which Form field, of the Table type, will have its data source executed automatically.
For more information on using datasets, refer to the Fetching external data via dataset article.
Execute REST web service
Use this action to execute a REST web service in a form button or any object that has events for rule execution.
Thus, it is possible, for example, to fetch data from third-party systems through REST web services and fill in the form fields with the returned data.
The system also allows for sending data when invoking the service, but with a restriction when sending electronic files and multiple values to the same parameter.
Read barcode
This action allows for using a smartphone camera to fill in a form field by reading a barcode.
Due to security restrictions on mobile devices, this feature can be used only on the SoftExpert Suite native application.
Add comment
Use this action to insert a comment in the instance history using a value entered in the form itself.
- Value source: indicate whether the comment content will be taken from a form field, a fixed value, a variable, an expression, or a rule.
Change status
Use this action to edit the process instance status.
- Status: select the desired status and click on the Save and close button.
Change priority
Use this action to edit the instance priority. To do that, select a new evaluation method and a result for the method.
Execute task
Use this action to execute tasks using a button of the form that is related to the activity that loaded the form. These actions require the rule to be executed in the interface.
Stop the activity execution
This action allows for interrupting the execution of an activity after the corresponding action button is clicked. This provides users with a greater flexibility to perform the necessary validations and adjustments before moving on.
Conclusion
All done! Now you know how to create rules in a responsive form.