2011-11-03 36 views
0

我在处理SharePoint文档批准流程,这里是场景:文档上载到文档库中,并启动审批流程。创建任务并将其分配给只有一个组成员可以完成任务的组(Active Directory组)。 需要的是修改字段和批准字段,以显示完成该任务的用户的名称,而不是该任务分配给的组名。SharePoint文档批准工作流程,已通过字段进行了修改和批准

1)我尝试了开箱即用的工作流程,并且如果显示系统帐户为完成任务的用户。 2)我已经尝试了SPD批准工作流程,并显示分配给的组名称。 3)我试过VS序列工作流程:

在VS工作流程中,我可以将正确的用户设置为两个字段(经过修改和批准),并且作为我需要设置批准内容的最后一步状态如下:

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

但是,这是以系统帐户权限运行,而不是当前用户,因此它会将已批准的字段重置为系统帐户,并且如果我交换我的步骤序列并首先设置内容状态,字段最后,显然我正在对该项目进行修改,以便内容状态变回草稿。

有没有办法可以运行这个item.ModerationInformation.Status = SPModerationStatusType.Approved;在当前用户下?或者我能以任何方式实现我的目标?

回答

0

我会建议单独留下系统列并为您的目的创建一组完全不同的列。

所以创建列:“项修改者”,

然后写当前用户对这些字段“批准者项目”。

最后,从默认视图中删除系统生成的“修改者”和“批准者”,并将其替换为“修改者”和“项目批准者”列。

+0

非常感谢回复,我也这么想过,但版本历史记录在这种情况下非常重要,我相信版本历史记录会使用这些系统列,除非有方法使用自定义列中的信息填充版本历史记录。 –

相关问题