Are you sure this isn't normal ? This error message could be completely normal, let me explain.
If two users have the same access to a global WorkBasket for example. They both access it almost at the same time let's imagine. Both users will see let's say 2 assignments from 2 different cases. So far so good.
Then if User1 is processing the first assignment, it will disappear from the list. But if User2 hasn't refreshed his screen he will still have 2 assignments.
Finally User2 is trying to process the same assignment as User1, He will get the message "Flow not at task" which is perfectly normal.
Right, my point was actually regardless of the number of users. It could also be an SLA resuming the assignment but anyway. So if this task cannot be performed, have you tried to identify where the task really is ? Do you still have this assignment existing somewhere else or is it just gone somehow ?
flow-not-at-task means the pxFlow list in the work object disagrees with the assignment object. Once you get that error (or its close cousin, flow-removed), the damage has already been done.
So, the general strategy is to put in some checks that catch the situation BEFORE the damage has been done.
In order to know how to put those checks in, you need to first understand what the observed mismatch is.
When you click the item and get the flow-not-at-task error, bring up your clipboard viewer right after that, and switch to the correct thread and look at the actual pxFlow list and the assignment page. It should be easy to spot the mismatch.
One way to understand more about what is mismatched is to trace the attempt to bring up the damaged item so you can see where in Pega the logic is that does the checking, and you can see what properties it is looking at. /Eric