Display Business Rule is not working

User205031
Tera Contributor

Hello All,

 

We have a requirement in HAM task. There is a choice field 'A' in 'sys_user' table. So if the requested for's 'A' field is 'Yes' then in the HAM task there is a choice field which will show an extra choice option.

 

I have created a Display Business rule and client script to show the extra choice option, but it is not working. It is always showing the scratchpad variable as false even if 'A' field for Requested for  is 'Yes'

 

Display business rule:

Running on HAM task table:

function executeRule(current, previous /*null when async*/) {
 
// Add your code here
 
var flag = 'false';
 
var a = new GlideRecord('sn_hamp_asset_reclaim_task');
a.addQuery('asset_reclaim_line', current.asset_reclaim_line);
a.addQuery('task_name=e');
a.query();
if(a.next()){
if(a.requested_for.A == 'Yes'){
flag = 'true';
 
}
}
 
g_scratchpad.isValue = flag;
 
})(current, previous);
 
Client Script:
Running on HAM Task table
function onLoad() {
//Type appropriate comment here, and begin script below

var taskName = g_form.getValue('task_name');
var b = g_scratchpad.isValue;
alert(b);

if(taskName == 'e' && b == 'true'){
g_form.addOption('evaluation_status', 'r', 'R', 4);
}
else {
g_form.removeOption('evaluation_status', 'r', 'R', 4);
}

}
10 REPLIES 10

Harish Bainsla
Tera Sage
Tera Sage

Display Br

function executeRule(current, previous /*null when async*/) {
var flag = 'false';
var a = new GlideRecord('sn_hamp_asset_reclaim_task');
a.addQuery('asset_reclaim_line', current.asset_reclaim_line);
a.addQuery('task_name=e');
a.query();
if (a.next()) {
if (a.requested_for.A == 'Yes') {
flag = 'true';
}
}
g_scratchpad.isValue = flag;
}


client script

function onLoad() {
var taskName = g_form.getValue('task_name');
var b = g_scratchpad.isValue;
alert(b);

if (taskName == 'evaluate' && b == 'true') {
g_form.addOption('evaluation_status', 'r', 'R', 4);
} else {
g_form.removeOption('evaluation_status', 'r', 'R', 4);
}
}

Hi Harish,

 

What changes have you made?

instead of passing add query twice i think you can pass addEncodedQuery

Hi Harish,

 

I have used addEncodedQuery but flag is returning false even if 'A' field has 'Yes' value