Being new on the whole Sharepoint administration scene, I need a little help from those in the know.
I may be doing this "completely" wrong, so apologies if I am and I would really appreciate your help finding a better way if so.
Basically, I have a workflow that contains 6 steps. These 6 steps contain conditions that check the current item's status and perform actions based on it.
The natural progression of the workflow means that once it performs an action, it continues to move down the path till it ends. The problem I have, is that in two of my steps, based on an approval process being rejected, I change the current item's status to a status that is checked in a step above the one that created. As a result, it does not get executed until the workflow is run manually or by editing the item.
I incorrectly assumed that upon setting a field on the current item, it would be classed as modified and then would start the workflow again on the current item.
Does anyone know of a way of restarting the workflow on the current item, from within the workflow?
Edit: Hopefully seeing this will help, I'm working on a Visio diagram as well:
#### STEP 1 #####################################################################################################
if Current Item:Status equals "Awaiting tech review"
Start CR Tech Review Approval process on Current Item with "CR Tech Review"
if Variable:IsItemApproved equals "Yes"
Set "Status" to "Awaiting board review" // Step 2
else
Set "Status" to "Rejected by tech"
then Stop the workflow
#### STEP 2 #####################################################################################################
if Current Item:Status equals "Awaiting board review"
Start CR Board Review Approval process on Current Item with "CR Board Review"
if Variable:IsItemApproved1 equals "Yes"
Set "Status" to "Awaiting allocation"
then Collect data from CR Project Management
set "Assigned to" to "Tasks:Allocated to" // from above Collect data from user
set "Status" to "Allocated to developer" // Step 3
else
Set "Status" to "Rejected by board"
then Stop the workflow
#### STEP 3 #####################################################################################################
if Current Item:Status equals "Allocated to developer"
Collect data from Current Item:Assigned to
then set "Status" to "Awaiting deployment to 'TEST'"
#### STEP 4 #####################################################################################################
if Current Item:Status equals "Allocated to developer - bugs found"
Collect data from Current Item:Assigned to
then set "Status" to "Awaiting deployment to 'TEST'"
#### STEP 5 #####################################################################################################
if Current Item:Status equals "Awaiting deployment to 'TEST'"
Start CR Build Management Approval (TEST) process on Current Item with "CR Build Management"
if Variable:IsItemApproved2 equals "Yes"
Set "Status" to "Awaiting deployment to 'LIVE'" // Step 6
else
Set "Status" to "Allocated to developer - bugs found" // Step 4
#### STEP 6 #####################################################################################################
if Current Item:Status equals "Awaiting deployment to 'LIVE'"
Start CR Publish Authorisation process on Current Item with "CR Board Authorisation"
if Variable:IsItemApproved3 equals "Yes"
Start CR Build Management Approval (LIVE) process on Current Item with "CR Build Management"
if Variable:IsItemApproved4 equals "Yes"
Set "Status" to "Completed"
then Stop the workflow
else
Set "Status" to "Allocated to developer - bugs found" // Step 4
else
Set "Status" to "Rejected by board"
#################################################################################################################**strong text**
and a diagram that shows how it should work. Hopefully you can follow it:

Cheers
Gavin