Help with Record Producer Script - Having issues pulling Sys ID

Wendy Peterson
Giga Guru

Someone helped me with this for a Table I have which in the Record Producer I have tons of variables but they only want to see the ones are that complete. I can get it to pull the values if i tell it the sys id to look for but I can't get it to pull the sys id of the record it just created. Any ideas? See the screenshot below the sys id is there and it's unique. TIA It's for a Record Producer that is put into a table with only like 4 fields and one of them is a comments section it wants the variable values to go into if they are completed. If they aren't completed they don't want to see them.

var gr = new GlideRecord('question_answer');  

gr.addQuery('table_sys_id', current.sys.id); //sys_id of record in question      

gr.query();  

while (gr.next()) {  

  if (gr.value && gr.question.type == 6) { //exclude questions with empty values  

  current.u_comments +=(gr.question.getDisplayValue() + ":   " + gr.value.getDisplayValue() + "\n"); //display question and answer  

  }  

}    

current.u_aom_analyst = gs.getUserID();  

2017-12-19_15-25-26.png

1 ACCEPTED SOLUTION

Hi Wendy,



Can you please try the following and let me know how you get along: -



var sysID = current.getUniqueValue(); //find sys_id of current record



var gr = new GlideRecord('question_answer');


gr.addQuery('table_sys_id', sysID); //sys_id of record in question


gr.addNotNullQuery('value'); //exclude any variables with null values


gr.query();



var myComments = '';



while (gr.next()) {


  if (gr.question.type == 6) { //restrict question type


        myComments +=(gr.question.getDisplayValue() + ":   " + gr.value.getDisplayValue() + "\n"); //build comments


  }


}


//set fields on record producer


current.u_comments = myComments;


current.u_aom_analyst = gs.getUserID();





I could only test this in a background script with a fixed sys_id so you'll have to let me know if it works for you.


View solution in original post

17 REPLIES 17

Brent Sutton
Mega Sage

Hi Wendy,



Try replacing "gr.addQuery('table_sys_id', current.sys.id); //sys_id of record in question" with:



gr.addQuery('table_sys_id', current.getUniqueValue());



This should work for you. Hope this helps



Brent


Nitesh Asthana1
Kilo Guru

Hi Wendy,



gr.addQuery('table_sys_id', current.sys.id); //sys_id of record in question



I noticed you typed sys.id. Is it a typo? Replace it with sys_id or use current.getUniqueValue().



Regards,


Nitesh Asthana


I tried both with no luck. When I try gr.addQuery('table_sys_id', current.sys_id); //sys_id of record in question and replace current.sys_id with a certain sys id then it pulls that record fine.




var gr = new GlideRecord('question_answer');


gr.addQuery('table_sys_id', current.getUniqueValue()); //sys_id of record in question


gr.query();


while (gr.next()) {


if (gr.value && gr.question.type == 6) { //exclude questions with empty values


current.u_comments +=(gr.question.getDisplayValue() + ": " + gr.value.getDisplayValue() + "\n"); //display question and answer


}


}




and




var gr = new GlideRecord('question_answer');


gr.addQuery('table_sys_id', current.sys_id); //sys_id of record in question


gr.query();


while (gr.next()) {


if (gr.value && gr.question.type == 6) { //exclude questions with empty values


current.u_comments +=(gr.question.getDisplayValue() + ": " + gr.value.getDisplayValue() + "\n"); //display question and answer


}


}


I put an alert in and it sees the SYS ID it just won't pull the info into that record



2017-12-20_5-58-14.png