bifa365必发支出工作流模板

使用Visual Studio 200玖 开发工作流模板

本节描述接纳Visual
Studio
二零零六开销SharePoint工作流模板的貌似步骤和方法。为了使读者更好地知道本节的剧情,本节在讲述基本原理和操作的同时会有意无意讲解多个实例工作流的开发,这一个工作流是八个文书档案审查批准工作流:提交者上传文档,然后运转工作流,最后交给给审查批准人审查批准。

 创设工作流项目

Step一 
新建项目。打开Visual Studio 二零零六新建项目,选取”Workflow”中的”SharePoint 200柒 Sequential
Workflow”项目模板,如图一所示。

bifa365必发 1

图1 
新建项目

Step二 
钦定调节和测试工作流所用的站点路径,如图2所示。

bifa365必发 2

图2内定调节和测试工作流所用的站点路径

Step叁 
钦赐工作流用来调节时增大到的列表。若列表不存在,则先到站点中创立,如图三所示。

bifa365必发 3

图三 
制定工作流用来调节时增大到的列表

Step4 钦点工作流动调查节和测试时的起步情势为手工运转,如图肆所示。

bifa365必发 4

图肆 
钦点工作流调节和测试时的起步方式

上述操作完毕之后,可以见见VS
贰零1零中如图伍所示的布局。该图中上手工业具栏上是系统提供的兼具活动组件,中间是工作流设计器界面,右边是种类文件。

bifa365必发 5

图5操作完后的布局

SharePoint 二零零五Sequential
Workflow项目模板会活动抬高二个OnWorkflowActivated活动,那几个运动在工作流运转的时候实施,它的WorkflowProperties属性绑定到工作流的workflowProperties字段,workflowProperties的类型是SPWorkflowActivationProperties,存放了跟工作流相关的多寡,如表6所示。

表六SPWorkflowActivationProperties属性表明

属    性

类    型

说    明

AssociationData

String

工作流关联数据,通过关联表单提供 

HistoryList

SPList

存放工作流历史记录的列表

HistoryListId

Guid

存放工作流历史记录的列表ID

InitiationData

String

工作流初始化数据,通过初始化表单提供

Item

SPListItem

工作流附加到的列表项对象

List

SPList

工作流附加到的列表

Originator

String

启动工作流的用户账号

OriginatorUser

SPUser

启动工作流的用户对象

Site

SPSite

工作流运行的站点集

Web

SPWeb

工作流运行的网站

TaskList

SPList

存储工作流任务的列表

 任务的分红

SharePoint工作流是任务使得的工作流,工作流依据各类逻辑分配任务给用户,用户通过成就职责跟工作流举行互动,驱动流程前进。职责分配跟以下多少个移动有关。

l         createTask:通过createTask活动创办职责,工作流代码必须处理createTask活动的MethodInvoking事件,创造任务ID,钦点义务操效率户。     

l         onTaskChanged:通过onTaskChanged活动,等待用户实现职务,并得以处理Invoked方法,遵照用户的输入举办逻辑处理。

l         completeTask:通过completeTask活动,达成用户的职分。

3个任务的分配进度,都以索要以上二个运动进展合作的。上边是现实分配职务的操作进度。

Step一 
从工具栏中拖曳createTask到设计器中,如图七所示。

Step2 
指定createTask活动的CorrelationToken属性为”task1Token”,OwnerActivityName为”Workflow1″,如图8所示。

图7  从工具栏中拖曳CreateTask到设计器

图8  指定CreateTask活动的属性

Step3 
绑定createTask活动的TaskId属性到办事里的字段。单击”TaskId”属性的设置按钮,在弹出的习性绑定窗口采取绑定到新成员标签,输入名字为”task一Id”,采用创设字段,如图九所示。

bifa365必发 6

图玖绑定CreateTask活动的TaskId属性到工作里的字段

Step4 绑定createTask活动的TaskProperties属性到工作流的字段task一Properties。

Step5 处理createTask的MethodInvoking事件。双击createTask,在自动生成的MethodInvoking事件处理函数中写入如下代码。

private void
createTask1_MethodInvoking(object sender, EventArgs e)

 {

     
      this.task一Id = Guid.NewGuid(); //生成职务ID

            this.task1Properties.Title =
“文档审查批准”;

            this.task1Properties.AssignedTo
= “codeart\user一”; //设置职分操作人          

 }

Step陆 
拖曳onTaskChanged到工作流设计器中,如图10所示。

bifa365必发 7

图拾拖曳onTaskChanged到工作流设计器

Step7
 设置onTaskChanged活动的CorrelationToken属性为”task1Token”,如图11所示。

Step八 
将onTaskChanged活动的TaskId属性绑定到已部分task一Id字段,如图1二所示。

图11 CorrelationToken属性为"createTask1"

图12 TaskId属性绑定到已有的task1Id字段

Step玖 将onTaskChanged活动的BeforeProperties和AfterProperties属性均绑定到已有task一Properties字段。

