Reload form after abort action
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-27-2017 06:00 PM
Team - I have been reading the forums and trying to get a business rule to reload a form.
What I am attempting to do is;
- take the code from "Prevent Closure if Child Task is Active"
- if a user goes to close the problem and a problen task is still open they see the 2nd screen shot below
- As you can see the 2nd screen shot actually appears as if the ticket has closed
- What I am looking to achieve is a combination of the second screen shot (shows the error) combined with the ticket showing that it is still open.
My code in the before business rule is:
var gr = new GlideRecord('problem_task');
gr.addQuery('active','true');
gr.addQuery('problem',current.sys_id);
gr.query();
if (gr.next()) {
gs.addInfoMessage('Problem cannot be closed while problem tasks are still active.');
current.setAbortAction(true);
}
I assume it will be a couple of lines of code to redirect/reload the form but have been unsuccessdul so far - any thoughts?
So that the initial screen shot of the problem ticket is:
If the business rule kicks in
And if I reload the ticket through the UI action
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-28-2017 08:14 PM
Hi - it is a before update business rule
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-28-2017 08:22 PM
Hi Andrew,
I thoght it worked for you.
Below piece of code is working perfectly for me. It is a before update business rule which disallows user to alert priority to 1 from 2.
Could you please send some screeshots ?
(function executeRule(current, previous /*null when async*/) {
// Add your code here
gs.addInfoMessage("Cant alter the priority from 1");
current.setAbortAction(true);
gs.setRedirect(current);
})(current, previous);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-31-2017 01:58 PM
Hello Andrew
Did you had a chance to figure out this issue.?
If yes could you please let me know aswell.
-Thanks
Please mark my response as correct and helpful if it helped solved your question.
-Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-31-2017 05:58 PM
Hi Prateek - unfortunately I was required to focus on some other items so have not been able to get back to this yet.
So to answer your question - No I have not been able to get it working yet
cheers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-31-2017 07:47 PM
This is my understanding of the requirements:
When business rule is triggered
- Redirect the user to the record
- Set state to previous value
So...
(function executeRule(current, previous /*null when async*/) {
gs.addInfoMessage("Can't alter the priority from 1");
current.setAbortAction(true);
current.state = previous.state;
gs.setRedirect(current);
})(current, previous);
ServiceNow Nerd
ServiceNow Developer MVP 2020-2022
ServiceNow Community MVP 2019-2022
