Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Can't get checkbox value to be recognized in script include

Neil Wallace
Tera Contributor

Really stuck on an issue and could value some help.

I want the reference qualifier query for the company field to depend on whether pharmacy is checked below: 

Have created a reference qualifier as follows:

find_real_file.png

Passing current into the script include. While it recognizes values already saved to database eg. current state. It doesnt recognize values not saved eg. checkbox u_pharmacy.

Completely stumped. And any help much appreciated.

var GetGPsPharmacySelfRegistration = Class.create();
GetGPsPharmacySelfRegistration.prototype = Object.extendsObject(AbstractAjaxProcessor, {

GetGPsPharmacySelfRegistration: function(ph) {
var gr = new GlideRecord('core_company');
gr.addQuery('active', 'true');
gr.addQuery('customer', 'true');
gs.log('outside');
gs.log('current state' +ph.state);
gs.log('current u_pharmacy' +ph.u_pharmacy);
gs.log('current name' +ph.first_name);
gs.log('check' + current.getDisplayValue('u_pharmacy'));
if (ph.u_pharmacy){
gs.log('inside');
gr.addQuery('u_pharmacy', 'true');

}
gr.query();

var companies='';
while (gr.next()) {
companies += ',' + gr.sys_id;
}

return 'sys_idIN' + companies;
},

 

 

 

 

find_real_file.png

24 REPLIES 24

find_real_file.png

Thanks Ankur, have tried your suggestions same thing in the log. Doesnt recognize checkbox as ticked, though does understand it is there.

changed to--->

 

javascript:new global.GetGPsPharmacySelfRegistration().GetGPsPharmacySelfRegistration1(current.u_pharmacy)

 

var GetGPsPharmacySelfRegistration = Class.create();
GetGPsPharmacySelfRegistration.prototype = Object.extendsObject(AbstractAjaxProcessor, {

GetGPsPharmacySelfRegistration1: function(ph) {
var gr = new GlideRecord('core_company');
gr.addQuery('active', 'true');
gr.addQuery('customer', 'true');
gs.log('outside');
gs.log('check' + ph.toString());
if (ph.toString() == 'true'){
gs.log('inside');
gr.addQuery('u_pharmacy', 'true');

}
gr.query();

var companies='';
while (gr.next()) {
companies += ',' + gr.sys_id;
}

return 'sys_idIN' + companies;
},

type: 'GetGPsPharmacySelfRegistration'
});

 

then do the validation on change of checkbox and inform user about the invalid company selected on form

If my response helped please mark it correct and helpful to close the thread.

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Hi Anwar thanks- there are no invalid companies selected on the form.

The issue is that the script include does not recognize if the checkbox has been ticked or not. It always defaults it to false.

That's the issue.

But thanks again for your suggestions.

The script include always believes it to be false I should say.

Hi,

Did you add in log what came for the value of checkbox?

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader