You are viewing limited content. For full access, please sign in.

Question

Question

Parallel approval on Forms

asked on October 29, 2014 Show version history

Hi everyone,

We're running into an issue with creating a form with parallel approval. Scenario: A form needs to be approved by 3 different departments. This cannot be done on a sequence as each department takes different time to make a decision. In the past, I was able to resolve this with suggestions from the Presales team and Blake (https://answers.laserfiche.com/questions/49761/Forms-Gateways-and-Outflows) however, it looks like this is not working properly on Forms 9.1.1.1522 and Forms 9.2.0.853. I have the following BP:

- The inclusive Gateway was added to simply loop back on the process instead of starting a new BP for each test.

- On the parallel gateway, the conditions are set this way:

With this setup, I've gotten the following set of results:

 

Upon testing, figured out that the "Action" on the parallel activity can be changed and invoked individually from each User Task by changing the label (instead of calling it just "Approve", can be changed to "Department Approval"), but then any condition added would result in an error on the event viewer "Message: Routing cannot be split to any subsequent branch. XPath evaluation may fail for every possible condition". 

Has anyone run into this kind of situation and made it work? 

0 0

Answer

SELECTED ANSWER
replied on October 31, 2014

Hi Abby and Kenneth,

 

Abby: The only way in which a form will be approved is if all 3 departments approve it. If any of the departments reject it, then the form is rejected. All 3 departments cannot see what the other one is doing. 

Kenneth: We're currently using something similar to what you proposed. We have a checkbox field, hidden. When the form is rejected by any party, there's JS code that unhides the field, checks the box and hides it again. There's a parallel gateway that catches all approvals once done. Then, we have another exclusive gateway that routes the flow depending on whether the checkbox is checked or not. So far, this works perfectly unless the form is in read only mode for the participants.

0 0

Replies

replied on October 29, 2014

As Eric pointed out in the original post, use the "/dataset/_action" to check multiple tasks processed before can't work, when process to the Exclusive Gateway, there is only one item for dataset/_action which is from the last task perform before(in your case, it is Task 3), so the result obtained is the same as the action for Task 3.

 

There is no good solution for this issue. A possible solution for this is to add 8 parallel gateways after the tasks and add conditions on the outflow for the user task to decide which parallel gateways to go.

 

0 0
replied on October 30, 2014

Hi,

 

So far, we've been able to make this work by using a hidden checkbox value that gets checked out when someone Rejects a form. Unfortunately, this won't work if you mark the form to be read only for task participants, but as long as we don't mark it that way, it works the way we need it to work. 

 

I just wanted to point out that I have been able to call each Action from each previous task by changing the names of the labels. Although this didn't really work, I find it strange that you can call them out that way. This would really be a nice, useful feature to add to Forms.

0 0
replied on October 31, 2014 Show version history

Hi there,

Can you tell me the business process requirement?

A form needs to be approved by 3 different departments. Do they need to see each other's decision. If one of them reject, will the form be rejected immediately or still pending the other two departments decision?

Thanks,

Abby

0 0
replied on October 31, 2014

Have you considered using something else? 

 

If you can, why not make the user tasks each use a different form, but with only 1 difference between them. You give them a required field thats a radio button, indicating approval or rejection. then change the forms button to be submit. Then you can use that token in your evaluation, since they each have a unique token to test against.

0 0
replied on October 31, 2014

I think this might be handled in a very complicated way by the use of gateways. I think though you might want to actually have it so that you use javascript to look at the values, if the last instance of each of the three tasks are rejected, then we disable the Approve button from being pressed. We will need to write some very specific javascript but the basics are quite simple, if we know the lst submission is the one that counts, we just need to make sure the last submission can only be "Reject" if any of the forms are rejected. 

1 0
SELECTED ANSWER
replied on October 31, 2014

Hi Abby and Kenneth,

 

Abby: The only way in which a form will be approved is if all 3 departments approve it. If any of the departments reject it, then the form is rejected. All 3 departments cannot see what the other one is doing. 

Kenneth: We're currently using something similar to what you proposed. We have a checkbox field, hidden. When the form is rejected by any party, there's JS code that unhides the field, checks the box and hides it again. There's a parallel gateway that catches all approvals once done. Then, we have another exclusive gateway that routes the flow depending on whether the checkbox is checked or not. So far, this works perfectly unless the form is in read only mode for the participants.

0 0
replied on October 31, 2014

Instead of setting the entire form read only in User Task, you can use a readonly Section to cover most of the content of the form. and the hidden decision field is outside of this section which is not readonly.

1 0
replied on October 31, 2014

Hi Abby,

We'll give that a try. Thank you for the suggestion. 

0 0
replied on October 31, 2014

Hi Edgar, 

If your question has been answered, please let us know by clicking the "Mark this reply as the answer" button on the appropriate response.

If you still need assistance with this matter, just update this thread. Thanks!

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.