Using g_scratchpad in display Business Rule

Brett14
Giga Expert

All,

I created a display business rule to capture the logged in users role and hide Manager form section tab.  Then created an onLoad Client Script to trigger the g_scratchpad variable and if true display the form section tabs else hide.  This is all being done on the task table so that it can be used on Incident, Problem, Change. It all seems to work, but i guess not if the tabs don't display when testing with Service Manager role

 

Display BR

g_scratchpad.user = gs.getUser().hasRole('cde965c0dba96b00145b3a8c7c96199d'); //sys_id of the Role and I have tried it with g_scratchpad.user = gs.getUser().hasRole('Service Manager');

 

onLoad Client script:

if(g_form.getTableName() == 'incident' || g_form.getTableName() == 'change_request' || g_form.getTableName() == 'problem') {
if (g_scratchpad.user == 'true'){
//execute code
//var sections = g_form.getSectionNames();
g_form.setSectionDisplay('problem_manager',true);
g_form.setSectionDisplay('incident_manager',true);
g_form.setSectionDisplay('change_manager',true);
}
else{
g_form.setSectionDisplay('problem_manager',false);
g_form.setSectionDisplay('incident_manager',false);
g_form.setSectionDisplay('change_manager',false);
}
}

1 ACCEPTED SOLUTION

Actually, you should be able to use:

if (g_user.hasRole('Service_Manager')) {
  //your code here
}

...directly in your Client Script.

View solution in original post

18 REPLIES 18

find_real_file.png

Can you include the information from the "When to run" tab as well? And that is the exact spelling of the Role, correct?

Just making sure  🙂

Actually, you should be able to use:

if (g_user.hasRole('Service_Manager')) {
  //your code here
}

...directly in your Client Script.

ok, so does this mean that by using the g_scratchpad in the display BR doesn't work?  Or is this a bug in ServiceNow?

find_real_file.png