How to show only users from respective group in reference field (sys_user) table

Santhosh23
Tera Expert

Can anyone please explain me how to filter the users from only one group in reference fields reference to sys_user table.

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

you need to use advanced reference qualifier on that user reference field

javascript: 'sys_idIN' + new GetGroupMembers().getUsers();

Script include

var GetGroupMembers = Class.create();
GetGroupMembers.prototype = {
	initialize: function() {
	},

	getUsers: function(){

		var arr = [];
		var gr = new GlideRecord("sys_user_grmember");
		gr.addQuery("group.name", "ABC Group");
		gr.query();
		while(gr.next()) {
			arr.push(gr.getValue('user'));
		}
		return arr.toString();

	},

	type: 'GetGroupMembers'
};

Regards
Ankur

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

View solution in original post

9 REPLIES 9

Anil Lande
Kilo Patron

Hi Santhosh,

You have to use advanced reference qualifier on your reference field.

In that you have to give call to script include function and return the filter with your condition.

You can take a help of this : https://www.youtube.com/watch?v=mvoGOgZttGQ

 

Thanks,

Anil Lande

 

 

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

Nikita Tajane
Kilo Expert

hello,

You can try following script include and advanced refrence qualifier

advanced refrence qualifier-javascript:new GetGroupMember(). getMember(current.group_id)

Script Include:

 

var GetGroupMember= Class.create();

 

GetGroupMember.prototype = {

 

 

 

getMember : function(x)

 

{

 

  

 

      var user_array = [];

 

      var getMembers = new GlideRecord('sys_user_grmember');

 

      getMembers.addQuery('group',x);

 

      getMembers.query();

 

      while(getMembers.next())

 

              {

 

                user_array.push(gr.user);

 

      }

 

      return 'sys_idIN' + user_array.toString();

 

}

 

};

 

mark as correct and helpful.

Regards,

Nikita Tajane

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

you need to use advanced reference qualifier on that user reference field

javascript: 'sys_idIN' + new GetGroupMembers().getUsers();

Script include

var GetGroupMembers = Class.create();
GetGroupMembers.prototype = {
	initialize: function() {
	},

	getUsers: function(){

		var arr = [];
		var gr = new GlideRecord("sys_user_grmember");
		gr.addQuery("group.name", "ABC Group");
		gr.query();
		while(gr.next()) {
			arr.push(gr.getValue('user'));
		}
		return arr.toString();

	},

	type: 'GetGroupMembers'
};

Regards
Ankur

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

Thanks It worked