Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SharePoint文档审批工作流,按字段修改和审批_Sharepoint_Workflow - Fatal编程技术网

SharePoint文档审批工作流,按字段修改和审批

SharePoint文档审批工作流,按字段修改和审批,sharepoint,workflow,Sharepoint,Workflow,我正在处理SharePoint文档审批流程,下面是一个场景:文档上载到文档库中,然后启动审批流程。创建任务并将其分配给组Active directory组,其中只有一个组成员可以完成任务。所需的是“修改人”和“批准人”字段,以显示完成任务的用户的名称,而不是任务分配给的组名称 1我已尝试了开箱即用的工作流,if将系统帐户显示为完成任务的用户。 2我尝试过SPD审批工作流,它显示分配给的组名。 3我尝试过VS顺序工作流: 使用VS workflow,我可以将正确的用户设置为“修改人”和“批准人”两

我正在处理SharePoint文档审批流程,下面是一个场景:文档上载到文档库中,然后启动审批流程。创建任务并将其分配给组Active directory组,其中只有一个组成员可以完成任务。所需的是“修改人”和“批准人”字段,以显示完成任务的用户的名称,而不是任务分配给的组名称

1我已尝试了开箱即用的工作流,if将系统帐户显示为完成任务的用户。 2我尝试过SPD审批工作流,它显示分配给的组名。 3我尝试过VS顺序工作流:

使用VS workflow,我可以将正确的用户设置为“修改人”和“批准人”两个字段,作为最后一步,我需要设置批准内容状态,如下所示:

item.ModerationInformation.Status=SPModerationStatusType.Approved;如获批准

但这是在系统帐户权限下运行的,而不是在当前用户的权限下运行的,因此它会重置由back to system account批准的字段,如果我先交换步骤顺序并设置内容状态,然后再更新字段,显然我正在对项目进行修改,以便内容状态变回草稿


是否有办法运行此项目。审核信息。状态=SPModerationStatusType.Approved;在当前用户下?或者我能以什么方式实现我的目标?

我建议不要使用系统列,而是为您的目的创建一组完全不同的列

因此,创建列:Item Modified By,Item Approved By

然后将当前用户写入这些字段


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

非常感谢您的回复,我也想到了这一点,但版本历史在这种情况下很重要,我相信版本历史使用这些系统列,除非有办法用自定义列中的信息填充版本历史记录。