Not able to push the users into Approval User Workflow based on the condition

Suvedha
Tera Expert

Hi all,

 

I have requirement, if approver and user and same, approval should not be triggered.

Script which has been written is not working. Could anyone help me out.

 

ar answer = [];
var user = current.variables.Requested_For;
var grpMem= new GlideRecord('sys_user_grmember');
grpMem.addQuery('group','965b95291bb4351426f45391604bcbf7');
grpMem.query();
while(grpMem.next())
{    
var approver = grpMem.getValue('user');
if(approver != user){   // to check requester!= approver //Not working
gs.log("inside" +approver);
answer.push(approver.toString()); // Not pushing the Approvers
}
else{
gs.log("else");
answer.push = '';
}
}
Thanks in advance.
Suvedha.
 
 
2 ACCEPTED SOLUTIONS

Prashant Moily
Mega Sage

Hi Suvedha,

 

Just try this below code and make sure you are using  "Approval User" activity 

 

var appAr = [];
var approvers = new GlideRecord('sys_user_grmember');
approvers.addQuery('group', current.assignment_group);
approvers.query();
while(approvers.next()) {
if(approvers.user.toString() != current.requested_by.toString()) {
workflow.info('APPROVER = ' + approvers.user.toString());
answer.push(approvers.user.toString());

}
}

answer = appAr;

 

Hope this information helps you.

 

View solution in original post

Vishal Birajdar
Giga Sage

Hi @Suvedha 

 

You can exclude the requested for in through encodedQuery itself :

 

/* 1. Declare array */
var answer = [];
/* 2. get user from variable */
var user = current.variables.Requested_For;
/* 3. Glide record on group member table */

var grpMem= new GlideRecord('sys_user_grmember');
grpMem.addEncodedQuery('group=477a05d153013010b846ddeeff7b1225^user!= '+ user);  // this will exclude if requester for if its same 
grpMem.query();
while(grpMem.next())
{    
    var approver = grpMem.getValue('user');
     answer.push(approver.toString());
    
}

 

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

View solution in original post

9 REPLIES 9

Hi Vishal,

 

Encoded query is not working now. Please find the attached screenshot, it should give only one, it is giving two, some issue is happening in encodedquery.

Could you please help me in this

Suvedha_0-1696427333087.png

 

Hi @Suvedha 

 

Can you open the list view of group member table and filter the list with above query 

& check...!!

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

Hi Vishal,

 

In list view of table, it is working correctly.

I am confused, why I am not able to achieve in background script

Suvedha_0-1696430282224.png

 

Thanks & regards,

Suvedha

 

Hi Vishal,

 

I got it, this is because of the space encoded query.

Thank you for the help.

group=965b95291bb4351426f45391604bcbf7^user!='+ user
 
Thanks & regards,
Suvedha

Cool....!!

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates