2012-01-15 78 views
1

我已經繼承了SharePoint工作流程,但它似乎有間歇性問題,我不確定從何處開始調試。Sharepoint工作流創建新任務項目兩次? (SP 2007)

用戶在列表中創建新項目並保存 - 他們可以編輯該項目直到它被批准(下一步)。

管理員批准的項目 - 觸發第一個工作流

Create new Task Item in relevant list 

新的任務項目的工作流程觸發自動上創建

IF 
    matching item in Copy list, send warning email and exit. 
ELSE 
    Create item in "Copy" list 

這意味着,如果由於某種原因,該項目獲得批准兩次,和兩個創建任務(例如,兩個管理員同時批准),則發送警告電子郵件以防止兩個任務被執行。

但是,只是偶爾,並根據情況下我不能解決,沒有警告電子郵件發送。創建了兩項任務,該項目位於副本列表中,但未收到警告電子郵件。

這種情況很少發生,但由於這些任務與金融交易有關,其後果可能很大。

我已經查看了任務和複製上的時間戳,並且複製項目創建和第一個項目創建完全相同......第二個任務創建日期在一分鐘後。這意味着,據我瞭解,第二個任務WF 應該每次都找到複製項目?

我已經嘗試了很多場景,讓用戶和兩個管理員同時批准/保存該項目。這正確觸發了3個工作流程(新任務)並生成了兩個警告電子郵件。我無法弄清楚如何讓工作流觸發不發送電子郵件警告。

關於如何解決這個問題和調試的任何想法?

還是更好,如何防止這種情況發生?

順便說一句:我很新的SharePoint/SP設計器!

回答

1

從描述中,聽起來好像兩個批准都在同一時間完成。這是可能的,因爲它可能同時處理兩個批准,並且複製列表尚未填充第一個項目,因此沒有任何項目可以與第二個項目進行比較。 (想象一下,在寫第一個項目時列表被鎖定,讀取第二個項目總是會失敗)。

使用工作流程,您無法保證或預測處理時間或事件順序。

爲了解決這個問題,我建議您在批准時向當前項目添加類似「批准時間戳」的內容。然後,可以通過檢查當前項目中是否存在批准時間戳(如果存在,否認批准)來阻止其批准兩次。

然後,您可以確定審批機制不能在單個項目上被多次觸發,其餘的任務創建和副本列表函數也應該如此。

+1

謝謝,我會研究這種工作方式並試一試。 – BlueChippy 2012-01-23 07:10:09

相關問題