Steps to reproduce: 1. Create workflow with two branches as shown on image 2. Each branch must have some conditions to proceed 3. Satisfy only one condition (in my case I have empty ReferenceNo and Name2 is filled up 4. Save record
What happens in the code: 1. Method org.compiere.wf.MWFProcess.isJoinElementANDProcessed(MWFActivity) checks condition for "Name2" Node 2. There is no Activity created yet for "CheckReferenceNo" Node 3. Method isJoinElementANDProcessed returns "true" because all Activities from Name2 branch are Processed But it must wait for parent activity of "End" Node to be created! As a result, "CheckReferenceNo" Node activity was never performed.
Steps to reproduce:
1. Create workflow with two branches as shown on image
2. Each branch must have some conditions to proceed
3. Satisfy only one condition (in my case I have empty ReferenceNo and Name2 is filled up
4. Save record
What happens in the code:
1. Method org.compiere.wf.MWFProcess.isJoinElementANDProcessed(MWFActivity) checks condition for "Name2" Node
2. There is no Activity created yet for "CheckReferenceNo" Node
3. Method isJoinElementANDProcessed returns "true" because all Activities from Name2 branch are Processed
But it must wait for parent activity of "End" Node to be created! As a result, "CheckReferenceNo" Node activity was never performed.
And how it looks without fix:
I've added a condition
It will eliminate this error: