Getting value of the field instead of sys_id
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-06-2013 08:21 AM
I have a script where I do a GlideRecord query to the request table. Once I get the records, I am getting to the value of the opned by field. But since opened by is a reference field, it is returning sys_id. How can I get the displayed value ?
Below is the script :
var gr = new GlideRecord("sc_req_item");
gr.addQuery("u_requested_for", g_form.getValue("emp_name"));
gr.addQuery("stage",'!', "waiting_for_approval");
gr.query();
if(gr.next())
{
alert("A request has already been submitted by " + gr.opened_by); // this is returming sys_id, I need the value
}
Please let me know if anyone has any suggestions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-14-2018 04:39 AM
For reference field type, it will display sys_id only. Using gr.getDisplayValue('reference_field_name') or gr.reference_field_name.getDisplayValue() will give you the expected value.
Here in your case use gr.getDisplayValue('opened_by');
Please hit helpful/mark as answer if this really does :).

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-08-2018 12:47 AM
Hi Ravali,
Try with the below code.
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var gr = new GlideRecord("sc_req_item");
gr.addQuery("requested_for",g_form.getValue("emp_name"));
gr.addQuery("stage",'!', "waiting_for_approval");
gr.query();
if(gr.next())
{
var user = new GlideRecord('sys_user');
user.addQuery('sys_id',gr.opened_by);
user.query();
if(user.next())
{
alert("A request has already been submitted by " + user.name);
}
}
}
Hope this helps.
Thanks,
Archana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-24-2024 02:00 AM
Sure, you can get the display value of a reference field in ServiceNow using the getDisplayValue() method. Here's how you can do it:
1. First, you need to create a GlideRecord object for the table you want to query. In your case, it's the request table. Here's how you can do it:
javascript
var gr = new GlideRecord('sc_request');
2. Next, you need to add a query to get the specific record you want. For example, if you want to get a record with a specific sys_id, you can do it like this:
javascript
gr.addQuery('sys_id', 'your_sys_id_here');
gr.query();
3. Once you have the record, you can get the sys_id of the opened by field like this:
javascript
if (gr.next()) {
var openedBySysId = gr.opened_by;
}
4. Now, to get the display value of the opened by field, you can use the getDisplayValue() method like this:
javascript
if (gr.next()) {
var openedByDisplayValue = gr.opened_by.getDisplayValue();
}
5. Finally, you can print the display value to the console to check if it's correct:
javascript
gs.info(openedByDisplayValue);
So, the complete script would look like this:
javascript
var gr = new GlideRecord('sc_request');
gr.addQuery('sys_id', 'your_sys_id_here');
gr.query();
if (gr.next()) {
var openedByDisplayValue = gr.opened_by.getDisplayValue();
gs.info(openedByDisplayValue);
}
Remember to replace 'your_sys_id_here' with the actual sys_id of the record you want to query.
nowKB.com
If you want to know any information about Service Now . Visit to https://nowkb.com/home