用VS2005开发审批工作流(1)
用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)
在 操作 下方选择 使用数据连接进行提交 ,点击 添加
:
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




