转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125302.html

以下是使用代码审批、转签k2 blackpearl流程,初探K2 Blackpearl,望高人多多包涵、指点.

    //执行动作
private void MyAction(string argAction)
{
//创建连接对象
SourceCode.Workflow.Client.Connection wfcon = new SourceCode.Workflow.Client.Connection();
//打开K2连接
string k2Server = System.Configuration.ConfigurationManager.AppSettings["K2Server"];
string workflowServicePort = System.Configuration.ConfigurationManager.AppSettings["WorkflowServicePort"];
wfcon.Open(k2Server + ":" + workflowServicePort); //当前用户打开
wfcon.ImpersonateUser(HttpContext.Current.User.Identity.Name); //获取流程列表
SourceCode.Workflow.Client.WorklistItem worklistitem = wfcon.OpenWorklistItem(SN); /*
//获取流程实例编号
string[] _SN = SN.Split('_');
int _ID = int.Parse(_SN[0]);
//获取流程实例
SourceCode.Workflow.Client.ProcessInstance proInst = wfcon.OpenProcessInstance(_ID);
//DataFields赋值
proInst.DataFields["TaskUsers"].Value = ddlTaskUsers.SelectedValue;
//更新DataFields
procinst.Update();
*/ //查找action(执行动作)
foreach (SourceCode.Workflow.Client.Action action in worklistitem.Actions)
{
if (action.Name.Equals(argAction))
{
//执行动作
action.Execute();
}
}
wfcon.Dispose();
} //转签
protected void ProcRedirect(string argEmpName)
{
//创建连接对象
SourceCode.Workflow.Client.Connection wfcon = new SourceCode.Workflow.Client.Connection(); //打开K2连接
string k2Server = System.Configuration.ConfigurationManager.AppSettings["K2Server"];
string workflowServicePort = System.Configuration.ConfigurationManager.AppSettings["WorkflowServicePort"];
wfcon.Open(k2Server + ":" + workflowServicePort); wfcon.ImpersonateUser(HttpContext.Current.User.Identity.Name); //获取流程列表
SourceCode.Workflow.Client.WorklistItem worklistitem = wfcon.OpenWorklistItem(SN);
//转签
worklistitem.Redirect(argEmpName);
//释放资源
wfcon.Dispose();
}

流程图如下:

使用C#代码审批/转签K2 Blackpearl流程的更多相关文章

  1. 使用C#代码发起K2 Blackpearl流程

    转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125285.html 使用C#代码,发起一个K2的流程,其形式和链接SQL Server数据 ...

  2. 部署K2 Blackpearl流程时出错(由于目标计算机积极拒绝,无法连接)

    转:http://www.cnblogs.com/dannyli/archive/2011/12/01/2270118.html 亲,如果你也遇到过这个问题,就请继续往下看哦 在部署K2 Blackp ...

  3. K2 blackpearl 流程开发(二)

    转:http://blog.csdn.net/gxiangzi/article/details/8444590 本来想一篇文章把流程开发介绍完的,后来发现实在是太多了,只好分成两部分了.上一篇很简单的 ...

  4. K2 blackpearl 流程开发(一)

    转:http://blog.csdn.net/gxiangzi/article/details/8444060 郁闷,今天K2的license过期了,很多东西都没法用了,还得去找PM大大帮忙申请一个. ...

  5. 部署K2 Blackpearl流程时出错(与基础事务管理器的通信失败或Communication with the underlying transaction manager has failed.

    转:http://www.cnblogs.com/dannyli/archive/2011/12/01/2270222.html 亲,在部署K2流程是,是否遇到这个错误(以下是中.英文错误信息) 中文 ...

  6. K2 Blackpearl开发技术要点(Part2)

    转:http://www.cnblogs.com/dannyli/archive/2012/09/14/2685282.html K2 Blackpearl开发技术要点(Part2)  

  7. K2 Blackpearl开发技术要点(Part1)

    转:http://www.cnblogs.com/dannyli/archive/2012/09/14/2685260.html K2 Blackpearl开发技术要点(Part1) 预知后事如何,请 ...

  8. K2 blackpearl 安装

    转:http://blog.csdn.net/gxiangzi/article/details/8432188 K2是国外的一款BPM引擎,基于MS的Workflow,关于它的详细介绍在我之前一片博客 ...

  9. K2 Blackpearl 4.6.8 安装步骤详解

    由于某些原因,我幼小的心灵受到了很大的创伤,倍感世态之炎凉,久久不能愈合,也因此很久没再接触K2 Blackpearl了.偶然来了兴趣,想整个K2的环境,闲暇之余了解其新功能,温故知新,也希望从中能讨 ...

随机推荐

  1. 20个最受欢迎的Linux命令

    http://code.csdn.net/news/2819566 1.   以 root 帐户执行上一条命令 sudo !! 2.  利用 Python 搭建一个简单的 Web 服务器,可通过 ht ...

  2. 关于模态/非模态对话框不响应菜单的UPDATE_COMMAND_UI消息(对对WM_INITMENUPOPUP消息的处理)

    对于模态非模态对话框默认是不响应菜单的UPDATE_COMMAND_UI消息的,需要增加对WM_INITMENUPOPUP消息的处理以后,才可以响应UPDATE_COMMAND_UI. void CX ...

  3. 管理IPv6网络连接

    以下操作建立在Linux功能-管理IPv4网络连接之上,请先完成该部分操作后进行以下测试. 1. 修改 net1,配置 IPv6 地址为 2001:X/64 ,网关为 2001:254 [root@d ...

  4. 通过asp.net程序来控制自己开发的windows服务

    public ActionResult ListService() { //获取已经保存好的windows服务名称 IList<Model.ReportServicesInfoEnt> L ...

  5. OkHttp使用进阶(译自OkHttp官方教程)

    没有使用过OkHttp的,可以先看OkHttp使用介绍 英文版原版地址 Recipes · square/okhttp Wiki 同步get 下载一个文件,打印他的响应头,以string形式打印响应体 ...

  6. 利用SOLR搭建企业搜索平台 之——solr的查询语法

      1. 首先假设我的数据里fields有:name, tel, address 预设的搜寻是name这个字段, 如果要搜寻的数据刚好就是 name 这个字段,就不需要指定搜寻字段名称. 2. 查询规 ...

  7. C#将list转换为datatable

    DataTable dt = new DataTable(); if (_list != null) { //通过反射获取list中的字段 System.Reflection.PropertyInfo ...

  8. Android Wear开发者预览配置过程

    第一步Android SDK Manager 中 1.升级Android SDK Tools到22.6+版本2.Android 4.4.2 下 安装 Android Wear ARM EABI v7a ...

  9. serialize-and-deserialize-bst

    https://leetcode.com/problems/serialize-and-deserialize-bst/ 1. 用到Java Queue接口, // LinkedList实现了Queu ...

  10. android利用数字证书对程序签名

     签名的必要性 1.  防止你已安装的应用被恶意的第三方覆盖或替换掉. 2.  开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同 ...