We have a CAPEX workflow that uses a state machine to step through the various levels of approval. Included in this is the ability to ask for more information from the submitter by changing to a 'More Info' state and then back to the state the workflow was referred from - all working nicely.
What we've been asked for now is the ability to recall the CAPEX - i.e. the user decides he wants to change some of the information so recalls the CAPEX, edits the information and resubmits. This will obviously need to go back to the initial state of the state machine to potentially recalculate approvers, etc.
The piece I need to handle is to cancel the outstanding task, which could be sitting with any of the approval states, and force the state machine to jump to another state (not the one it expects to go to next). I envision this being a button on the item form the user can push that will cancel the current outstanding task and change the state to 'Recalled' where we can do some processing and then kick it back to the 'Prep' state where it starts the state machine off again.
So it comes down to how do I cancel the current task (not wait for it to finish) and get the workflow to change to the 'Recalled' state (not to use the Next State from the current machine state) by the user clicking a button?
This is in Nintex for 365 too - so I can't use flexi-tasks.