- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-12-2022 10:34 PM
Hi Team,
I have created script included and add advanced reference qualifier to display users in list collector filed and which is working fine. But now the requirement as below
Group - A -> Group - C
Group - B -> Group - D
Groups - E & D
List collector field - People Relations
1. If Group - A exists in form I need to display Group - C users in People Relations filed
2. If Group - B exists in form I need to display Group - D users in People Relations filed
3. If Group-A & B doesn't exists in the form need to display members related Groups - E & D
Script Include:
assignmentGrpUsers: function(caseGroup) {
var arryVal = [];
var grMember = new GlideRecord('sys_user_grmember');
grMember.addEncodedQuery('group=' + caseGroup);
grMember.query();
while (grMember.next()) {
arryVal.push(grMember.getValue("user"));
}
return "sys_idIN" + arryVal.join();
},
Reference Qual:
javascript:new usersDisplayOnAssignment().assignmentGrpUsers(current.assignment_group);
Please suggest how can I modify the code accordingly.
Thanks!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-13-2022 08:12 PM
are you talking about catalog form or normal form because you said list collector?
I assume it's normal form and list type of field
update as this and it will work fine
Ensure you give correct sysIds of the groups
assignmentGrpUsers: function(caseGroup) {
var arryVal = [];
if(caseGroup.indexOf('Group A sysId') > -1){
// bring only Group C
var grMember = new GlideRecord('sys_user_grmember');
grMember.addEncodedQuery('group=' + 'groupCSysId');
grMember.query();
while (grMember.next()) {
arryVal.push(grMember.getValue("user"));
}
return "sys_idIN" + arryVal.join();
}
if(caseGroup.indexOf('Group B sysId') > -1){
// bring only Group D
var grMember = new GlideRecord('sys_user_grmember');
grMember.addEncodedQuery('group=' + 'groupDSysId');
grMember.query();
while (grMember.next()) {
arryVal.push(grMember.getValue("user"));
}
return "sys_idIN" + arryVal.join();
}
if(caseGroup.indexOf('Group A sysId') == -1 && caseGroup.indexOf('Group B sysId') == -1){
// bring only Group E and D
var grMember = new GlideRecord('sys_user_grmember');
grMember.addEncodedQuery('groupIN' + 'groupESysId,groupDSysId');
grMember.query();
while (grMember.next()) {
arryVal.push(grMember.getValue("user"));
}
return "sys_idIN" + arryVal.join();
}
},
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-13-2022 11:17 PM
Thanks for this Ankur, I got that in similar way.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-14-2022 08:09 PM
Glad to know that my script worked and helped.
Please mark my response as correct and close the thread.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader