SharePoint 2010 工作流解决方案:创建和调试 SharePoint 工作流解决方案

SharePoint 文档库中添加栏

1.       打开一个 SharePoint 网站

2.       新建一个文档库。 文档库的名字可取为“共享文档”

3.       库工具功能区上单击,然后单击该功能区上的创建列按钮以创建新列。

 

4.       将该列命名为文档状态,将其类型设置为选项(要从中选择的菜单)”,指定以下三个选项,然后单击确定

·         需要评审

·         评审完成

·         请求更改

5.       再创建两列并将它们命名为受理人评审注释 受理人列类型设置为单行文本,将评审注释列类型设置为多行文本。

使文档无需签出即可编辑

如果无需签出文档即可进行编辑,则测试工作流模板会更容易一些。 在下一个过程中,您将配置 SharePoint 网站以达到此目的。

1.       单击共享文档

2.       库工具功能区上单击,然后单击库设置按钮以显示文档库设置页。

3.       常规设置部分中,单击版本控制设置以显示版本控制设置页。

4.       验证要求先签出文档然后再对其进行编辑的设置是否为 如果不是这样,请将其更改为,然后单击确定

创建 SharePoint 顺序工作流项目

顺序工作流是按顺序执行直到最后一个活动完成的一组步骤。 在此过程中,我们将创建一个将应用于共享文档列表的顺序工作流。 利用此工作流向导,您可以将工作流与网站定义或列表定义关联,并可以确定工作流的启动时间。

启动 Visual Studio,然后通过指向文件菜单上的新建并单击项目,显示新建项目对话框。

1.       展开“Visual C#”下的“SharePoint”节点,然后单击“2010”

2.       模板窗格中选择顺序工作流

3.       名称框中,键入 MySharePointWorkflow,然后单击确定

这将显示“SharePoint 自定义向导

4.       要使用哪个本地网站进行调试?”页中,单击下一步以接受默认网站。

5.       指定用于调试的工作流名称页上,接受默认名称(“MySharePointWorkflow - Workflow1”)。 保留默认工作流模板类型值列表工作流,然后单击下一步

 

 

6.       是否希望 Visual Studio 在调试会话中自动关联工作流?”页中,单击下一步以接受所有默认设置。 此步骤会自动将工作流与共享文档库关联。

 

7. 在指定确定工作流启动方式的条件页上,将您希望如何启动工作流?”部分中的默认选项保持选中状态,然后单击完成

可利用此页指定工作流启动的时间。 默认情况下,当用户在 SharePoint 中手动启动工作流时,或在创建与工作流关联的项时,工作流将启动。

 

 

创建工作流活动

工作流包含一个或多个表示要执行的操作的活动。 使用工作流设计器可为工作流安排活动。 在此过程中,我们将向工作流中添加两个活动:HandleExternalEventActivity OnWorkFlowItemChanged 这些活动将监视共享文档列表中文档的评审状态。

1.       工作流应显示在工作流设计器中。 如果不是这样,请双击解决方案资源管理器中的“Workflow1.cs”以打开工作流。

 

 

2.       在设计器中,单击选择“OnWorkflowActivated1”活动。

3.       属性窗口中,在“Invoked”属性旁键入 onWorkflowActivated,然后按 Enter

代码编辑器将会打开,一个名为“onWorkflowActivated”的事件处理程序方法被添加到 Workflow1 代码文件中。

 

4.       切换回工作流设计器,打开工具箱,然后展开“Windows Workflow v3.0”节点。

5.       工具箱“Windows Workflow v3.0”节点拖动一个“While”活动,并将该活动与“onWorkflowActivated1”活动下的行连接。

 

 

 

6.       单击选择“WhileActivity1”活动。

7.       属性窗口中,将“Condition”设置为代码定义

8. 展开“Condition”属性,在“Condition”属性旁键入 isWorkflowPending,然后按 Enter

代码编辑器将会打开,一个名为 isWorkflowPending 的方法被添加到 Workflow1 代码文件中。

 

 

9.    切换回工作流设计器,打开工具箱,然后展开“SharePoint 工作流节点。

10.       工具箱“SharePoint 工作流节点拖动一个“OnWorkflowItemChanged”活动,并将该活动与“whileActivity1”活动中的行连接。

 

11.       单击选择“onWorkflowItemChanged1”活动。

2.       属性窗口中,如下表所示设置属性。

属性

CorrelationToken

workflowToken

Invoked

onWorkflowItemChanged

 

 

处理活动事件

最后,检查每个活动后文档的状态。 如果文档已经过评审,则工作流将完成。

1.       Workflow1.cs中,将以下字段添加到 Workflow1 类的顶部。 在活动中使用此字段可确定工作流是否已完成。

Boolean workflowPending = true;

