2011-11-03 37 views
0

我在處理SharePoint文檔批准流程,這裏是場景:文檔上載到文檔庫中,並啓動審批流程。創建任務並將其分配給只有一個組成員可以完成任務的組(Active Directory組)。 需要的是修改字段和批准字段,以顯示完成該任務的用戶的名稱,而不是該任務分配給的組名。SharePoint文檔批准工作流程,已通過字段進行了修改和批准

1)我嘗試了開箱即用的工作流程,並且如果顯示系統帳戶爲完成任務的用戶。 2)我已經嘗試了SPD批准工作流程,並顯示分配給的組名稱。 3)我試過VS序列工作流程:

在VS工作流程中,我可以將正確的用戶設置爲兩個字段(經過修改和批准),並且作爲我需要設置批准內容的最後一步狀態如下:

item.ModerationInformation.Status = SPModerationStatusType.Approved; (如果獲得批准)

但是,這是以系統帳戶權限運行,而不是當前用戶,因此它會將已批准的字段重置爲系統帳戶,並且如果我交換我的步驟序列並首先設置內容狀態,字段最後,顯然我正在對該項目進行修改,以便內容狀態變回草稿。

有沒有辦法可以運行這個item.ModerationInformation.Status = SPModerationStatusType.Approved;在當前用戶下?或者我能以任何方式實現我的目標?

回答

0

我會建議單獨留下系統列併爲您的目的創建一組完全不同的列。

所以創建列:「項修改者」,

然後寫當前用戶對這些字段「批准者項目」。

最後,從默認視圖中刪除系統生成的「修改者」和「批准者」,並將其替換爲「修改者」和「項目批准者」列。

+0

非常感謝回覆,我也這麼想過,但版本歷史記錄在這種情況下非常重要,我相信版本歷史記錄會使用這些系統列,除非有方法使用自定義列中的信息填充版本歷史記錄。 –

相關問題