Hi, I am trying to get manager's name from user record using the Script Include, but it is resulting in undefined value. If I try fields that are not referenced field on user table, It is working perfectly fine.

Kiran Yogesh1
Tera Contributor

I need to know how to dot walk to referenced fields

*****SCRIPT*****

var AutoPopMan = Class.create();

AutoPopMan.prototype = Object.extendsObject(AbstractAjaxProcessor, {

      managerFunction: function() {

              var id = this.getParameter('sysparm_my_name');

  var rid = '';

            var gr = new GlideRecord('sys_user');

  gr.addQuery('sys_id', id);

  gr.query();

      if (gr.next()) {

              rid = gr.manager.getDisplayValue(); // Resulting undefined

            gs.addInfoMessage(gr.manager);

      }

  return rid;

      }

});

4 REPLIES 4

amlanpal
Kilo Sage

Hi Kiran,



I guess you are trying to get the selected user's manager in another Reference type field which refers User table. In this case please modify your script include as below.



*****SCRIPT*****


var AutoPopMan = Class.create();


AutoPopMan.prototype = Object.extendsObject(AbstractAjaxProcessor, {


      managerFunction: function() {


              var id = this.getParameter('sysparm_my_name');


            var rid = '';


              var manager;


            var gr = new GlideRecord('sys_user');


  gr.addQuery('sys_id', id);


  gr.query();


      if (gr.next()) {


              rid = gr.manager.getDisplayValue(); // Resulting undefined


            gs.addInfoMessage(gr.manager);


        manager = gr.manager;


      }



  return manager;


      }


});



I hope this helps.Please mark correct/helpful based on impact


Subhajit1
Giga Guru

Use the following:-


if (gr.next()) {


              rid = gr.manager.name;


            gs.addInfoMessage(rid);


      }


snehabinani26
Tera Guru

Hi Kiran,



Try using


rid = gr.manager.name;


or gr.getDisplayValue("manager");


Harish KM
Kilo Patron
Kilo Patron

Here is the script which I used recently to get manager



var userDetails   = Class.create();


userDetails .prototype = Object.extendsObject(AbstractAjaxProcessor, {



  getManager: function() {


  var gr=new GlideRecord("sys_user");


  gr.addQuery("sys_id",this.getParameter('sysparam_id'));


  gr.query();


  gr.next();


 


  if(gr.manager!=''){



  return gr.manager.name;


  }


  else


  {


  return "blank";


  }


       


    },


      type: 'userDetails '


});


find_real_file.png


     



Client script


find_real_file.png


Regards
Harish