教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

用VS2005开发审批工作流(1)

来源:网络收集 时间:2026-09-07
导读: 用VS2005开发审批工作流(1) 用VS2005开发审批工作流(1) -----------------------------杨柏山 废话不说,小菜这就带大家直奔主题吧。Let’s Go. 由于小菜本人水平有限,文档中难免有疏漏错误之处,还请各位多加海涵,予以批评指正,谢谢。(还是废话了一把

用VS2005开发审批工作流(1)

用VS2005开发审批工作流(1)

-----------------------------杨柏山

废话不说,小菜这就带大家直奔主题吧。Let’s Go.

由于小菜本人水平有限,文档中难免有疏漏错误之处,还请各位多加海涵,予以批评指正,谢谢。(还是废话了一把,汗!)

1,前期准备

要用VS2005开发工作流,我们前期需要对开发环境做一些准备,如下:

SharePoint Server 2007 Visual Studio 2005 InfoPath 2007

.NET Framework 3.0 ()

Visual Studio 2005 Extensions for Windows Workflow Foundation (载)

ECM Starter Kit for Visual Studio 2005 () 大家看看自己还差哪些,赶快去下载安装。

哦,有些已经安装好的朋友可能会提出些疑问:俺的工具箱里咋就几个东东嘞,难道是俺人品有问题??

小菜这里明确告诉大家不是诸位的人品问题,呵呵,而是微软的产品还没做到尽善尽美(大家一起鄙视比尔那家伙)。诸位跟着小菜一步一步做就OK了。 A, 先在工具箱上右击一下,选择重置工具箱(这一步看具体情况)。

B, 在Visual Studio 2005工具箱的空白处点击右键 > 添加选项卡 > 添加一个名为 SharePoint Workflow Actions 的选项卡.

C, 在SharePoint Workflow Actions空白处点击右键 > 选择项 > .NET Framework 组件.

D, 添加所有命名空间为Microsoft.SharePoint.WorkflowActions的组件,如图所示: 就是这个样子的

用VS2005开发审批工作流(1)

注: 安装ECM starter kit之后如果出现项目模板丢失的情况请参考<< Visual 2005 新建项目对话框中项目模版消失的解决方案>>

2,正式开工咯,设计下流程界面先

2.1创建项目

在Visual Studio 2005中创建基于SharePoint Sequential Workflow模版的项目LetsGotoWorkfolw.:

项目建好了之后,在解决方案管理器中可以看到当前项目包含的文件:

用VS2005开发审批工作流(1)

就是这个样子的

其中feature.xml,workflow.xml和Install.bat是部署文件,Workflow1.cs是工作流文件。

双击打开Workflow1.cs,进入工作流的Design模式,将看到如图所示的工作流:

就是这个样子的

此时工作流中只有一个onWorkflowActivated活动,所有SharePoint工作流都必须从这个活动开始.

onWorkflowActivated活动有一些属性值得我们注意:

CorrelationToken : Correlation Token 是将若干相关联的活动映射到同一集合的标识符,其作用与某些编程语言中RadioButtion组件的GroupId属性类似,注意不要为任务活动和工作流活动指定相同的CorrelationToken.

OwnerActivityName : 活动的父容器名称,建议设置为活动的最小父容器名称,尤其当活动被包含在While活动中时.

WorkflowProperties : 此属性包含了工作流初始信息,比如启动工作流的人员,列表项,时间等等.

用VS2005开发审批工作流(1)

2.2设计工作流流程图

先简要说明本工作流所要实现的功能,在工作流启动的时候先指定一串审批人的姓名,然后工作流会根据这个名单依次为每个审批者创建任务,每个审批者通过审批才会给下一个审批者创建任务,直到所有审批者通过审批,工作流结束。

(小菜友情提示:如果现在还不是很明白,不要紧,随着我们工作的逐步展开,相信读者到时会说:我靠,这么简单,浪费大爷的时间。 到时还请海涵)

工作流设计好就是这个样子的。

用VS2005开发审批工作流(1)

简单做一下说明:

WhileActivity类似C#语法中的While()循环,不同的是WhileActivity的条件

(Condition)可以是代码(Code Condition),也可以是规则(Delarative Rule Condition).

由于WhileActivity只能包含一个子活动,所以我们还需要在每个WhileActivity中添加一个SequenceActivity作为添加多个活动的”容器”.

这下兄弟姐妹们应该有点明白了,流程里一共两个循环,外层循环控制工作流在一串审批者名单依次往后走,里层循环是走到哪个审批人时判断一下有没有通过审批,通过了就跳出循环,由外层循环带领大家继续往前走,通不过就在原地等吧,直到通过为止。(哦,要是还是不明白,小菜猜想官人肯定游戏过度,脑袋眩晕中,呵呵)

诸位应该都注意到了,流程中有不少红圈圈,聪明的朋友应该想到了,对拉,那是我们还有一些设置没有完成。

上文提及的CorrelationToken和WorkflowProperties等等一些属性没有设置呢。

大家莫急,跟着小菜一起把那些烦人的红圈圈给去掉。Let’s GOOO!

先是CreateTask

A,把CorrelationToken设成taskToken, OwnerActivityName设成SequenceActivity1。 B,再来设下TaskId, 点击

右边的

按钮,在弹出的

对话框中选择 Bind to a new member ,设置 new member name为taskId, Choose a type of member to create 选择 Create Field , 点击 OK 确定,如图所示:

用VS2005开发审批工作流(1)

D,以同样的方法创建名为 taskProps 的 TaskProperties 属性.

恩,这样啊,简单得很(四川口音)。

我们就依葫芦画瓢给OnTaskChanged.和CompleteTask给设一下,CorrelationToken和TaskId还是跟前面一样的,我们只需把OnTaskChanged的两个属性AfterProperties和BeforeProperties分别设成afterProps和beforeProps就可以拉。

OK,搞定。现在整个流程只有两个循环上还有红圈圈,因为循环肯定有控制条件,而小菜还没给设,所以。。。。这个好办,我们只要在代码里写两个函数,然后回到界面点点鼠标就好了。

至此界面设计已经大功告成了,香一个。------韦小宝语 跑了,郁闷。。。。

3,InfoPath表单设计

我们采用InfoPath表单作为工作流的表单来收集信息,这样做的一个好处是它不仅可以显示在SharePoint Server 站点上,还可以在Office客户端应用程序中显示,这样用户不用打开浏览器就可以参与工作流了.

我们一共需要设计两张表单,一张用于初始化,启动工作流,指定审批者名单。还有一张给审批者审批用。

A, 下面我们来设计第一张表单,用于启动工作流的Init表单.

先来新建一张表单

打开 InfoPath 2007 > 设计表单模板 > 选择 空白 模板并勾选 仅启用浏览器兼容性功能 设计好了就是这个样子的

嘿嘿,难看吧,没办法,小菜没有学过美工,就请海涵了。

我们一共只使用了三个控件,两个文本框,一个按钮。

在 设计任务面板 中点击 数据源 ,打开 数据源面板 ,修改域组的名称由

用VS2005开发审批工作流(1)

myFields修改为 Init.

这样做的原因是 InfoPath表单模板中主数据源的根域组名称 = 表单架构的根元素名称 = 表单类名称 :

两个文本框只要给它们改下名字就好了,那个启动按钮有点麻烦。Follow Me.

双击 按钮 控件,将其标签修改为 启动工作流 ,点击 规则

:

点击 添加

:

点击 添加操作 :

用VS2005开发审批工作流(1)

在 操作 下方选择 使用数据连接进行提交 ,点击 添加

:

选择 …… 此处隐藏:2982字,全部文档内容请下载后查看。喜欢就下载吧 ……

用VS2005开发审批工作流(1).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/95567.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)