
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2018 04:00 AM
Hi all
Trying to query "sys_user" table via client script. I want to retrieve the user's id and segment code based on the inputted employee's name (u_formatted_display_name)
I have written the below client script but am getting the below error message
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var empName = g_form.getDisplayBox('u_emp_name').value;
var gr = new GlideRecord('sys_user');
gr.addQuery('u_formatted_display_name', empName);
gr.query(myCallBack);
function myCallBack(gr) {
if(gr.next()) {
g_form.setValue('u_emp_id', gr.user_name);
g_form.setValue('u_emp_bg', gr.u_segment);
}
}
}
I can dot.walk to these fields on the form but the issue is the business wants to rename fields from whats in the sys_user table and it can't be a global change.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2018 08:51 AM
if they are the reference fields then you will not be able to see the user_name and emp_bg as it will always show the field value which is set for display true in sys_user table. I think these fields should be string field.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2018 08:11 AM
I think it should be like,
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue == '') {
return;
}
var employee = g_form.getReference('u_emp_name', setemployeedetails );
function setemployeedetails(employee) {
alert(employee);
g_form.setValue('u_emp_id', employee.user_name);
g_form.setValue('u_emp_bg', employee.u_segment);
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2018 08:20 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2018 08:24 AM
I think, that's fine, what you get with there alerts?
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue == '') {
return;
}
var employee = g_form.getReference('u_emp_name', setemployeedetails );
function setemployeedetails(employee) {
alert(employee.user_name);
alert(employee.u_segment);
g_form.setValue('u_emp_id', employee.user_name);
g_form.setValue('u_emp_bg', employee.u_segment);
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2018 08:29 AM
yes shishir, it is alerting the correct value now but not setting the values in fields

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2018 08:33 AM
is u_emp_id and u_emp_bg are reference field? Can you please provide some screenshot?