SharePoint 2013 实现多级审批工作流
上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作流。
审批工作流介绍
这个Demo是基于多级审批工作流。以古代上传奏折为场景,共分为3个阶段。当创建者上传奏折时,首先会由对应的上级领导审批,审批通过,交付对应的下一级,审批拒绝时,则整个流程结束,具体的官阶信息如下所示:

然后,我们预先设定,以文档库来作为我们的上报奏折库,所以我们需要为其设定自定义的多级审批工作流。最后创建自定义的Task来存放待审批的任务。
创建多级审批工作流
- 首先,我们可以创建多个审批Stage(阶段),每一阶段处理不同的流程,如下所示:

- 接着,在Starting Stage,插入Set Workflow Status(设置工作流状态),输入"审批中",然后再插入Set Workflow Variable(设置工作流变量)来创建一个新变量,如下所示:

- 然后,点击新建的变量(Approver)的Value链接,选择Define workflow lookup(定义工作流查阅项)Function,为了得到当前用户的上级领导,故在弹出的窗体中设置以下值:

- 接上一点,一级审批者通过后,需要将任务分配给二级审批者,和上操作一样,不同之处是需要将查询条件换为FirstApprover,具体实现如下图所示:

- 然后,我们需要最重要的一步,分配审批任务给待审批人,所以需要插入另一个Activity:Start a Task process(开始任务进程),点击these users(这些参与者)链接来负责启动任务,具体参数如下所示:

- 最后,插入IF…ELSE条件,当审批为Approved时,跳转至Approved Stage,否则,跳转至Rejected Stage。如下所示:

- 因为,我们工作流最终目的是实现多级审批,即一级审批通过,交给二级审批人,依次审批下去。当审批拒绝时,工作流结束,所示稍稍完善下上面的实现方式,具体流程如下实现:

- 为了让分配的任务更加细化,让每人只能看到自己的任务,需要在Task中设置Filter,如下所示:

查找工作流异常
工作流发生异常很难找到, SharePoint 2013 Designer Workflow当发生异常时会抛出异常,比如500错误。排查这个异常非常麻烦,需要你的经验法则。比如在Workflow Management数据库中存在一张表DebugTraces会记录发生的错误,如下所示(Name为中文情况下,SharePoint会自动分配16进制的编码来表示Name,这样可能会发生一些意想不到的错误):

测试工作流
在文档库中上传一个奏折,将启动工作流,如下截图所示即为3级审批工作流审批流程日志:

小结
细心的朋友已经发现了,我没有去控制Task的权限,而是用了Filter来进行过滤。事实上,在Task任务库中,每个人(而非指定的Assign To对象)都可以启动(编辑、删除)任务。所以怎样用SharePoint Designer 2013去打断权限继承,只给Assign To的用户分配编辑权限,这实在让我很纠结。
SharePoint 2013 实现多级审批工作流的更多相关文章
- 跟我学SharePoint 2013视频培训课程—— 审批、拒绝列表项(13)
课程简介 第13天,怎样在SharePoint 2013中审批.拒绝列表项. 视频 SharePoint 2013 交流群 41032413
- SharePoint 2013 Designer工作流——Parallel Block的应用
参考目录 安装和配置SharePoint 2013 Workflow SharePoint 2013 实现多级审批工作流 在自定义Workflow时,往往会遇到这样场景,某个审批需要被多人查阅,每个查 ...
- SharePoint 2013 工作流之年假审批Designer配置篇
本文介绍SharePoint 2013 使用Designer工具,设计年假审批工作流,由于流程所用的条件和操作都比较简单,所以演示为主,最后附流程图和流程的文本图,有兴趣的可以参照实验.如果对于Des ...
- SharePoint 2013 状态机工作流之日常报销示例
简单介绍下状态机工作流,状态机工作流提供了一系列的状态.工作流从初始状态开始,到终止状态结束.两个状态之间定义行为进行过渡.通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变. 1. ...
- SharePoint 2013 工作流之使用Designer配置示例篇
在SharePoint 2013中,支持SharePoint Designer 2013(以下简称SPD)配置简单的工作流,完成我们的业务需要.下面,我们就举一个小例子,实现SPD配置工作流. 1. ...
- SharePoint 2013 工作流设计之Designer 使用“可视化视图”
SharePoint 2013增强了工作流功能,而Designer里面也添加了可视化设计视图,也就是类似Visio的设计视图(需要Visio 2013支持),下面我们简单介绍下,在可视化视图下,使用工 ...
- SharePoint 2013 工作流平台的选项不可用
问题描述 当我想创建一个SharePoint 2013 工作流的时候,打开SharePoint 2013 Designer(一下简称SPD),发现没有SharePoint 2013 工作流的选项.原来 ...
- SharePoint 2013 工作流之使用Visio设计篇
SharePoint 2013增强了工作流,不仅仅基于WorkFlow Foundation 4.0了,设计方式也不仅仅是Designer,还包括Visio中设计,下面我们就一个简单的例子,介绍下. ...
- SharePoint 2013 工作流之Visual Studio开发示例篇
SharePoint 2013引用了WF4.0 Foundation,支持使用Designer和Visio进行设计,但是功能受限,而Visual Studio可以开发功能更加丰富的工作流,下面我们简单 ...
随机推荐
- 微信小程序 - 分包加载(预下载)
开发者可以通过配置,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度.对于独立分包,也可以预下载主包. 配置方法 预下载分包行为在进入某个页面时触发,通过在 a ...
- 008-Go 关于字符串拼接
如果是少量小文本拼接,用 “+” 如果是大量小文本拼接,用 strings.Join 如果是大量大文本拼接,用 bytes.Buffer package main import( "fmt& ...
- ActiveMQ 基于zookeeper的主从(levelDB Master/Slave)搭建以及Spring-boot下使用
0:说明 ActiveMQ 5.9.0新推出的主从实现,基于zookeeper来选举出一个master,其他节点自动作为slave实时同步消息.因为有实时同步数据的slave的存在,master不用担 ...
- 顺利编译 binutiles-gcc-glibc
恩,前面一篇弃了,先知道怎么能成功,还有要避开哪些坑,然后再去仔细研究到底咋回事. 这里顺利编译 arm-lfs-linux-gnueabi , 参考了下面的资料: 1. <Linux From ...
- PowerDesigner使用笔记
一:PDM模版使用 1:新建model:File——new model——选择PDM,填上名字.数据库类型 2:右侧工具类使用 3:创建表与配置 点击右侧工具栏中table控件,移动到模版面板内点击一 ...
- 如何去掉browserLinkSignalR
在使用vs开发时查看源代码可以发现最下面有以下代码,此段代码会一直请求网络,感觉不爽的可以这样去掉: <!-- Visual Studio Browser Link --> <scr ...
- storm中worker、executor、task之间的关系
这里做一些补充: worker是一个进程,由supervisor启动,并只负责处理一个topology,所以不会同时处理多个topology. executor是一个线程,由worker启动,是运行t ...
- C#正则表达式匹配HTML中的图片路径
最近的项目中有个关于网页取图的功能需要我自己开发,那就是用正则表达式来匹配图片标签. 一般来说一个 HTML 文档有很多标签,比如“<html>”.“<body>”.“< ...
- 2、redis原生的命令操作不同数据类型
一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 String是最简单的类型,一个key对应一个v ...
- 使用urllib2实现图片文件下载
# -*- coding: utf-8 -*- #python 27 #xiaodeng #使用urllib2实现图片文件下载 #来源:my2010Sam import urllib2 import ...