- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-13-2017 12:27 AM
Hi,
My requirement is need to auto populate manger detail when we select a name field.It should populate emailaddress,contact number, job title and cost center value.
But I am getting the cost center value as sys_id need to get the field value.My code
g_form.setValue('newusermanager_costcentre',managerName.cost_center);
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-13-2017 12:58 AM
You can not do dot walking upto 2nd level using getReference() function, in that case you need to have GlideAjax Call from your catalog client script, something like this should help you.
Client Script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var sys_id = g_form.getValue('manager_field_name');
var userDetails = new GlideAjax("DisplayUserDetails");
userDetails.addParam("sysparm_name", "getUserDetails");
userDetails.addParam("sysparm_sys_id", sys_id);
userDetails.getXML(ajaxResponse);
function ajaxResponse(serverResponse) {
var answer = serverResponse.responseXML.documentElement.getAttribute("answer");
g_form.setValue('newusermanager_costcentre', answer);
}
}
Client Callable Script Include:
var DisplayUserDetails = Class.create();
DisplayUserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getUserDetails : function() {
var newUserRecord = new GlideRecord('sys_user');
if(newUserRecord.get(this.getParameter('sysparm_sys_id'))){
return newUserRecord.getDisplayValue('cost_center');
}
},
type: 'DisplayUserDetails'
});

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-13-2017 12:29 AM
You need to use getReference() method . Since you have multiple values to fetch.
You can use GlideAjax and call the script include in the client script
Harish

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-13-2017 12:58 AM
You can not do dot walking upto 2nd level using getReference() function, in that case you need to have GlideAjax Call from your catalog client script, something like this should help you.
Client Script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var sys_id = g_form.getValue('manager_field_name');
var userDetails = new GlideAjax("DisplayUserDetails");
userDetails.addParam("sysparm_name", "getUserDetails");
userDetails.addParam("sysparm_sys_id", sys_id);
userDetails.getXML(ajaxResponse);
function ajaxResponse(serverResponse) {
var answer = serverResponse.responseXML.documentElement.getAttribute("answer");
g_form.setValue('newusermanager_costcentre', answer);
}
}
Client Callable Script Include:
var DisplayUserDetails = Class.create();
DisplayUserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getUserDetails : function() {
var newUserRecord = new GlideRecord('sys_user');
if(newUserRecord.get(this.getParameter('sysparm_sys_id'))){
return newUserRecord.getDisplayValue('cost_center');
}
},
type: 'DisplayUserDetails'
});