This article describes how to change stages by using submission rules.
For example consider following scenario: there is Request for Time Off form. First part of the form is filled in by requester, second part is filled by manager. Each of them should be able to modify their own part.
Following form is created in the designer
All before Request Approval is filled in by requester; after - by manager.
This way, form is divided on two business stages - Applicant and Reviewer.
These business stages were added in Options tab → Generic Form Options → Stages (Business Process and Stages)
NOTE: Stages starts in order from top to bottom.
In order to configure fields availability depending on stages, navigate to Design tab, choose a field Properties → Enabled: Per stage → Applicant (since this field belongs to first part)
Set all fields that belongs to applicant's part to be enabled only when stage is Applicant.
All fields after Request Approval should be set to be available when stage is Reviewer.
After all fields are configured, result can be checked at Options tab → Generic Form Options → Stages
Next step is to set up stage changing logic. By default, each new form will start from Applicant stage and after first submit, stage should be changed to Reviewer stage.
Step 1. In order to add previously described logic, navigate to Options → Rules → Server Rules → On Submit. By default there is located following logic
This logic checks if all forms validation conditions are passed and then triggers submission.
Step 2. Add new If ... Then block before Execute system save to SharePoint action. Click red line before the action and choose If...Then
Step 2.1 Condition block appears
Step 3. Click on the red line in If part and choose Function result... in order to set conditions to check
Step 3.1 Add function Value equals other value. This function allows comparing values from fields, variables, other function results, etc.
Step 3.2 As result, function allows to choose two parameters that will be compared
Step 4. Below are described steps, that implements logic, which gets current stage name and compares it with first stage name (Applicant). If current stage is Applicant then upon submitting the form, stage change action is triggered, and form is submitted with second stage. This way, next user who opens the form, sees Reviewer stage.
Click on the first field and choose Function...
Step 4.1 Choose Form stage function
This setup determines that current stage value is read and compared with some other value.
Step 4.2 Choose the value to compare with. Click on the second field in the condition and choose Manual value...
Step 4.3 Add value to compare with. For current logic, we need to check if current stage equal first stage (Applicant)
Step 5. Next step must change stage to Reviewer if condition is true. Click on a red line in the Then... part and choose Action
Step 5.1 Choose Set form stage action
Step 5.2 In result user can specify stage in the dropdown
Step 5.3 Click on the dropdown and choose Manual choice value...
Step 5.4 Choose the second stage - Reviewer stage.
Step 5.5 Result
Step 6. Summary. Step 2 describes how to add condition block; step 3 describes how to set condition in If... section. Step 4 describes how to set up condition that check what is current stage of the form, if current stage is Applicant then condition is true and action in Then... part should be triggered. Step 5 describes action in Then... section. This action changes current stage from Applicant to Reviewer if condition is true.
After the condition block, submit to SharePoint action is triggered.
Step 7. Publish the template.
Step 8. Runtime.
Step 8.1 When form is opened first time, it has Applicant stage (marked with blue background)
Step 8.2 Submit the form and re-open it. Form is set to second stage - Reviewer