- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-17-2024 06:15 PM
We have modified the OOB business rule "User query" to include the inactive users. The inactive users are visible in the variable but when the end user click the reference icon it just show "record not found", and also the onchange script doesn't work for the non admins to auto fill other reference field based on the users records.
Is there any suggestion what specify needs to be modified to show User ID and the manager field?
Thanks
G
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Monday
Hello @Divya24
We created a client script and a script include to achieve this. Hope it helps in your case.
Script Include:
var userDataUtil = Class.create();
userDataUtil.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getUserInfo: function() {
var user = this.getParameter('sysparm_user');
var gr = new GlideRecord("sys_user");
gr.setWorkflow(false);
gr.get(user);
var deptname = gr.department.getDisplayValue();
var managername = gr.manager.getDisplayValue();
var locationname = gr.location.getDisplayValue();
var ttl = gr.getValue('title');
var eml = gr.getValue('email');
var fName = gr.first_name.getDisplayValue();
var lName = gr.last_name.getDisplayValue();
var uName = gr.user_name.getDisplayValue();
var mNumber = gr.u_mobile_phone.getDisplayValue();
var response = {};
response.email = eml;
response.first_name = fName;
response.last_name = lName;
response.user_name = uName;
response.mobile_phone = mNumber;
response.department = deptname;
response.manager = managername;
response.location = locationname;
response.title = ttl;
// response.fullName = name;
//gs.info(JSON.stringify(response));
return JSON.stringify(response);
},
type: 'userDataUtil'
});
===================================================================
OnChange Catalog Client Script:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
// Call the GA function
var ga = new GlideAjax('userDataUtil');
ga.addParam('sysparm_name', "getUserInfo");
ga.addParam('sysparm_user', newValue); //Onchange field is reference field to sys_user table
// alert(newValue);
ga.getXMLAnswer(function(answer) {
var response = JSON.parse(answer);
// alert(response);
g_form.setValue('first_name', response.first_name); //used for string field
g_form.setValue('last_name', response.last_name); //used for string field
g_form.setValue('username', response.user_name); //used for string field
});
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Monday
Hello @Divya24
We created a client script and a script include to achieve this. Hope it helps in your case.
Script Include:
var userDataUtil = Class.create();
userDataUtil.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getUserInfo: function() {
var user = this.getParameter('sysparm_user');
var gr = new GlideRecord("sys_user");
gr.setWorkflow(false);
gr.get(user);
var deptname = gr.department.getDisplayValue();
var managername = gr.manager.getDisplayValue();
var locationname = gr.location.getDisplayValue();
var ttl = gr.getValue('title');
var eml = gr.getValue('email');
var fName = gr.first_name.getDisplayValue();
var lName = gr.last_name.getDisplayValue();
var uName = gr.user_name.getDisplayValue();
var mNumber = gr.u_mobile_phone.getDisplayValue();
var response = {};
response.email = eml;
response.first_name = fName;
response.last_name = lName;
response.user_name = uName;
response.mobile_phone = mNumber;
response.department = deptname;
response.manager = managername;
response.location = locationname;
response.title = ttl;
// response.fullName = name;
//gs.info(JSON.stringify(response));
return JSON.stringify(response);
},
type: 'userDataUtil'
});
===================================================================
OnChange Catalog Client Script:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
// Call the GA function
var ga = new GlideAjax('userDataUtil');
ga.addParam('sysparm_name', "getUserInfo");
ga.addParam('sysparm_user', newValue); //Onchange field is reference field to sys_user table
// alert(newValue);
ga.getXMLAnswer(function(answer) {
var response = JSON.parse(answer);
// alert(response);
g_form.setValue('first_name', response.first_name); //used for string field
g_form.setValue('last_name', response.last_name); //used for string field
g_form.setValue('username', response.user_name); //used for string field
});
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi,
Thank you for your quick response. We have similar script and this helped us too.IS there any reason when i click on preview record it shows record not found. Please help me on this