How to Return Caller's Details in Incident form using Client Script and Script Include
I have explained how to return multiple values from the script include and pass it to the client side.
==================CLIENT SCRIPT====================
function onChange(control, oldValue, newValue, isLoading, isTemplate) {// if (isLoading || newValue === '') {// return;
// }
//Type appropriate comment here, and begin script below var ga1 = new GlideAjax('FetchUserDetails'); ga1.addParam('sysparm_name', 'getData'); ga1.addParam('sysparm_user', newValue);
ga1.getXMLAnswer(setDetails);
function setDetails(response) { var pVal = JSON.parse(response); g_form.setValue('u_manager', pVal.manager); g_form.setValue('u_user_s_location', pVal.location); g_form.setValue('u_mobile_number', pVal.mobile_number); g_form.setValue('u_username', pVal.username); g_form.setValue('u_email', pVal.email); }
}
==================SCRIPT INCLUDE====================
var FetchUserDetails = Class.create();
FetchUserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getData: function() { var user = this.getParameter('sysparm_user');
var obj = {};
var usr = new GlideRecord('sys_user'); usr.addQuery('sys_id', user); usr.query(); if (usr.next()) { obj.manager = usr.manager.getDisplayValue(); obj.location = usr.location.getDisplayValue(); obj.mobile_number = usr.mobile_phone.getDisplayValue(); obj.username = usr.user_name.getDisplayValue(); obj.email = usr.email.getDisplayValue(); } return JSON.stringify(obj);
},
type: 'FetchUserDetails'
});
If you have any feedback related to the scripting part, please write it in the comment box.
Labels:
https://www.servicenow.com/community/developer-articles/how-to-return-caller-s-details-in-incident-form-using-client/ta-p/2302073