Step10拖曳completeTask活动到工作流设计器中,如图一三所示。

bifa365必发 8

图1叁拖曳CompleteTask活动到工作流设计器

Step11
设置completeTask活动的CorrelationToken属性为”task1Token”。

Step12将completeTask活动的TaskId属性绑定到已有些task一Id字段。

Step13
设置completeTask活动的TaskOutcome属性为”完成”,如图14所示。

bifa365必发 9bifa365必发,

图14 
设置TaskOutcome属性

以上是成立3个职务的主导历程。在实际进度中,职责操作人的得到也许有各种处境,比如从站点的某部组内获取用户,从第2方的角色管理体系中获取用户等。要是职分要分配给站点的部门CEO组中的用户,则createTask活动的MethodInvoking事件能够如下。

private void
createTask1_MethodInvoking(object sender, EventArgs e)

        {

           
this.task1Id = Guid.NewGuid();

            this.task1Properties.Title =
“文书档案审查批准”;

            //获取到部门经理网站组

            SPGroup group1 =
this.workflowProperties.Web.SiteGroups[“部门CEO”];

            SPUser user1 =
group1.Users[0]; //获取部门组长网站组中的率先个用户

            this.task1Properties.AssignedTo
= user一.LoginName; //分配任务

        }

createTask活动会在工作流对应的职分列表中创设贰个职务列表项。在暗许情状下,对职分列表具有操作权限的用户都能够操作这么些任务列表项,但日常意况下,希望只有特殊的用户才得以开展操作,那就要用到createTask活动的SpecialPermissions属性。SpecialPermissions是二个汇合类型,能够将有权力的用户加到它里面,实现对任务列表项的特殊权限决定。上面是有血有肉的操作步骤。

Step壹 选中createTask活动,单击SpecialPermissions属性的”绑定”图标,绑定属性到specialPermissions一字段中,如图一五和图1陆所示。

bifa365必发 10bifa365必发 11

图15特略Permissions属性的绑定图标

bifa365必发 12

图1陆 
绑定属性到specialPermissions壹字段

Step二 
修改createTask的MethodInvoking事件处理方法,设置specialPermissions一集合,代码如下所示。

private void
createTask1_MethodInvoking(object sender, EventArgs e)

        {

           
this.task1Id = Guid.NewGuid();

            this.task一Properties.Title =
“职务题目”;

           
this.task1Properties.AssignedTo = “codeart\\user1”;

            //设置任务权限

           
this.specialPermissions1.Add(this.task1Properties.AssignedTo,

SPRoleType.Contributor);

        }

以上讲述的是单个职责的开创进度,重复那一个进度,能够成立出多步的依次审查批准流程。

 
工作流的测试和调试

上一节1度成功了职责分配的为责任编辑码,直接按”F伍”键即可安顿和调剂。如果只是仅仅的配备,能够通过项目右键菜单的”Deploy”菜单项实行,如图壹七所示。

bifa365必发 13

图1柒右键菜单的”Deploy”菜单项

计划到位后,访问MOSS站点测试工作流关联的文书档案库(本节示范为名叫文档审查批准的文书档案库),新建或上传一个文书档案,然后采用名称栏右键菜单的”工作流”选项,接纳要测试的工作流,如图1八和图1玖所示。

bifa365必发 14

图1八 
新建1个文书档案

bifa365必发 15

图1玖 
工作流采用

开发银行工作流后,重回文书档案库,会发觉文书档案库上多出来一栏,以工作流的名目命名,能够称那壹栏为工作流状态栏,如图20所示。

bifa365必发 16

图20 
工作流状态栏

单击工作流状态栏链接,能够转到工作流状态页面。在此页面,能够查阅到工作流分配的有着任务状态,如图2一所示。

bifa365必发 17

图21工作流状态页面

用装有编辑义务权限的用户登录站点,访问到工作流状态页面,通过职分标题栏的”编辑项目”菜单能够转到任务编辑页面,如图22所示。

bifa365必发 18

图2二 
职分编辑页面

出于并未定义职务操作页面,所以会看到如图二3所示的私下认可义务编辑页面,单击”明显”按钮即可成功审查批准职分。

bifa365必发 19

图23 
暗中认可任务编辑页面

成功职务之后,转回职务状态页面,能够看来任务的事态已经变为”已到位”,如图二肆所示。

bifa365必发 20

图24任务情状页面

以上是在测试时可进展的短平快操作。工作流实际运转时,不大概需求用户采纳那样的操作方法,1般选拔用户义务Web部件,让用户一贯在站点首页集中处理工科作流职务。

在站点首页进入编辑方式,选用添加Web部件,选中添加用户职责Web部件即可,如图二5所示。

bifa365必发 21

图二伍 
采纳用户职务Web部件

转载:http://book.csdn.net/bookfiles/936/10093629438.shtml

发表评论

电子邮件地址不会被公开。 必填项已用*标注