Section | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
...
- Click the Manage Users link.
- In the Alphabet at the top click All to display a list of the users in the tenant. Follow steps 4 - 7 to create four users:
- For each user, click the icon to add a new user profile.
- In the form that's displayed, fill in the information for each user.
- Assign the frevvo. designer role for one user, the Reviewer role for the next user, the Supervisor role for the third user and the Accounting role for the last user.
- Select the user's Reviewer from the Reports To drop down for the designer user. Make sure you select the user id for your user with the Reviewer role.
- Be sure to enter a valid email address that you can access when you are testing the flow.
- Click "Submit" to add the user.
Step 1: Download/Upload the Approval Forms/Workflow Application
Download the partially created Expense Report flow to somewhere on your hard drive.
- Login to as a designer user in your tenant.
- Click the Upload button on the Application Home page. Browse to the location of the Approval Forms/Workflow application to somewhere on your hard drive. The Download link is not active at this time but it will be functional when v5.3.1 is released on May, 2014. Until then, we can provide you access to a demo server and the Approval Forms/Workflow application. Please contact us if you would like access.
- Login to as a designer user in your tenant.
Click the Upload button on the Application Home page. Browse to the location of the Approval Forms/Workflow application on your hard drive. Click Upload. - The Approval Forms/workflow application will be added to the Application home page.
- Click Upload.
- The Approval Forms/workflow application will be added to the Application home page.
Step 2: Create the Workflow
In this step, we will complete ccreate the Expense Report workflow.
Click the Edit button for the Approval Forms/Workflows application on the Application Home page.
Click the Flows tab and then click Edit for the Expense Report flow:
At this time, the Expense Report flow only contains the form named Expenses. The Expense report form was created using simple visual drag & drop and edited to achieve the desired layout. To view the form, click the icon on the flow designer toolbar.
There are sections in this form for the Reviewer, Supervisor and Accounting approvals. A business rule controls when these sections are shown/hidden as the flow progresses. For Example, when the employee is filling out the Expense Report, the Reviewer, Supervisor and Accounting sections are hidden.
Expand title Click here for more information on these rules.This section will expand/collapse by clicking on the arrow. Column The simple The simple business rule shown below controls when these sections are shown/hidden as the flow progresses.width 30% if (form.load) { ReviewerApproval.visible = false; SupervisorApproval.visible = false; AccountsPayableOnly.visible = false; var an = _data.getParameter ("flow.activity.name"); if (an === 'Reviewer') { ReviewerApproval.visible = true; } if (an === 'Supervisor') { ReviewerApproval.visible = true;Code Block Rules will be even easier to implement in a future release of .
Other Business Rules autofill the Report Date, employee information and the Reviewer name using the credentials of the user who is logged in. Another rule enables/disables the Miles Travelled field based on a selection from the Category dropdown. There is a rule to calculate the mileage and a separate rule to calculate the expense report grand total.
Other Business Rules autofill the Report Date, employee information and the Reviewer name using the credentials of the user who is logged in. Another rule enablesExpand title Click here for more information on these rules.This section will expand/collapse by clicking on the arrow. This rule populates the Report Date field with the current date when the form loads:
Code Block if (form.load) { ReportDate.value = DateUtil.today(); }
This rule autofills the First Name and Last Name controls using the credentials of the user who is logged in. The Reviewer for the user filling out the Expense Report comes from the "subject.reports.to" field on the Add/Edit users screen.
Code Block if (form.load && EmployeeName.value.length === 0) { EmployeeName.value = _data.getParameter('subject.first.name') + ' ' +
SupervisorApproval.visibleColumn width 70%
There is a rule to calculate the mileage and a separate rule to calculate the expense report grand total._data.getParameter('subject.last.name'); Reviewer.value = _data.getParameter("subject.reports.to"); }
This rule enable/disables the Miles Travelled field based on a selection from the Category dropdown.
Expand title Click here for more information on these rules.This section will expand/collapse by clicking on the arrow. This rule populates the Report Date field with the current date when the form loads:
if (form.loadCode Block The Miles Travelled control will only be enable for user input when "MIleage" is selected as the Category dropdown choice. Otherwise, the user cannot enter data into the Miles travelled control.
Code Block for (var i = 0; i < Category.value.length; i++) { if (Category[i].value == "Mileage") { ReportDate.value MilesTraveled[i].enabled = DateUtil.today(); }
This rule autofills the First Name and Last Name controls using the credentials of the user who is logged in. The Reviewer for the user filling out the Expense Report comes from the "subject.reports.to" field on the Add/Edit users screen.
Code Block if (form.load && EmployeeName.value.length === 0) { EmployeeName.value = _data.getParameter('subject.first.name') + ' ' + _data.getParameter('subject.last.name'); Reviewer.value = _data.getParameter("subject.reports.to"); }
This rule enable/disables the Miles Travelled field based on a selection from the Category dropdown. The Miles Travelled control will only be enable for user input when "MIleage" is selected as the Category dropdown choice. Otherwise, the user cannot enter data into the Miles travelled control.
Code Block true; } else { MilesTraveled[i].enabled = false; } }
This rule calculates the mileage for each row in the Expenses Table:
Code Block for (var i = 0; i < MilesTraveled.value.length; i++) { if (MilesTraveled[i].value > 0) { Amount[i].value = MilesTraveled[i].value * IRSMileageRate.value; } }
There rule adds the amount for each row in the table to calculate the Expense Report Grand Total.
Code Block var tot = 0; for (var i = 0; i < CategoryAmount.value.length; i++) { if (Category[i].value == "Mileage") { MilesTraveledtot = tot + Amount[i].enabled = truevalue; } else { MilesTraveled[i].enabled GrandTotal.value = falsetot; if } }
This rule calculates the mileage for each row in the Expenses Table:
Code Block for (var i = 0; i < MilesTraveled.value.length; i++) { if (MilesTraveled[i].value > 0) { Amount[i].value = MilesTraveled[i].value * IRSMileageRate.value; } }
There rule adds the amount for each row in the table to calculate the Expense Report Grand Total.
Code Block var tot = 0; for (var i = 0; i < Amount.value.length; i++) { tot = tot + Amount[i].value; } GrandTotal.value = tot; if (ExpenseRepeat.itemRemoved) {var x;}
Using the Linked Forms Feature of the flow designer, we can add a linked version of the parent form, Expenses, for each of the remaining steps in the flow. Click the Link icon three times to create three linked forms.
Click on the second activity in the flow. Change the name to Reviewer, by typing it in the name field on the left Activity Property pane. Rename the third activity in the flow, Supervisor and the last activity Accounting.
Click the icon to save the flow.
Step 3: Assign Roles to the Workflow Steps
We will set up the navigation of the flow by assigning roles/users to the four steps:
...
This is an example of a template in . At runtime, will evaluate the value of the data item (Reviewer), which is automatically filled in via a business rule. will then send a notification to that specific manager only.
...
Assign the Supervisor role to the Supervisor activity.
...
Assign the Accounting role to the Accounting activity.
...
Click the icon to save the flow.
Step 4: Add a Precondition for the Supervisor Step
Preconditions are used to add logic to your flow to skip or perform a step when the condition is true. Add a precondition on the Supervisor step that will route the workflow to the Supervisor only if the Grand Total of the Expense Report is greater than $1000.00. If the amount of the workflow is less than $1000.00, the workflow will skip this step and route the task to the Accounting step.
To add the precondition:
...
Step 5: Customize Notifications
The designer can customize the messages the users see, the task information that appears in the Task List, the messages the users see at the completion of each step, etc. We will supply some exampes for you here but you can change these messages to say anything you want. Notice some control names are in between curly brackets. These are examples of templates - controls in your form that are evaluated at runtime and replaced with the actual value entered.
Follow the steps below to add some examples to the Expense Report flow
- Click the Edit icon to return to the Expense Report flow.
...
Column |
---|
...
- Type HM1: Expense Report from {EmployeeName} for ${GrandTotal} into the History Msg field on the Activity Property pane on the left. HM1 stands for History Message for the first step. The subsequent messages are numbered to distinguish them from each other when you test the flow. You will see this in the audit trail for the flow. The control name {EmployeeName} will be replaced by the with the user's name and the control name {GrandTotal} with the total amount of the Expense Report.
...
(ExpenseRepeat.itemRemoved) {var x;}
Using the Linked Forms Feature of the flow designer, we can add a linked version of the parent form, Expenses, for each of the remaining steps in the flow. Click the Link icon three times to create three linked forms.
Click on the second activity in the flow. Change the name to Reviewer, by typing it in the name field on the left Activity Property pane. Rename the third activity in the flow, Supervisor and the last activity Accounting.
Click the icon to save the flow.
Step 3: Assign Roles to the Workflow Steps
We will set up the navigation of the flow by assigning roles/users to the four steps:
- Click the Edit icon to return to the Expense Report flow.
- Select the Activity named Expenses. View the properties window on the left. A scrolling menu lists the available roles. Do not select a role for this step. This assignment makes the first step accessible to everyone in the tenant.
Select the Reviewer activity. This step will be perfomed by the employee's manager (Reviewer). We could assign the role, Manager, by selecting it from the Role dropdown list, however, this would put a notification in every manager's inbox as soon as any employee in the company filed an expense report. We want each employee's expenses to be approved/rejected by his/her manager and not by any manager. Instead of assigning a role, we will assign this step to a specific user. can dynamically determine which user the notification should go to. In the Expense Report Form, there is a text control named "Reviewer." The Reviewer is simply the username of the manager in question. We can use the information entered in that control to forward a notification to the right reviewer. In the Properties window, just below the Role menu, type {Reviewer} in curly brackets as shown:
This is an example of a template in . At runtime, will evaluate the value of the data item (Reviewer), which is automatically filled in via a business rule. will then send a notification to that specific manager only.
Assign the Supervisor role to the Supervisor activity.
Assign the Accounting role to the Accounting activity.
Click the icon to save the flow.
Step 4: Add a Precondition for the Supervisor Step
Preconditions are used to add logic to your flow to skip or perform a step when the condition is true. Add a precondition on the Supervisor step that will route the workflow to the Supervisor only if the Grand Total of the Expense Report is greater than $1000.00. If the amount of the workflow is less than $1000.00, the workflow will skip this step and route the task to the Accounting step.
To add the precondition:
- Click the Edit icon to return to the Expense Report flow.
- Click on the Supervisor step.
- Type GrandTotal.value > 1000 into the Precondition field on the left Activity Property pane. GrandTotal is the name of the Total Amount control in the Expenses form.
- Click the icon to save the flow.
Step 5: Customize Notifications
The designer can customize the messages the users see, the task information that appears in the Task List, the messages the users see at the completion of each step, etc. We will supply some exampes for you here but you can change these messages to say anything you want. Notice some control names are in between curly brackets. These are examples of templates - controls in your form that are evaluated at runtime and replaced with the actual value entered.
Follow the steps below to add some examples to the Expense Report flow
- Click the Edit icon to return to the Expense Report flow.
Section | ||||
---|---|---|---|---|
|
...
Share URL: Click the Share icon for the workflow on the Flows Home Page and select the third option: Link (Email/Web page). Copy this link and paste it into a different browser. will display the login screen. Continue with the Employee Submission section below:
Spaces: A space is a frevvo website that can be used to test the Expense Report flow. It is very easy to create and add your forms and workflows to it. Follow these steps to create the space:
- Ensure the visibility of your Expense Report flow is set to public and that it is deployed to production:
- Click on the Spaces Tab. Click the icon. Enter an id and name for your space. Click Create. Click Create.Click the
- Click the Share icon. Copy the share url for your space then logoff . Paste the space url into another browser or a new tab of the browser you are using. Login as your designer user.
- Your space will look similar to the image below.
Employee Submission
Login as an employee. will your designer user. If you are using a space for testing, select the Expense Report flow from the Approval Forms/Workflows tab. will display the first step in the workflow. This is just the Expense Report form except that the Manager Approval, Supervisor and Accounting sections are not visible. Notice the Employee Name, Reviewer user id and the current date are autofilled.
...
Enter data into the Expense Report so that the Grand Total is greater than $1000.00. After completing the Expense Report, click Continue to submit it to the reviewer. The Expense Report information cannot be edited by the reviewer. After by the reviewer. If you customized your pending messages, the designer user will see "PM2: Your request has been sent to jerry" (or whatever you changed it to) after pressing the Continue button the . If you chose not to customize, the employee will see the default display message "Your request is being processed". This message is easily customizable by the designer. Logout Logout.
Reviewer Approval
includes a built-in Task List for every user. To Login as jerry who has the role of Reviewer. To access your Task List, login and click on the Tasks menu item on the left . This will display any or if using a space, click the Important Items tab and then Task List. Tasks that are pending in your inboxinbox will display. You can perform a task, modify them (abort or route to a different person) and view the history (audit trail) of a particular workflow.
Login as jerry who has the role of Reviewer. Click on the Task List. He Jerry will see any pending Expense Report approvals submitted by any of the employees he manages . Click the Perform this Task icon for the task submitted by Tom Cat.
...
Enter comments and sign the section. Click Continue. LogoutIf you customized your pending messages as suggested above, the Reviewer will see "PM3: This request requires extra approval and has been sent to the Supervisor". Logout. Since the Grand Total of the Expense Report is greater than $1000.00, the workflow will be routed to the Supervisor for an added approval.
...
Login as a Supervisor. Click on the Task List or if using a space, click the Important Items tab and then Task List. Click the Perform this Task icon for the task submitted by Jerry Mouse. The Supervisor will see the Expense Report data, the Reviewer's approval and the Supervisor approval section.
Enter a comment and sign the section. Click Continue. Logoff. The Supervisor will see this message if you customized your pending messages as described above: "PM4: Your request has been sent to Accounting for payment." Logoff.
Accounting Final Processing
Login as a user with the Accounting role. Click on the Task List or if testing with a space, click the Important Items tab then Task List. Click the Perform this Task icon for the task submitted by the Supervisor. The accounting employee will see the Expense Report data, the Reviewer and Supervisor approvals and the accounting section for final processing.
Fill in and sign the Accounting section. Click Finish to complete the workflow. The Accounting user should see the message "Expense Report Processing for {emloyeename} is complete." Logoff.
Run the Expense Report workflow with a Grand Total that is less than $1000.00. Verify that the Supervisor step is skipped.
...