2.       将下面的方法添加到 Workflow1 类中。 此方法检查文档列表的文档状态属性的值,以确定文档是否已评审。 如果“文档状态”属性设置为 “评审完成”,checkStatus 方法就将 workflowPending 字段设置为 false 以指示工作流可以完成。

private void checkStatus()

{

    if ((string)workflowProperties.Item["文档状态"] == "评审完成")

    workflowPending = false;

}

3.       将下面的代码添加到 onWorkflowActivated onWorkflowItemChanged 方法以调用 checkStatus 方法。 当工作流开始时,onWorkflowActivated 方法调用 checkStatus 方法以确定文档是否已评审。 如果文档尚未评审,则工作流继续。 保存文档时,onWorkflowItemChanged 方法再次调用 checkStatus 方法以确定文档是否已评审。 如果 workflowPending 字段设置为 true,则工作流继续运行。

private void onWorkflowActivated(object sender, ExternalDataEventArgs e)

{

// Check the status.

checkStatus();

}

 

private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)

{

// Check the status.

checkStatus();

}

4.       isWorkflowPending 方法中添加以下代码以检查 workflowPending 属性的状态。 每次保存文档时,“whileActivity1”活动都会调用 isWorkflowPending 方法。 此方法检查 ConditionalEventArgs 对象的 Result 属性,以确定“WhileActivity1”活动应继续还是完成。 如果该属性设置为 true,则活动继续。 否则,活动完成并且工作流也完成。

private void isWorkflowPending(object sender, ConditionalEventArgs e)

{

    e.Result = workflowPending;

}

5.       保存项目。

测试 SharePoint 工作流模板

启动调试器时,Visual Studio 将工作流模板部署到 SharePoint Server,并将该工作流与共享文档列表相关联。 若要测试工作流,请从共享文档列表中的某个文档启动工作流的一个实例。

1.       Workflow1.cs中,在“onWorkflowActivated”方法旁设置一个断点。

2.       F5 生成并运行解决方案。 SharePoint 网站将出现。

3.       SharePoint 中的导航窗格中单击共享文档

4.       共享文档页中,单击库工具选项卡上的文档,然后单击上载文档按钮以上载文档。

5.       上载文档对话框中,单击浏览按钮,选择任何文档文件,单击打开,然后单击确定

这会将选定文档上载到共享文档列表中并启动工作流。

6.       Visual Studio 中,确认调试器是否在 onWorkflowActivated 方法旁的断点处停止。

7.       F5 继续执行。

8.       虽然您可以在此处更改文档的设置,但此时请单击保存以保留这些文档设置的默认值。

这将返回到默认 SharePoint 网站的共享文档页。

9.       共享文档页中,验证“MySharePointWorkflow”列下方的值是否设置为正在进行中 这指示工作流正在进行中,文档在等待评审。

10.    共享文档页中,指向该文档,单击向下箭头,然后单击编辑属性

11.    文档状态设置为评审完成,然后单击保存

这将返回到默认 SharePoint 网站的共享文档页。

12.    共享文档页中,验证“MySharePointWorkflow”列下方的值是否设置为评审完成 这指示工作流已完成,文档已评审。

 

本文参考msdn文档完成。

  

转载于:https://www.cnblogs.com/yunliang1028/archive/2011/01/21/2136825.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SharePoint工作流是一种自动化的流程,可以在SharePoint环境中管理和协调业务流程。它可以帮助您自动化和简化商业流程,例如审批、任务协作、申流程等等。以下是一些关于SharePoint工作流的常见问题和答案: 1. SharePoint工作流是什么? SharePoint工作流是一个自动化的流程,它可以在SharePoint环境中管理和协调业务流程。它可以帮助您自动化和简化商业流程,例如审批、任务协作、申流程等等。 2. SharePoint工作流有哪些类型? SharePoint工作流有三种类型:序列工作流、状态工作流和外部工作流。 3. 序列工作流和状态工作流有什么区别? 序列工作流是一种线性流程,每个操作都必须按照指定的顺序执行。状态工作流是一种基于状态的流程,每个操作都是基于当前状态和触发条件执行。 4. SharePoint工作流可以用于哪些业务流程? SharePoint工作流可以用于各种业务流程,例如审批流程、任务协作流程、申流程、报告流程等等。 5. SharePoint工作流的优点是什么? SharePoint工作流可以帮助您自动化和简化商业流程,节省时间和精力。它还可以提高效率和准确性,减少错误和遗漏。 6. SharePoint工作流如何创建SharePoint工作流可以使用SharePoint Designer、Visual Studio或第三方工具创建。 7. SharePoint工作流如何启动? SharePoint工作流可以通过列表、文档库、网站或其他应用程序启动。 8. SharePoint工作流如何监视和管理? SharePoint工作流可以通过工作流状态页面、日志文件、任务列表等方式进行监视和管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值