HIde 'Closed Cancelled' state on catalog task when catalog item has the Cancellable checkbox checked

othomas1
Kilo Guru

Hello everyone,

I thought this one was pretty straightforward so i made a client script, but when a catalog item has the Cancellable checkbox checked, i need the associated catalog tasks to not show the closed cancelled state as a choice in the dropdown, the script below is not working:

 

function onLoad() {
if(g_scratchpad.u_cancellable == 'false') {
g_form.removeOption('state', '4');
}

}

Can someone spot what my script is missing?

1 ACCEPTED SOLUTION

I was thinking, since the Business Rule and Client Script itself are oke, and the addInfoMessage is simply not displayed, and you don't experience this in general with other Client Scripts:

Do you have other Client Scripts on the same form? Might these be interfering? Have you tried disabling these and retesting to see if the new Business Rule and Client Script are working? If so, then you know there's an issue or conflict with the existing Client Scripts on your form.

If my answer helped you in any way, please then mark it as helpful.

Kind regards,
Mark

---

LinkedIn
Community article list

 

Kind regards,

 

Mark Roethof

Independent ServiceNow Consultant

10x ServiceNow MVP

---

 

~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

LinkedIn

View solution in original post

63 REPLIES 63

I've tested successfully with u_cancellable on the Catalog Item record [sc_cat_item].

If my answer helped you in any way, please then mark it as helpful.

Kind regards,
Mark

---

LinkedIn
Community article list

 

Kind regards,

 

Mark Roethof

Independent ServiceNow Consultant

10x ServiceNow MVP

---

 

~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

LinkedIn

Hi mark, my setup below did not work for me:

 

Business rule

find_real_file.png

 

Advanced:

(function executeRule(current, previous /*null when async*/) {

g_scratchpad.cancellable = current.request_item.cat_item.u_cancellable;

})(current, previous);

 

Client script:

function onLoad() {

g_form.addInfoMessage('running');
if(g_scratchpad.cancellable && g_scratchpad.cancellable == 'false') {

g_form.addInfoMessage('still running');
g_form.removeOption('state', '4');
}

}

 

Closed cancelled still shows on the list

find_real_file.png

Please select Display instead of default before on your business rule. Also see my first image.

If my answer helped you in any way, please then mark it as helpful.

Kind regards,
Mark

---

LinkedIn
Community article list

 

Kind regards,

 

Mark Roethof

Independent ServiceNow Consultant

10x ServiceNow MVP

---

 

~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

LinkedIn

Hi mark,

I changed it to match and its still not working, im gonna see what else i may be doing wrong.

So did any of the messages trigger?
Also add some logging (gs.info for example), to your business rule, to see if this got triggered.

If my answer helped you in any way, please then mark it as helpful.

Kind regards,
Mark

---

LinkedIn
Community article list

 

Kind regards,

 

Mark Roethof

Independent ServiceNow Consultant

10x ServiceNow MVP

---

 

~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

LinkedIn