SharePoint状态机工作流解决方案(三)

内置缺省流程逻辑的SharePoint状态机

在前文中我们提到,SharePoint 的任务封装机制决定了它的状态机应用存在两个问题,一个是多人审 批时,需要为每个审批人都添加一个EventDrivenActivity;另一个是审批人数在设计期就必须确定。

这两个问题有没有办法解决呢?幸亏 WF 提供了流程动态修改的功能,我们可以从 StateActivity 继 承一个自己的 State 活动,在状态执行前根据审批人的数量,在状态中动态添加 CreateTask、 EventDrivenActivity 和 OnTaskChanged 活动。

自定义 State 活动的 Execute 方法的代码逻辑。

采用自定义 State 活动实现的状态机工作流的设计期流程图

注意 审批_Initialization 是为了设计期展现流程逻辑而增加的,运行时会被删除,重新生成运行时 的 审批_Initialization。

时间: 2025-01-30 16:08:03

SharePoint状态机工作流解决方案(三)的相关文章

SharePoint状态机工作流解决方案(二):SharePoint中的WF状态机

在前文中我们提到 SharePoint 是在 WF 工作流引擎之上,封装了事件驱动接口的一个工作流平台: SharePoint 在 WF 上扩充了很多 Activity,其中和 WF 密切相关的有三个常用 Activity是: OnWorkflowActivated,CreateTask,OnTaskChanged. 一个简单的 SharePoint 顺序流. OnWorkflowActivated:响应流程启动的事件. CreateTask:生成 SharePoint 的任务. OnTaskC

SharePoint状态机工作流解决方案(一):为什么要用状态机

以前一直是作 Windows Workflow Foundation 的工作流平台,对 WF 比较熟悉,开发的工作流平台满 足了公司实施的各种项目的工作流应用的需求. 最近作了一个 SharePoint 文档库项目,里面的审批流程,涉及到 SharePoint 工作流:一直都听说 SharePoint 下没有成熟的工作流解决方案,但接触了以后发现,SharePoint 是一个非常好的工作流平台 :虽然在实际应用中还有一些设计和技术上的问题需要解决,可这些问题解决以后,SharePoint 工作流

SharePoint 2010工作流解决方案之向工作流中添加应用程序页

向工作流中添加应用程序页 修改工作流代码 首先,向工作流中添加一行代码,以将"Outcome"(结果)列的值设置为零报销单上显示的金额. 以后会在报销单汇总计算中用到此值. 设置工作流中的"Outcome"(结果)列的值 1.将在SharePoint 2010 工作流解决方案:创建带有关联窗体和启动窗体的工作流 主题中完成的项目加载到 Visual Studio. 2.打开 Workflow1.cs 代码 3.将以下代码添加到 createTask1_MethodI

SharePoint 2010工作流解决方案简介

目前很多人都在利用sharepoint 在做工作流, sharepoint 在07的时代只有两种方式开发工作流,一种是利用SharePoint designer做无代码开发的工作流, 另外一种是利用vs开发代码工作流. 这两种工作流开发方式,对于没有wf开发经验的来说,推荐使用designer 开发工作流. 在SharePoint 2010中加入了用visio 图形化制作工作流,个人感觉没啥大用.完全是浪费时间. SharePoint 的工作流引擎使用windows workflow found

SharePoint 2010工作流解决方案之将SharePoint Designer可重用工作流导入VS

将 SharePoint Designer 可重用工作流导入 Visual Studio 在 SharePoint Designer 中创建的工作流(即,声明性工作流)由 XML 语句组成,而非由代码组成. SharePoint Designer 2010 引入了可重用工作流,它们是可由 SharePoint 站点中的不同列表使用的可移植的声明性工作流. 在 Visual Studio 2010 中创建的工作流(如顺序工作流和状态机工作流)称为"代码工作流". 代码工作流由 XML 文

SharePoint 2010工作流解决方案之创建自定义网站工作流活动

创建自定义网站工作流活动 首先,创建一个用来包含和测试自定义工作流活动的项目. 创建网站工作流自定义活动项目 1.通过指向"文件"菜单上的"新建"并单击"新建项目",显示"新建项目"对话框. 2.展开"Visual C#"下的"SharePoint"节点,然后单击"2010". 3.在"模板"窗格中选择"顺序工作流". 4.在&

SharePoint 2013 状态机工作流之日常报销示例

原文:SharePoint 2013 状态机工作流之日常报销示例 简单介绍下状态机工作流,状态机工作流提供了一系列的状态.工作流从初始状态开始,到终止状态结束.两个状态之间定义行为进行过渡.通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变. 1.新建项目,选择SharePoint解决方案,创建空项目: 2.选择调试站点,部署为场解决方案,如下图: 3.添加新项,选择"Office/SharePoint"下面的"状态机工作流(仅场解决方案)": 4

SharePoint 2013状态机工作流:日常报销示例

简单介绍下状态机工作流,状态机工作流提供了一系列的状态.工作流从初始状态开始,到终止状态结束.两个状态之间定义行为进行过渡.通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变. 1.新建项目,选择SharePoint解决方案,创建空项目: 2.选择调试站点,部署为场解决方案,如下图: 3.添加新项,选择"Office/SharePoint"下面的"状态机工作流(仅场解决方案)": 4.选择列表工作流,修改工作流名称为"日常报销"

SharePoint 2013状态机工作流的扩展自定义状态

当我们使用SharePoint 2013的状态机工作流时,发现一个非常不爽的事情,就是SharePoint 所有的工作流状态,都是固定的那些,没办法显示我们自定义的状态,后来经过Google发现,原来这个状态是可以自定义的. 自定义状态步骤 1.修改xml添加MetaData下面的扩展项: <ExtendedStatusColumnValues>  <StatusColumnValue>测试状态1</StatusColumnValue>  <StatusColum