Flow designer script on wait for condition not working

cgedney
Giga Guru

I have a flow in which I am creating a REQ/RITM/SCTASK and then trying to wait for all of the tasks on the RITM to complete. Here is the wait for condition I am trying to use:

find_real_file.png

and the script:

var tasks=new GlideRecord('sc_task');
tasks.addQuery('request_item', fd_data._2__create_record.record.sys_id);
tasks.addQuery('state','<',3);
tasks.addActiveQuery();
tasks.query();

if (tasks.next()) {
answer = false;
}
else {
answer = true;
}

 

For whatever reason, it falls through every time. I even tried switching answers to see if that would fix it. It falls through no matter what. 

Here is the flow:

find_real_file.png

Am I missing something? Is there supposed to be another step somewhere?

Thank you,

Charles 

1 ACCEPTED SOLUTION

Balaji Jagannat
Kilo Guru

Hi, 

I see that your "Wait for Condition" is on the Requested Item table, but you are not returning any real filter condition for that table through the script. 

In your step#3, you are creating some task, is that the task associated with RITM or something else? I'm trying to see whether you can set your "Wait for Condition" on the sc_task table itself an avoid the need to script?

 

View solution in original post

16 REPLIES 16

Hi,

try this, 

Ashutosh Munot1
Kilo Patron
Kilo Patron

HI,

tasks.addQuery('request_item', fd_data._2__create_record.record.sys_id);

 

Is this true?

 

What is _2__create_record?

 

Also try state=3 instead of <

 

Thanks,
Ashutosh

Access Flow/Action data using the fd_data object. The _2__ means step 2.

I only want it to exit the wait for when the state is completed. Therefore, I need it to be < 3.

 

HI,

Yes so you can try state = 3 and test.

Also check the log 

gs.info('ID : '+fd_data._2__create_record.record.sys_id);

var tasks=new GlideRecord('sc_task');
tasks.addQuery('request_item', fd_data._2__create_record.record.sys_id);
tasks.addQuery('state',3);
tasks.addActiveQuery();
tasks.query();

if (tasks.next()) {
answer = false;
}
else {
answer = true;
}

 


Thanks,
Ashutosh

Balaji Jagannat
Kilo Guru

Hi, 

I see that your "Wait for Condition" is on the Requested Item table, but you are not returning any real filter condition for that table through the script. 

In your step#3, you are creating some task, is that the task associated with RITM or something else? I'm trying to see whether you can set your "Wait for Condition" on the sc_task table itself an avoid the need to script?