- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 01:08 PM
I have an user reference field. I have two requirements
Users belonging to app.support group should only show up in the reference field or if the employment_type is "External)
How can I achieve this ?
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 06:46 PM
Sorry. Missed the reply on changing the variable type.
Script Include should be as follows using boolean variable 'u_boolean_1'
var GetUserSys = Class.create();
GetUserSys.prototype = {
initialize: function() {},
GetUserSys: function() {
var userList = [];
var grGrMember = new GlideRecord('sys_user_grmember');
grGrMember.addQuery('group.name', '<name of group>'); // example 'Software'
grGrMember.query();
while (grGrMember.next()) {
userList.push(grGrMember.user.toString());
}
var grUser = new GlideRecord('sys_user');
grUser.addQuery('u_boolean_1', true);
grUser.addActiveQuery();
grUser.query();
while (grUser.next()) {
userList.push(grUser.sys_id.toString());
}
var arrayUtil = new ArrayUtil();
userList = arrayUtil.unique(userList);
return 'sys_idIN' + userList.join(',');
},
type: 'GetUserSys'
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 04:03 PM
That didn't work either 😞 sorry
This is what I'm using in the reference qualifier
Javascript:GetUserSys();

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 04:44 PM
Need to call Script Include like below
javascript: new <Script Include name>().GetUserSys();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 05:16 PM
Did not work
javascript: new GetUserSys().GetUserSys();
NOTE: I have kept the function name and name of the script same.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 06:29 PM
Sorry, my bad.
Script Include. I've added routine to remove duplicate entries.
var GetUserSys = Class.create();
GetUserSys.prototype = {
initialize: function() {},
GetUserSys: function() {
var userList = [];
var grGrMember = new GlideRecord('sys_user_grmember');
grGrMember.addQuery('group.name', '<name of group>'); // example 'Software'
grGrMember.query();
while (grGrMember.next()) {
userList.push(grGrMember.user.toString());
}
var grUser = new GlideRecord('sys_user');
grUser.addQuery('u_type_of_employment', 'external user');
grUser.addActiveQuery();
grUser.query();
while (grUser.next()) {
userList.push(grUser.sys_id.toString());
}
var arrayUtil = new ArrayUtil();
userList = arrayUtil.unique(userList);
return 'sys_idIN' + userList.join(',');
},
type: 'GetUserSys'
};
Reference qualifier:
javascript:new GetUserSys().GetUserSys()

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 06:46 PM
Sorry. Missed the reply on changing the variable type.
Script Include should be as follows using boolean variable 'u_boolean_1'
var GetUserSys = Class.create();
GetUserSys.prototype = {
initialize: function() {},
GetUserSys: function() {
var userList = [];
var grGrMember = new GlideRecord('sys_user_grmember');
grGrMember.addQuery('group.name', '<name of group>'); // example 'Software'
grGrMember.query();
while (grGrMember.next()) {
userList.push(grGrMember.user.toString());
}
var grUser = new GlideRecord('sys_user');
grUser.addQuery('u_boolean_1', true);
grUser.addActiveQuery();
grUser.query();
while (grUser.next()) {
userList.push(grUser.sys_id.toString());
}
var arrayUtil = new ArrayUtil();
userList = arrayUtil.unique(userList);
return 'sys_idIN' + userList.join(',');
},
type: 'GetUserSys'
};