- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 09-21-2020 02:29 AM
Hi,
In this article, I will show you how we can automatically select the values in the list collector variable.
Requirement: When you select a group, under user list collector, select all the group members dynamically.
Create 2 reference fields in your catalog item
- Group : Reference field (reference to sys_user_group)
- Members: List collector field (reference to sys_user_grmember)
OnChange Client Script on Group field
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
//pass the group to SI and get members of that group
var ga = new GlideAjax("getSelectedGroupMembers");
ga.addParam("sysparm_name","getMembers");
ga.addParam("sysparm_group",newValue); //pass the group sys_id to SI
ga.getXML(parseResponse);
}
function parseResponse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if(answer !=0) {
answer=answer.split(",");
g_form.clearValue("members");
g_form.setValue("members",answer);
} else {
g_form.clearValue("members");
}
}
Script Include
Name: getSelectedGroupMembers
Active: True
Client Callable: True
var getSelectedGroupMembers = Class.create();
getSelectedGroupMembers.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getMembers:function() {
var group = this.getParameter("sysparm_group").toString();
var gr = new GlideRecord("sys_user_grmember");
gr.addQuery("group",group); //query the group members based on selected group
gr.query();
var members=[];
while(gr.next()) {
members.push(gr.getValue("user"));
}
if(members.length>0)
return members.toString();
else
return 0;
},
type: 'getSelectedGroupMembers'
});
Output (Service Portal)
Output (Backend)
Let me know if you have any questions in the comments below.
Mark the article as helpful and bookmark if you found it useful.
Regards,
Asif
2020 ServiceNow Community MVP
- 6,420 Views
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I am able to fetch the values from the server using script include but I want those values to be populated as choice values in the list collector.
Can someone help on this?
Thanks in advance.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
pls find below