Return to Requestor UI action on approvals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-09-2022 02:49 AM
Hi all, Please help.
I have created a custom ui action on the approvals "return to requestor" same logic as reject only when clicked it should make a checkbox "u_return_to_requestor" on the approval record true. I have included logic in my RITM workflow to check if true create task to requested by to provide more info and resubmit. - This works as expected.
Issue: u_return_to_requestor checkbox becomes true when I enter the comments first and then click return to requestor ui action but not if I click the return to requestor ui action first if appears on the form as true but return false in my logic. So I have to be missing an update in my logic somewhere but when I include a 2nd current.u_return_to_requestor = 'true'; current.update(); (see screenshots below) when I enter the comments first and then click return to requestor ui action in my logic u_return_to_requestor returns false.
I have tried below:
and also this:
Logs:
MK Return to Requestor == trueMK record sys_id: a9faaa461b3d99102338542f0a4bcb97
MK Return to Requestor == falseMK record sys_id: bdfaae461b3d99102338542f0a4bcb72
Code:
current.u_return_to_requestor = 'true';
current.state = 'rejected';
if (!gs.nil(current.comments))
current.update();
else {
gs.addErrorMessage(gs.getMessage("Comments are required when Returning to Requestor for further information. Note: Selecting this option will send a new task to the requesting user for further information."));
current.state = 'requested';
current.setAbortAction(true);
action.setRedirectURL(current);
}
Workflow:
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-09-2022 02:59 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-09-2022 03:20 AM
If I update my logic to above, the same happens only works when I Click return to request first, then Comment but can't get both to work.
Logic:
(function() {
current.u_return_to_requestor = 'true';
current.state = 'rejected';
var comments = false;
if (current.comments.getJournalEntry(1) != undefined) {
var lastComment = current.comments.getJournalEntry(1);
var index = (current.comments.getJournalEntry(1) + '').indexOf(gs.getUserDisplayName());
if (index > -1 && index <= 22)
comments = true;
}
if (!JSUtil.nil(current.comments) || comments) {
current.update();
new ApprovalUserFeedback().rejected(current);
} else {
gs.addErrorMessage(gs.getMessage("Comments are required when Returning to Requestor for further information. Note: Selecting this option will send a new task to the requesting user for further information."));
current.state = 'requested';
current.setAbortAction(true);
}
})();
Results:
Comment first, then click return to request
Log: MK Return to Requestor == falseMK record sys_id: f8f57286db399910199dd9fcd3961904
Click return to request first, then Comment
Log: MK Return to Requestor == trueMK record sys_id: a5e7724adb399910199dd9fcd3961981
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-21-2023 08:19 AM
@suvro or @Michelle Kelly I am attempting to utilize the same process. The issue I am running into is once the approval is "returned to requestor" the ritm does no update the approval status to rejected (actually it goes from requested to not yet requested). If I manually change the approval on the ritm to rejected everything works as expected. Also if I simply reject or approve everything works as expected.
Have you seen this or have an idea what might be causing it? I wouldn't think its a business rule or anything as technically its just rejecting the approval.