- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2022 09:52 AM
name & approver Variable are Reference field from sys_user.
how can I get All Department head name as approver for choice onChange client Script?
Here I teste GlideAjax but i get only one Approver but i can not get other Department Head.
var Print_Approver = Class.create();
Print_Approver.prototype = Object.extendsObject(AbstractAjaxProcessor, {
ApproverAjax: function() {
var grUser = new GlideRecord('sys_user');
var userSysID = this.getParameter('sysparm_Test1');
grUser.addQuery('sys_id', userSysID);
grUser.query();
while (grUser.next()) {
return grUser.department.dept_head.getValue('sys_id');
}
},
type: 'Print_Approver'
});
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ga = new GlideAjax('Print_approver');
ga.addParam('sysparm_name', 'ApproverAjax');
ga.addParam('sysparm_Test1', g_form.getValue('name'));
ga.getXML(TestCallBack);
function TestCallBack(response) {
var answer = response.responseXML.documentElement.getAttribute('answer');
g_form.setValue('approver',answer);
}
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2022 10:38 AM
hello
you want to return the head of the department for the selected name in the name field right ?
is that your requirement ?
if yes what you have done is correct .
but can you explain in detail about this below statement?
but i get only one Approver but i can not get other Department Head.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-08-2022 12:30 AM
Hi,
you want to filter Approver OR you want to set it?
If you want to filter -> then use advanced ref qualifier
javascript: 'sys_id=' + current.variables.name.department.dept_head;
If you want to set then update script as this
ApproverAjax: function() {
var grUser = new GlideRecord('sys_user');
var userSysID = this.getParameter('sysparm_Test1');
grUser.addQuery('sys_id', userSysID);
grUser.query();
if (grUser.next()) {
return grUser.department.dept_head.toString();
}
},
Client script
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ga = new GlideAjax('Print_approver');
ga.addParam('sysparm_name', 'ApproverAjax');
ga.addParam('sysparm_Test1', g_form.getValue('name'));
ga.getXMLAnswer(TestCallBack);
function TestCallBack(response) {
var answer = response;
g_form.setValue('approver',answer);
}
}
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader