Symptoms
We are using the Blackpearl Leave Request Application Accelerator. We are seeing that the workflow for these requests will complete without error but the balance of hours for a user is never changed in the 'Leave Type Balance' SmartObject.
Diagnoses
Upon viewing the workflow for this app accelerator we see that on the last approval step there is an update smartobject step that does a subtraction of the days to deduct from the total balance of the requester. However, upon viewing the 'Leave Request Details' SmartObject we noticed that the 'Days to Deduct' property on this smartobject is never populated. All finished items in this smartobject have no value contained in the Days to deduct column. I could not find any rules on the form level that populate this value in the smartobject. There is a Days to Deduct view on the review form but this never shows to the user.
Resolution
The days to deduct is supposed to be populated on the review form and there is a missing rule to show this view in the "On K2 Action View, when Decision Drop-Down List is Changed" rule. We need to add an action under the else clause of this rule, specifically a 'show a view'. This days to deduct view will manually be populated by the HR Reviewer and this view will only show when the approve action is selected on the dropdown of the actions view.
This rule was not added because the amount of days would vary from customer to customer. It was instead added as a potential extension of the app accelerator for the user. They could build upon it, but it is never specified that this rule needs to be added in order to get the balance subtraction to be correct for the leave requests. Documentation is planned to be updated for the application accelerator so that it will specify that this feature is built in but must be implemented by adding in this particular rule. The OOB package will not contain this functionality.
Once we added this rule in and populated that control on the days to deduct view, the workflow would complete and the balance would be changed based on the amount deducted from the request.