MOSS多级审批工作流【Sequential+ConditionedActivityGroup版】v1.1

今年二月份,我开发了一个MOSS多级审批工作流,它实现了如下图所示的流程:

之后我在《SharePoint多级审批工作流开发文档[Sequential版]》这篇文档中详细的描述了整个开发过程并提供了项目源码下载。

其实我在匆匆的写这篇文档的时候,对MOSS和WF连一知半解都谈不上。

所以为了实现审批流程中常见的动作-“回退”,我用了好几层的While和IfElse嵌套,最终整个工作流的流程图如下:

看着这么长而且繁复的流程图就知道这是比较笨的方法了。

最近终于决定腾出一个分区安装了Windows Server 2003 和MOSS,然后把这个审批工作流改了一下,现在的流程图是这样的:

清爽了很多吧?

忘记那些讨厌的While+IfElse嵌套吧,我们只需要一个活动就可以代替它们: ConditionedActivityGroup。

简单的介绍一下ConditionedActivityGroup活动:

可以包含多条分支;

每条分支都有一个WhenCondition条件用来决定它是否可以被执行;

如果不设置分支的WhenCondition条件,那么这个分支只会在第一次循环的时候执行;

ConditionedActivityGroup的UntilCondition条件可以决定什么时候结束该活动,如果UntilCondition条件一直不满足,ConditionedActivityGroup就一直循环;

如果没有设置UntilCondition条件,则ConditionedActivityGroup会一直循环直到它的分支都不再执行为止。

也可以把ConditionedActivityGroup理解为一条包含若干if语句的do…until语句。

修改后的工作流项目下载:ApprovalSequentialEdition_with_CAG.zip

最后谢谢一些朋友对《SharePoint多级审批工作流开发文档[Sequential版]》这篇文档的支持,本文对其实现进行了改进,但是我必须说,审批这样的流程并不适合用顺序工作流来实现,用WF的另外一种工作流-状态机工作流会更好。

本文写给一些总喜欢在顺序工作流里实现回退的朋友。

2007年8月5日更新部分代码,修正某些情况下任务的分配对象会丢失地问题.

 

来源:http://coding.windstyle.cn/2007/08/01/moss-multi-level-approval-workflow-sequential-and-conditionedactivitygroup-edition/

转载于:https://www.cnblogs.com/greeny/archive/2010/09/15/1827008.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值