- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-16-2016 07:37 PM
Hello all, there is a requirement that restricts the users based on the company selected on the Incident form. I have created a script include to do this bit :
var getCurrentCompanyUsers = Class.create();
getCurrentCompanyUsers.prototype = {
initialize: function() {
var userslist = '';
var comp = current.company;
var usr = new GlideRecord('sys_user');
usr.addQuery('company',comp.sys_id);
usr.query();
while(usr.next()) {
if(userslist.length > 0) {
userslist += (',' +usr.sys_id);
}
else {
userslist = usr.sys_id;
}
}
return 'sys_idIN' +userslist;
},
type: 'getCurrentCompanyUsers'
};
Still, it is showing the list of all the users in the system and not in the selected company. Is there something I am missing in the code ?
(I can use the dependent functionality but using the advanced ref qualifier so that the filter could be modified at any time)
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-18-2016 05:53 PM
Unfortunately Reference Qualifiers don't show the query in the breadcrumb.
I posted some code up on how to do it via UI Macro and Field decorators a little while ago.
See my comment on the thread below:
Reference Lookup Initial Filter
I will try adapt it for you below:
Use a UI Macro
http://wiki.servicenow.com/index.php?title=UI_Macros#gsc.tab=0
Then, use the ref_contributions attribute to call it on the field.
Dictionary Attributes - ServiceNow Wiki
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<j:set var="jvar_n" value="my_company_users_${ref}"/>
<g:reference_decoration id="${jvar_n}" field="${ref}"
onclick="filterUserByCompany(); "
title="${gs.getMessage('My Companies Users')}" image="images/icons/tasks.gifx"/>
<script>
function filterUserByCompany() {
var thefield = 'caller_id'; //Identify the reference field this should be attached to.
var thetable = 'incident'; //This gets whatever table you are on.
var lookupfield = 'lookup.'+ thetable + '.' + thefield; //Creates the lookup or reference field ID.
var thetarget = thetable + '.' + thefield;
var url = "&amp;sysparm_query=company=" + g_form.getValue('company');
var refurl = reflistOpenUrl(thetarget, thetarget, thefield, 'sys_user', 'null', 'false', '');
var refurlquery = refurl + url;
popupOpenStandard(refurlquery, 'lookup');
}
</script>
</j:jelly>
ServiceNow Nerd
ServiceNow Developer MVP 2020-2022
ServiceNow Community MVP 2019-2022
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-16-2016 08:45 PM
Hi,
Your output would be:
sys_idIN,<sys_id1>,<sys_id2>
I suggest to define an initial userslist value and change the append of the string.
var userslist = 'dummyID123';
var refQualString = 'sys_idIN';
userslist = userslist + "," + usr.sys_id.toString();
refQualString = refQualString + userslist;
return refQualString;
the output would be:
"sys_idINdummy123,<sys_id1>,<sys_id2>"
for retrieving the sys_id, it is best to convert it to string so that it is not treated as a reference object.
kindly check if you can retrieve the script include properly at the refqual.
Hope this helps.
Thank you,
a.c.manlangit
serviceNow Developer - Philippines

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-16-2016 10:14 PM
Consider writing it as follows:
Script Include
var IncidentContext = Class.create();
IncidentContext.getCurrentCompanyUsers = function() {
var userslist = [];
var comp = current.company;
var usr = new GlideRecord('sys_user');
usr.addQuery('company',comp.sys_id);
usr.query();
while(usr.next()) {
userslist.push( usr.getValue('sys_id') );
}
return 'sys_idIN' + userslist.join(',');
}
Reference Qualifier
javascript:IncidentContext.getCurrentCompanyUsers();
ServiceNow Nerd
ServiceNow Developer MVP 2020-2022
ServiceNow Community MVP 2019-2022
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-16-2016 10:24 PM
Can you pls share the advanced reference qualifier that I can use on the 'called_id' field ?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-16-2016 10:36 PM
javascript:IncidentContext.getCurrentCompanyUsers();
ServiceNow Nerd
ServiceNow Developer MVP 2020-2022
ServiceNow Community MVP 2019-2022