- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2022 12:50 AM
Hi can you help me on this scenario wherein my Change Request when the state is on Scheduled my Script Include and UI Action should validate and cant proceed if my task is on Open, Pending, Closed State. Then when my state is on Review and i want to close the ticket upon clicking on the Close Button there should be a validation to check if my task Review is still Open or Close. If Open there should be a ErrorMessage and cant proceed to close then if its Closed it will proceed.
here is my code in Script Include where it supposed to be my checker for a Review Task if open but i always got false answer even though its correct.
here is my UI Action were i get the value from my Script Include
here is what i got false answer wherein its supposed to be true because my task Review type state is Open
here is my another ticket wherein my Review Task State is closed which is correct way i supposed to be expecting.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2022 01:17 AM
Hi,
update as this
hasActiveReview: function() {
var ccrid = this.getParameter('sysparm_crid');
var cctask = new GlideRecord('change_task');
cctask.addActiveQuery();
cctask.addQuery('change_request', ccrid);
cctask.addQuery('change_task_type', 'review'); //check P.I.R. Task
cctask.query();
return cctask.hasNext();
},
UI Action
var hasActiveReviewAjax = new GlideAjax('ChangeRequestStateHandlerAjax');
hasActiveReviewAjax.addParam('sysparm_name', 'hasActiveReview');
hasActiveReviewAjax.addParam('sysparm_crid', g_form.getUniqueValue());
hasActiveReviewAjax.getXMLAnswer(function(answer){
if(answer.toString() == 'true'){
g_form.addErrorMessage('A Review task is still open');
}
else{
gsftSubmit(null, g_form.getFormElement(), "state_model_move_to_closed");
}
});
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2022 12:55 AM
Hi,
share both the scripts here.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2022 01:02 AM
Hi
Sript Include:
hasActiveReview: function() {
var ccrid = this.getParameter('sysparm_crid');
var cctask = new GlideRecord('change_task');
cctask.addActiveQuery();
cctask.addQuery('change_request', ccrid);
cctask.addQuery('change_task_type', 'review'); //check P.I.R. Task
cctask.query();
var result2 = {};
result2 = 'false';
gs.info('KACC' + JSON.stringify(cctask));
gs.info('KACC2' + cctask.next());
while (cctask.next()) {
gs.addErrorMessage('A Review task is still open');
result2 = 'true';
}
gs.info('KACC3 ' + JSON.stringify(result2));
return JSON.stringify(result2);
UI Action:
var hasActiveReviewAjax = new GlideAjax('ChangeRequestStateHandlerAjax');
hasActiveReviewAjax.addParam('sysparm_name', 'hasActiveReview');
hasActiveReviewAjax.addParam('sysparm_crid', g_form.getUniqueValue());
hasActiveReviewAjax.getXMLAnswer(function(answer2) {
var ansr = JSON.parse(answer2);
alert('ABBL '+JSON.stringify(ansr));
if (ansr == false) {
alert('ABBL2 '+ansr);
// gsftSubmit(null, g_form.getFormElement(), "state_model_move_to_closed");
}
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2022 01:17 AM
Hi,
update as this
hasActiveReview: function() {
var ccrid = this.getParameter('sysparm_crid');
var cctask = new GlideRecord('change_task');
cctask.addActiveQuery();
cctask.addQuery('change_request', ccrid);
cctask.addQuery('change_task_type', 'review'); //check P.I.R. Task
cctask.query();
return cctask.hasNext();
},
UI Action
var hasActiveReviewAjax = new GlideAjax('ChangeRequestStateHandlerAjax');
hasActiveReviewAjax.addParam('sysparm_name', 'hasActiveReview');
hasActiveReviewAjax.addParam('sysparm_crid', g_form.getUniqueValue());
hasActiveReviewAjax.getXMLAnswer(function(answer){
if(answer.toString() == 'true'){
g_form.addErrorMessage('A Review task is still open');
}
else{
gsftSubmit(null, g_form.getFormElement(), "state_model_move_to_closed");
}
});
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2022 01:12 AM
Hi
Sript Include:
hasActiveReview: function() {
var ccrid = this.getParameter('sysparm_crid');
var cctask = new GlideRecord('change_task');
cctask.addActiveQuery();
cctask.addQuery('change_request', ccrid);
cctask.addQuery('change_task_type', 'review'); //check P.I.R. Task
cctask.query();
var result2 = {};
result2 = 'false';
gs.info('KACC' + JSON.stringify(cctask));
gs.info('KACC2' + cctask.next());
while (cctask.next()) {
gs.addErrorMessage('A Review task is still open');
result2 = 'true';
}
gs.info('KACC3 ' + JSON.stringify(result2));
return JSON.stringify(result2);
UI Action:
var hasActiveReviewAjax = new GlideAjax('ChangeRequestStateHandlerAjax');
hasActiveReviewAjax.addParam('sysparm_name', 'hasActiveReview');
hasActiveReviewAjax.addParam('sysparm_crid', g_form.getUniqueValue());
hasActiveReviewAjax.getXMLAnswer(function(answer2) {
var ansr = JSON.parse(answer2);
alert('ABBL '+JSON.stringify(ansr));
if (ansr == false) {
alert('ABBL2 '+ansr);
// gsftSubmit(null, g_form.getFormElement(), "state_model_move_to_closed");
}
});