上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作流。
这个Demo是基于多级审批工作流。以古代上传奏折为场景,共分为3个阶段。当创建者上传奏折时,首先会由对应的上级领导审批,审批通过,交付对应的下一级,审批拒绝时,则整个流程结束,具体的官阶信息如下所示:
然后,我们预先设定,以文档库来作为我们的上报奏折库,所以我们需要为其设定自定义的多级审批工作流。最后创建自定义的Task来存放待审批的任务。
工作流发生异常很难找到, SharePoint 2013 Designer Workflow当发生异常时会抛出异常,比如500错误。排查这个异常非常麻烦,需要你的经验法则。比如在Workflow Management数据库中存在一张表DebugTraces会记录发生的错误,如下所示(Name为中文情况下,SharePoint会自动分配16进制的编码来表示Name,这样可能会发生一些意想不到的错误):
在文档库中上传一个奏折,将启动工作流,如下截图所示即为3级审批工作流审批流程日志:
细心的朋友已经发现了,我没有去控制Task的权限,而是用了Filter来进行过滤。事实上,在Task任务库中,每个人(而非指定的Assign To对象)都可以启动(编辑、删除)任务。所以怎样用SharePoint Designer 2013去打断权限继承,只给Assign To的用户分配编辑权限,这实在让我很纠结。