I have a business requirement where a user can browse the workbasket and select workobject and start working on it. After user starts working on the workobject it is moved to their worklist PERMANENTLY until is Resolved.
The current behavior (Pega 7.1.6) is that the WorkObject moves back to WorkBasket when the user closes the WorkObject.
What is the best way to achieve this business requirement.
> The current behavior (Pega 7.1.6) is that the WorkObject moves back to WorkBasket when the user closes the WorkObject.
I think what you are really saying is that if the user clicks on a workbasket assignment, fills out the form a bit and saves it but does not submit (advance the flow), then the assignment remains in the workbasket.
How about offering a local action to assign to yourself? Or instead of a form to fill out, a simple connector action to "take possession"?
There is a Final MoveToWorklist Activity. If you Trace GetNextWork you will see it executed (unless you disable that behavior by changing the default DSS value which you do not have to do). You need to use "old:" as a prefix if searching for that Activity.
You could use a Rule-Declare-Trigger that checks whether newAssignPage is the Workbasket in question and, if so, call MoveToWorklist.
Sounds like you also want to call addWorkObjectParty specifying "Owner" as the role and "CurrentOperator" as the model/transform.
From that point on always route to the Owner work party.
Your Declare Trigger would have to be smart enough not to fire when originally saved.