How can I set reference field with sys_id?

richgk
Kilo Contributor

I have the following code:

var gr = new GlideRecord('new_call');

gr.addQuery('transferred_to',current.request); // we're looking for the original CALL

gr.query();                               // perform the query

// If the call that was transferred to this request task was found

if (gr.getRowCount() == 1) {

      while (gr.next()){

              gs.log('>> RGK <<' + gr.number);

              gs.log('>> RGK <<' + gr.sys_id);

              current.u_call_number = gr.sys_id;

      }

}

Which produces the following output:

Information       >> RGK <<CALL0004026

Information       >> RGK <<f87c10b4dba083402d4dfb041d9619e4

The field on the current form named u_call_number is a reference to a call (new_call table), but when setting this field to be the sys_id the form does not display anything. The 2nd line in the log output looks to be the sys_id for the CALL so what can be wrong?

Thanks,

Rich.

1 ACCEPTED SOLUTION

ruthrav
Mega Guru

Hello Richard,


        Please use current.update() function to update the record after setting the value.


like


var gr = new GlideRecord('new_call');


gr.addQuery('transferred_to',current.request); // we're looking for the original CALL


gr.query();                               // perform the query



// If the call that was transferred to this request task was found



if (gr.getRowCount() == 1) {


      while (gr.next()){


              gs.log('>> RGK <<' + gr.number);


              gs.log('>> RGK <<' + gr.sys_id);


              current.u_call_number = gr.sys_id;


                  current.update();


      }


}


View solution in original post

15 REPLIES 15

nitdubey
Kilo Expert

Hello Richard,



You can achieve by either by using .



1. gr.getDisplayValue()



2.You can do a dot walking .e.g. suppose you have a value field in the new call table then you can use gr.value.




Please let me know if it helped you.



Thanks


Nitin


Shishir Srivast
Mega Sage

Can you please check what field is set for display in new_call table? is there any field set for display true and that doesn't contain any value in that.


Please navigate to System Definition -> Table, open the table and see what field is set for Display.



find_real_file.png


Hi it looks like this



Capture.JPG


How about trying like, let's see if this helps.



current.u_call_number = gr.sys_id.toString();


Arindam Ghosh
Mega Guru

open the table that is mapped in the reference field (u_call_number ). select the display checkbox in dictionary of the column that you want to display.