- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-13-2018 12:20 AM
Hi all,
I have a record producer that I want to copy some variables over to the work notes.
I found the thread below which shows how and have it working with plain text, however, I am having issues with reference fields.
When I add a reference field as a variable, the script does not run and I don't even get the Variables: in the work notes. Here is the script:
var wn = 'Variables:';
for (var key in producer)
if (producer[key]) {
if (key.search('boom') != -1) {
var v = producer[key];
wn += '\n' + v.getGlideObject().getQuestion().getLabel() + ': ' + v.getDisplayValue();
}
}
current.work_notes = wn;
Any ideas?
Thanks, Brendan
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-15-2018 09:20 PM
Ok. I thought you were using the question Label. Lets try this
(function executeRule(current, previous /*null when async*/) {
var desc = '';
var qtype = 0;
var q = new GlideRecord('question_answer');
q.addQuery('table_sys_id',current.sys_id);
q.orderBy('order');
q.query();
while (q.next())
{
if (q.value!='' && q.question.name.indexOf('boom')>-1 && q.value!='false' || q.question.type==11)
{
if (q.question.type==11)
desc = desc+'\n';
if (q.question.type!=7)
{
if (desc=='')
desc = q.question.getDisplayValue()+': '+getRefValue(q.question.type,q.question.reference,q.value);
else
desc = desc+'\n'+q.question.getDisplayValue()+': '+getRefValue(q.question.type,q.question.reference,q.value);
}
else
{
if (qtype==7)
desc = desc+','+q.question.getDisplayValue();
else
desc = desc+' '+q.question.getDisplayValue();
}
qtype = q.question.type;
}
if (q.question.type==19)
desc = desc+'\n';
}
if (desc!='')
current.description = desc;
})(current, previous);
function getRefValue(type,table,value)
{
if (type==8)
{
var ref = new GlideRecord(table);
ref.get(value);
return ref.getDisplayValue();
}
else
{
return value;
}
}
Please mark this response as correct or helpful if it assisted you with your question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-15-2018 09:20 PM
Ok. I thought you were using the question Label. Lets try this
(function executeRule(current, previous /*null when async*/) {
var desc = '';
var qtype = 0;
var q = new GlideRecord('question_answer');
q.addQuery('table_sys_id',current.sys_id);
q.orderBy('order');
q.query();
while (q.next())
{
if (q.value!='' && q.question.name.indexOf('boom')>-1 && q.value!='false' || q.question.type==11)
{
if (q.question.type==11)
desc = desc+'\n';
if (q.question.type!=7)
{
if (desc=='')
desc = q.question.getDisplayValue()+': '+getRefValue(q.question.type,q.question.reference,q.value);
else
desc = desc+'\n'+q.question.getDisplayValue()+': '+getRefValue(q.question.type,q.question.reference,q.value);
}
else
{
if (qtype==7)
desc = desc+','+q.question.getDisplayValue();
else
desc = desc+' '+q.question.getDisplayValue();
}
qtype = q.question.type;
}
if (q.question.type==19)
desc = desc+'\n';
}
if (desc!='')
current.description = desc;
})(current, previous);
function getRefValue(type,table,value)
{
if (type==8)
{
var ref = new GlideRecord(table);
ref.get(value);
return ref.getDisplayValue();
}
else
{
return value;
}
}
Please mark this response as correct or helpful if it assisted you with your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-15-2018 09:20 PM
Oh it works!
since it was the question, my question is Boom_test, and we were searching boom. with a lower case.
I thought we were searching variable name, not the question!
EDIT:
To add, i changed the if statement to the below, and it is now working for the name of the variable 🙂
if (q.value!='' && q.question.name.indexOf('boom')>-1 && q.value!='false' || q.question.type==11)
Thanks so much for your help once again! If you are ever in Sydney, hit me up and ill shout you dinner 🙂
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-15-2018 09:24 PM
haha, we both replied pretty close together. thanks again!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-17-2019 12:56 AM
When I used the code provided by Sanjiv Meher, It works perfectly.
But it is taking a way lot of time to load the page after user submits the RP.
Any points to avoid this situation.
Thanks,
Divya