List Collector Ignores Reference Qualifier – Script Include Not Working?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
Hellow,
I'm currently trying to learn how to properly call a Script Include from a List Collector variable's Reference Qualifier.
However, it seems that the list still returns data regardless of whether the Reference Qualifier is calling the Script Include or not.
Could someone please review my code and let me know where I might have gone wrong? Thank you!
List Collector Variable:
Script Include: - It should only return a few inactive records if it is working correctly.
var SoftwareName = Class.create();
SoftwareName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getSoftwareNameRefQual: function() {
var gr = new GlideRecord('u_software_inventory');
gr.addQuery('active', false); // Only inactive records
gr.query();
var softwareNames = [];
while (gr.next()) {
var name = gr.getValue('u_software_name');
if (name)
softwareNames.push(name);
}
return softwareNames.join(',');
},
type: 'SoftwareName'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago - last edited 2 hours ago
Hi @Erica2
Try this:
function onLoad() {
var myListCollector = g_list.get("<name_of_list_colector>");
myListCollector.reset();
myListCollector.setQuery('active=false');
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi @Erica2 ,
1st of all please try to call script include like this :
javascript: new global.softwareName().getSoftwareNameRefQual();
2nd thing I made changes in your return statement please verify that
var SoftwareName = Class.create();
SoftwareName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getSoftwareNameRefQual: function() {
var gr = new GlideRecord('u_software_inventory');
gr.addQuery('active', false); // Only inactive records
gr.query();
var softwareNames = [];
while (gr.next()) {
var name = gr.getValue('u_software_name');
if (name)
softwareNames.push(name);
}
return "nameIN"+softwareNames.join(',');
},
type: 'SoftwareName'
});
Please mark my answer correct and helpful if this works for you
Thanks,
Sarthak
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
javascript; new global.softwareName().getSoftwareNameRefQual();
Also make sure your script include is not client callable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
48m ago
Hi @Sarthak Kashyap ,
I followed your suggestion and made all the necessary changes.
However, it's still returning all records. For testing purposes, it should only be returning a few inactive records if it's working correctly.
javascript; new global.softwareName().getSoftwareNameRefQual();