Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column

The Visual Rules Builder enables non-technical designers to add dynamic behaviors to a form/flow. Here are several behaviors that you can create:

  • Show/Hide a Control(s) based on a specified condition
  • Show/Hide Steps in a flow based on the step that the flow is currently executing
  • Dynamically setting default values and control properties such as valid, printable, required and more.

Column
width240px

 On this page:

Table of Contents
maxLevel21

When Do Rules Execute

Business Rules are executed when under the following conditions:

  • When the form/flow loads

...

  • .
  • When a control's value that the rule depends on changes.
  • When you add a row to a Table control or click on the Image Addedicon to add a repeating item.

If you want your rule to run Only when the form loads - check the Initialization Only checkbox at the top of the wizard.  You may want Typically, you would check this if there is some business logic that you want to to execute before the form/flow displays and users begin interacting with it.

(need good example) - 

Image RemovedImage Added

When the rule displays in the Rule Builder tab, it will indicate that the rule has been flagged to run only when the form loads, if this checkbox is checked. This feature will be helpful for creating rules in future versions of the Visual Rule Builder.

Rule Builder Wizards

The Rule Builder walks you thru three easy steps to define your condition and actions.
Image Removed

Condition wizard

Describe the conditions under which a set of actions should be executed. You can specify more than one condition in the same rule but you do not need a condition.

...

 PartDescription
Field or current step (Optional)

What field or current workflow step do you want to evaluate?

 

OperatorWhat condition do you want to test to see if it is true?
Value (Optional)What value do you want to compare the Field or current step to?

 

...

Action wizard 

Declare the actions that should be taken when the condition is true.Image Removed

Else Action wizard

Declare the actions that should be taken when the condition is false. Else Actions are optional as not all rules require them. You cannot add FALSE actions if you do not have a condition specified in the rule.

 Image RemovedImage Added

Add A Rule

  1. Click the Run Builder button.
  2. Click the Add Condition button to create a new condition (optional).
  3. Select your Field or aelect select current step to describe an action that will execute based on the workflow step currently executing.
  4. Select your Operator.
  5. Select your Value (optional).  To enter a text value, slide the Image Modifiedtoggle switch icon to the right and a field displays to the right.

    Info

    If current step is selected as the condition for a workflow designed using Linked Steps, the value dropdown displays the names of the linked steps as choices. Workflows designed with individual forms as steps (not linked) will only show that step in the current step value dropdown.

    For example,

    • If you have one form (named form A) in a workflow, you will only see form A listed in the current step value dropdown,
    • If you add  2 linked steps (named form B and form C), the current step value dropdown lists all 3 steps: form A, form B and form C.
    • If you add form D (not linked) to the workflow, form D will not be listed in the current step value dropdown for form A
  6. Click Next to advance to the Action wizard.
  7. Specify the actions to be taken if the condition is true.
  8. Click Next to advance to the Else Action wizard
  9. Specify the actions to be taken if the condition is false.
  10. Click Finish.
  11. Save your form/flow.
  12. Click the Test icon to verify that your rule is working as expected.

...

The Rule Builder allows you to create a rule that has more than one condition. In this way, you You can write a rule that performs actions based on the values of more than one field. There is just one additional step to consider. When you use multiple conditions in a rule, you can edit the logic expression to specify

...

As you select conditions, a logic expression is built and displayed at the bottom of the screen. Notice the expression uses the AND operation by default. There may be business rules that require a change to the logic expression.

  • The (AND operation) means that All of the specified conditions must be true before the actions set up in the Action Wizard are executed.
  • Change the (AND operation(s)) to (OR operation(s)) if only one of the conditions needs to be true (OR operation) before the actions are executed.
  • You can group Group parts of the logic expression using parentheses if necessary.

...

  • .

Expand
titleConsider this example...

A Travel Request workflow contains a field where the user selects a destination country from a dropdown. Countries that call their subdivisions "states" are: United States, Mexico, Australia, Brazil, India, Germany and Myanmar.

...

The business requirement for this rule is: If any of these countries are selected, a Destination State field is enabled so the user can enter the Destination state. Otherwise, the Destination State field is disabled.

The Condition wizard for the business rule is shown in the image. Note that each condition is assigned a color coded number that is reflected in the logic expression.  The logic expression is built with the and operator by default. Since we want the rule to execute when any of the conditions are true, we must change all the and operations in the logic expression to the or operation.

Image Modified

Switching to the Rule Code Tab

...

Expand
titleClick here for Example 1

Example 1:

You are filing designing a weekly Time Sheet that has fields where the user must enter the From and To dates for the reporting period.

Rule Requirement: If the date entered in Period To is equal to or earlier than the date entered in Period From field show this error message "Must be after From Date"

The Condition and Action wizards for this rule are show in the image.

This is how the rule displays in the Rule Builder tab.

If the user enters 3/7/2017 or a date before 3/7/2017 in the Period To field the error message displays.

 

...

Expand
titleClick here for Example 2

Example

1

2:

You have are designing an Expense Report workflow that has 3 steps:a total of 3 steps. Steps 2 (Manager Approval step) and step 3 (Accounts Payable step) are Linked Steps.

  • Step 1 is filled in by the employee. When it is completed, the flow is routed to the employee's manager for Approval/Rejection
  • Step 2 is performed by the Manager. If the Manager approves, the workflow is routed to the Accounts Payable group for final processing.
  • Step 3 is performed by the first person in the Accounts Payable group to click the perform icon on their Task List for this workflow.

Rule Requirement: The section named Accounts Payable Only should only show if the workflow is on the Accounts Payable step. It should not be visible when the workflow is on the steps performed by the employee or the manager.

The Condition, Action and Else Action wizards for this rule are show shown in the image. The dropdown for the current step value displays the linked steps as choices.

This is how the rule displays in the Rule Builder tab.

If the user enters 3/7/2017 or a date before 3/7/2017 in the Period To field the error message displays.

Image RemovedThe image shows what the user sees when the workflow navigates to the Accounts Payable step.

Image Added

Expand
titleClick here for Example 3

Let's take a look at a simple example. Imagine a form with 3 fields named Name, Status and Money.

Rule Requirement: If the Name field contains "John" and the Status field contains "satisfied" then populate the Money field with 50000.00 else populate the Money field with 1000.00.

One way to write this rule in JavaScript is to use nested if statements:

Code Block
languagejs
if(Name.value=='John')
{
	if(Status.value=='satisfied')
	{
		Money.value=50000;
	}
}
else
{
Money.value=1000;
} 

If you are using the Visual Rule Builder to achieve the same result, you will have to add two rules:

  • Rule 1 - ) When the value of Name is equal to "John" and the value of Status is 'satisfied', populate the Money field with 50000.00
  • Rule 2 - ) When the value of Name is equal to "John" and the value of Status is not 'satisfied', populate the Money field with 1000.00

    Image Added