我是SharePoint新手,但我學得很快。如何通過僅更新列表項中的值(已批准,未批准)來觸發SharePoint工作流?
我想僅在列表項中更新值時觸發工作流,但不是每次更改項時都會觸發工作流。例如,我有一個批准/不批准的列,我希望這是觸發器而不是項目中的其他值。因此,如果有其他更改,工作流程將不會啓動,除非「批准」值爲。
所有幫助表示讚賞!
謝謝,
我是SharePoint新手,但我學得很快。如何通過僅更新列表項中的值(已批准,未批准)來觸發SharePoint工作流?
我想僅在列表項中更新值時觸發工作流,但不是每次更改項時都會觸發工作流。例如,我有一個批准/不批准的列,我希望這是觸發器而不是項目中的其他值。因此,如果有其他更改,工作流程將不會啓動,除非「批准」值爲。
所有幫助表示讚賞!
謝謝,
如果你想以編程方式做到這一點...
創建ItemUpdating事件處理程序,並將其連接到你的目標名單。我會創建一個功能和功能接收器來完成附件。
在ItemUpdating事件處理程序中,有兩個值,你想看看: properties.ListItem [「審批」]這會給你原來值 properties.AfterProperties [「審批」]這是更新值
檢查,如果兩個值不相等,如果更新值等於「批准」。如果兩個都是真的,在列表項目啓動工作流programmatically-這裏有一些鏈接,幫你:
http://www.tonytestasworld.com/post/Howto-Start-a-Sharepoint-Workflow-Programmatically.aspx
編碼愉快!
您可以在SharePoint Designer中執行此操作。
希望它有幫助。
你可能需要兩個工作流,一個隱藏字段和「啓動另一個工作流活動」(可在CodePlex找到)
工作流程1是被設定,當一個項目發生變化,開始一個輔助的工作流程: 它檢查是否status等於隱藏字段 如果是出口 如果沒有,那麼啓動工作2和隱藏字段設置爲狀態的當前值
工作流程2是那麼真正的工作流程這是你想要的時候狀態是什麼改變了
首先創建一個名爲「工作流狀態」隱藏的數字字段設置爲默認值設置爲「0」
創建工作流程,將啓動雙方的創造和項目,並在修改
工作流程的第一步是將字段「工作流程狀態」增加「1」
第二步是驗證值是2,它應該表明工作流程第一次被修改d。
只是表示狀態。
工作流程狀態= 1:項目已創建 2:項目已經第一次修改 3:項目已被第二次修改。
@Marius:工作流中的第一步應該是比較字段值並提供邏輯分支。如果這個值等於你想要的值,那麼運行worlflow。如果沒有,請停止工作流程或執行其他操作。如果收到的電子郵件有任何修改,那麼你的流量就會出錯。
Martin的解決方案非常簡單,但您也可以通過使用內容類型進行擴展,以允許執行其他操作的審批流程。
阿里, 謝謝,但是這是我已經成立。問題在於,在更新值之後,每當項目發生更改(其他列觸發工作流程的那一列)時,工作流程就會重新執行,並且在我的情況下會重新發送一封電子郵件(它已設置爲操作:發送電子郵件)。其他建議? 謝謝, – Marius 2009-07-25 01:13:47