how to get company name from company sys_id

Hapuertam
Kilo Contributor

Hi everyone,

I need to get the company's name from the next code, but actually im getting the company sys_id, anyone can help me getting the dusplay name or the name to populate a text field??

------------------------------------------------------------------------

function onChange(control, oldValue, newValue, isLoading) {
var id = g_form.getValue('user_sol');

var user = new GlideRecord('sys_user');

user.addQuery('sys_id',id);


user.query();


if (user.get(newValue)){
g_form.setValue('Prueba_cargo',user.title);

g_form.setValue('area_sol',user.core_company);

}
}

----------------------------------------------

thanks in advance

1 ACCEPTED SOLUTION

Shweta KHAJAPUR
Tera Guru

Hi,

Try with below code,

In Client script

var ga = new GlideAjax("UserCompany"); 
ga.addParam("sysparm_name","userCompany"); 
ga.addParam("sysparm_user",g_form.getValue('user_sol'));
var company = ga.getAnswer(); 
g_form.setValue('area_sol',company);

 

In Script Include

var UserCompany = Class.create(); 
UserCompany.prototype = Object.extendsObject(AbstractAjaxProcessor, {  

userCompany: function() { 
var company='';
var user= this.getParameter("sysparm_user"); 
var comp = new GlideRecord('sys_user'); 
comp.addQuery('sys_id',user); 
comp.query(); 
if(comp.next()) 
{ 

 company=comp.getDisplayValue('company');
 
}

return company;

},

 

View solution in original post

6 REPLIES 6

Nitin_NOW
Tera Guru

I think this is a duplicate post to the below one

https://community.servicenow.com/community?id=community_question&sys_id=9cad99ebdbde9b043882fb651f961944

Hope my response in the above link helps you.

Please hit correct based on impact of response.

Thanks!

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hello Hapuertam,

 

The best practice is to use GlideAjax instead of GlideRecord in the client script. You can use getDisplayValue() on the server side and return it back to a client. 

https://community.servicenow.com/community?id=community_blog&sys_id=f8ccee25dbd0dbc01dcaf3231f961978

Devyani_6
Mega Guru

Hi,

Refer below code...

script Include : requestor_details 

var requestor_details = Class.create(); 
 
requestor_details.prototype = Object.extendsObject(AbstractAjaxProcessor, {  
 
requestor_info: function() { 
 
var result = this.newItem("result"); 
 
var logged_user = gs.getUserID(); 
 
var user_detail = new GlideRecord('sys_user'); 
 
user_detail.addQuery('sys_id',logged_user); 
 
user_detail.query(); 
 
while(user_detail.next()) 
 
 
result.setAttribute("user",user_detail.sys_id);
 
 result.setAttribute("company",user_detail.company);
 
}
 
 
},
 
type: 'requestor_details'
 
 
});

 

onLoad Cleint script : 

function onLoad() 
 
 
   var ga = new GlideAjax("requestor_details"); 
 
   ga.addParam("sysparm_name","requestor_info"); 
 
   ga.getXML(ajaxResponse); 
 
   function ajaxResponse(serverResponse) { 
 
   var result = serverResponse.responseXML.getElementsByTagName("result");
   
 
   var user = result[0].getAttribute("user");
   
   var company = result[0].getAttribute("company");    
   
    g_form.setValue('U_company',company);
  
   } 
 
}
 
 
 

Warm Regards,

Devyani

|www.DxSherpa.com|

Dubz
Mega Sage

You can use the below to get the display value from a reference field in a client script but, as has been mentioned, you shouldn't use getReference() or glide records in the client. 

 

g_form.getDisplayBox('field_name').value;