Wait For Condition Activity

jesusemelendezm
Mega Guru

Hi guys,

I created a condition in a workflow to wait for assigned tasks to be complete... however the workflow doesn't advance to the next activity after I have done the change on the task record that would allow the next activity to run.

This is what I have one the code.

// Set the variable 'answer' to true or false to indicate if the condition has been met or not.

answer = true;

var gr_tsk = new GlideRecord("change_task");

gr_tsk.addQuery('change_request', current.sys_id);

gr_tsk.addQuery('u_accept_task', '==', 'Yes');

gr_tsk.addQuery('wf_activity', '');

gr_tsk.query();

if (gr_tsk.next()) {

    answer = true;

} else {

    answer = false;

}

Thanks for your support.

1 ACCEPTED SOLUTION

The wait for script could then be something like this:



var gr_tsk = new GlideRecord("change_task");


gr_tsk.addEncodedQuery('state<3^change_request=' + current.sys_id);


// gr_tsk.addQuery('u_accept_task','Yes'); // I'm not sure/clear why you need this


//gr_tsk.addQuery('wf_activity', ''); // neither sure/clear why you need this.


gr_tsk.query();


if (gr_tsk.hasNext()) {


    answer = false; // if there's at least one record open then continue waiting


} else {


    answer = true; // if there's no records found then exit the wait for activity


}



Thanks,


Berny


View solution in original post

26 REPLIES 26

Kalaiarasan Pus
Giga Sage
Are there manual change  task being created by user?

That's correct. All tasks are being created manually by the user. I need some mechanism to wait for all tasks to be assigned to user then, enabled the request for approval button or send approval automatically.


bernyalvarado have you seen this?


Hi Jesus, the way I have approached this on the past is by using a forceUpdate() that will wake-up the workflow which is waiting on the Wait For condition.



The approach is something similar to what Kalai suggests below with the one difference that i use the following method:



.setForceUpdate(true);



Thanks,


Berny


You can find here an example of how to use setForceUpdate in a GlideRecord. Make sure you set it within a record and right before .update(); takes place



GlideRecord Query Cheat Sheet - ServiceNow Guru



Thanks,


Berny