关于SharePoint 2013的工作流(二)

时间:2021-08-09 17:37:02

摸索完了如何画流程实现功能接下来,就是如何配置和部署了。在添加工作流之前,肯定需要一个审批人的配置以及阀值等等的配置。

关于SharePoint 2013的工作流(二)

这个的实现基本上和以前的工作流一致。写法却不一样了,模板自带的都是用js实现的。

关于SharePoint 2013的工作流(二)

读取这里面的配置用的是一个叫GetConfigurationValue的activity。

关于SharePoint 2013的工作流(二)

在审批页面获取需要用C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.WorkflowServicesBase\v4.0_15.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.WorkflowServicesBase.dll,当然如果js牛逼可以用js model。

WorkflowServicesManager workflowServiceManager = new WorkflowServicesManager(SPContext.Current.Web);

var workflowInstanceService = workflowServiceManager.GetWorkflowInstanceService();

var instance = workflowInstanceService.GetInstance(Guid.Parse(SPContext.Current.Item["WF4InstanceId"].ToString()));

var subscriptionService = workflowServiceManager.GetWorkflowSubscriptionService();

var subscription = subscriptionService.GetSubscription(instance.WorkflowSubscriptionId);

if (subscription.PropertyDefinitions.ContainsKey("ApprovallogField"))

{

string ApproveLogField = subscription.PropertyDefinitions["ApprovallogField"];

}

完成工作流代码也非常简单,直接复制1后update一下就好了。

var item = TaskItem;

item["OutcomeColumn"] = this.OutCome;

item["TaskOutcome"] = this.OutCome;

item["PercentComplete"] = "1";

item["Status"] = "Completed";

item.Update();

总的来说没有太多困难的地方,当然如果用一个大的Code Activity来做流程图看着应该更简洁一下。