- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2019 07:40 AM
Hi All,
I need to get a value from another table based on the department value .
I have a list called abc contacts . It has 3 columns and all are reference fields .
1) Department 2) Telecom contact 3) Department head
below script
var answer=response.responseXML.documentElement.getAttribute("answer");
I am getting the value of answer is Product Management so I need to get Department Head value Carmel Overfelt (example).
How to get that ?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2019 08:08 AM
Hello,
Not sure if I understood this correctly.
You can't use GlideRecord query on client side.
You need to create Script include:
name: u_getDepartmentHead
Client callable [x]
Script:
// create class
var u_getDepartmentHead = Class.create();
u_getDepartmentHead.prototype = Object.extendsObject(AbstractAjaxProcessor, {
//function name
getContact: function() {
// search parameter for query
var department = this.getParameter('sysparm_department');
//query
var gr = new GlideRecord('u_abc_contacts');
gr.addQuery('u_department', department);
gr.query();
if (gr.next()) {
//return data
return gr.u_department_head;
}
}
});
Now you can create client script to get that data:
var department = g_form.getvalue('u_department');
var ga = new GlideAjax('u_getDepartmentHead'); //this is the script include
ga.addParam("sysparm_name", "getContact"); //this is the function within the script include
ga.addParam("sysparm_department", department);
ga.getXML(getResponse);
function getResponse(response) {
//set u_department_head sys_id to variable data
var data = response.responseXML.documentElement.getAttribute('answer');
g_form.setValue("man", data);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2019 08:08 AM
Hello,
Not sure if I understood this correctly.
You can't use GlideRecord query on client side.
You need to create Script include:
name: u_getDepartmentHead
Client callable [x]
Script:
// create class
var u_getDepartmentHead = Class.create();
u_getDepartmentHead.prototype = Object.extendsObject(AbstractAjaxProcessor, {
//function name
getContact: function() {
// search parameter for query
var department = this.getParameter('sysparm_department');
//query
var gr = new GlideRecord('u_abc_contacts');
gr.addQuery('u_department', department);
gr.query();
if (gr.next()) {
//return data
return gr.u_department_head;
}
}
});
Now you can create client script to get that data:
var department = g_form.getvalue('u_department');
var ga = new GlideAjax('u_getDepartmentHead'); //this is the script include
ga.addParam("sysparm_name", "getContact"); //this is the function within the script include
ga.addParam("sysparm_department", department);
ga.getXML(getResponse);
function getResponse(response) {
//set u_department_head sys_id to variable data
var data = response.responseXML.documentElement.getAttribute('answer');
g_form.setValue("man", data);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2019 11:34 AM
Hi Lunkki ,
I tiried the same but I am getting null value for data variable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2019 12:42 PM
After I changed the department field type to String it is working fine .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2021 11:49 AM
I needed to do something similar and this code worked perfectly. THANK YOU!