- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-08-2016 10:23 AM
<g:evaluate var="jvar_gr" object="true">
var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group','8e136dbe4fe6560093f3e0024210c786'); // To get users from this group
gr.query();
while(gr.next()){
var jobCR3= new GlideRecord('sysapproval');
jobCR3.addQuery('document_id','361c4b074f2e560093f3e0024210c7ea');
jobCR3.addQuery('approver',gr.user); // To select the approval user who are from above group.
jobCR3.addQuery('state','approved');
jobCR3.orderBy('sys_created_on');
jobCR3.query();
}
jobCR3;
</g:evaluate>
<j:while test="${jvar_gr.next()}">
<p>${jobCR3.getDisplayValue('approver')}</p>
</j:while>
I am getting result as 1 user. But I should get 2 users. When I run same script in background script I am getting result as 2 users (which is correct).
Script ran in background script:
var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group','8e136dbe4fe6560093f3e0024210c786');
gr.query();
while(gr.next()){
var jobCR3= new GlideRecord('sysapproval');
jobCR3.addQuery('document_id','361c4b074f2e560093f3e0024210c7ea');
jobCR3.addQuery('approver',gr.user);
jobCR3.addQuery('state','approved');
jobCR3.orderBy('sys_created_on');
jobCR3.query();
while(jobCR3.next()){
gs.print(jobCR3.getDisplayValue('approver'));
}
}
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-08-2016 11:14 AM
Actually, you'll probably want this:
<g:evaluate object="true">
var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group', '8e136dbe4fe6560093f3e0024210c786'); // To get users from this group
gr.query();
</g:evaluate>
<j:while test="${gr.next()}">
<g:evaluate object="true">
var jobCR3 = new GlideRecord('sysapproval');
jobCR3.addQuery('document_id', '361c4b074f2e560093f3e0024210c7ea');
jobCR3.addQuery('approver', gr.user); // To select the approval user who are from above group.
jobCR3.addQuery('state', 'approved');
jobCR3.orderBy('sys_created_on');
jobCR3.query();
</g:evaluate>
<j:while test="${jobCR3.next()}">
<p>${jobCR3.approver.getDisplayValue()}</p>
</j:while>
</j:while>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-08-2016 10:28 AM
Hi John,
Can you change the while part of the code to this one below and try
<j:while test="${jobCR3.next()}">
<p>${jobCR3.getDisplayValue('approver')}</p>
</j:while>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-08-2016 10:32 AM
Hi venkat,
Thanks for reply. I tried that way also. But still I am getting 1 user only as result which is not correct.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-08-2016 10:43 AM
Hi John,
We might have to debug here and add some alert statements. Can you add a alert to get the value when the page is getting rendered?
Also, generally i used ${jobCR3.approver.getDisplayValue()} instead of ${jobCR3.getDisplayValue('approver')}. But before that would like to see if jvar_gr or jobCR3 is holding the value as expected.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-08-2016 11:02 AM
<g:evaluate var="jvar_gr" object="true"> |
var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group','8e136dbe4fe6560093f3e0024210c786');
gr.query();
while(gr.next()){ | |||
var jobCR3= new GlideRecord('sysapproval_approver'); | |||
jobCR3.addQuery('document_id','361c4b074f2e560093f3e0024210c7ea'); | |||
jobCR3.addQuery('approver',gr.user); | |||
jobCR3.addQuery('state','approved'); | |||
jobCR3.orderBy('sys_created_on'); | |||
jobCR3.query(); | |||
while(jobCR3.next()){ |
gs.log(jobCR3.getDisplayValue('approver'));
} |
}
jobCR3; | |
</g:evaluate> |
I tried as shown above and Checked log statements. I am getting 2 users in log.