- 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-15-2022 04:45 AM
That worked! Thank you very very much!!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2022 03:11 PM
Try the following Script Include.
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.query();
while (grUser.next()) {
userList.push(grUser.user.toString());
}
return 'sys_idIN' + userList.join(',');
},

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2022 03:13 PM
BTW, it's probably better to add .addActiveQuery() to get only active records.
getUserSys: function() {
var userList = [];
var grGrMember = new GlideRecord('sys_user_grmember');
grGrMember.addActiveQuery();
grGrMember.addQuery('group.name', '<name of group>');
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.user.toString());
}
return 'sys_idIN' + userList.join(',');
},