CCFlow.org
2011年8月修订
目录
1总体说明 3
2流程创建 3
流程创建 4
流程的基本元素 4
流程模式 4
创建简单的流程 4
流程属性 4
节点属性 5
基本属性 6
按钮标签 10
考核属性 10
相关功能 11
3流程优化 19
4系统维护 19
系统设置 20
全局设置 20
系统枚举值 21
编码表 22
JS校验库 22
全局变量 22
功能执行 23
组织结构 23
部门维护 24
岗位维护 25
人员维护 26
关键字
流程、节点、连接线、标签
岗位、部门、人员
单据打印、消息侦听、
概要说明
Ccflow 流程设计器上由silverlight4.0开发。
2流程创建本章节讲解创建流程步骤。
流程创建
流程的基本元素
节点、连接线、标签:构成的流程设计的界面基本元素。
部门、岗位、人员构成了组织结构,是流程运行的基础。
流程考核,报表定义,数据查询,工作质量成本分析是流程运转的副产品。
流程模式
线形流程
父子流程
同步分合流
异步分合流
创建简单的流程
流程属性
节点属性
基本属性节点属性 描述
流程步骤 需要手工的维护,系统无法自动计算每个节点在流程中的步骤。
名称 节点名称。
是否允许分配工作? 发送下一步骤时,比如n个人可以处理,是否允许发送人指定人员进行处理?
是否可以强制删除子流程 对于分合流有效,如果到了规定的完成时间,对于未完成的子流程是否可以强制被合流上的操作人员强制删除。
完成通过率 对于分合流有效,分流点发送给n个人,当完成率为多少时才能够流转到下一步骤。更多的计算方式,请搜索:”ccflow 流程完成率”。
运行模式 节点在流程中运行的模式:节点模式分为普通,分流,合流,分合流程。
分流点:它发送时n个操作人员都可以接受。
合流点:n个操作人员把采集的数据发送到此节点上。
分合流:既是分流也是合流, 我们称为分合流。
如何设计分合流请参考录像与视频。
<
设置方法: 在下一个节点上的节点属性里,设置节点岗位.这是默认的投递规则,他是在下一个节点设置岗位时按照岗位计算. 他的计算方式,首先按照当前操作员的部门范围计算.
如果该操作员部门下没有这个工作岗位的人员,ccflow 就会把当前操作员的部门级次提高一个级别,在寻找,依次计算。
理解了这个算法,你就不难理解为什么,本部分的业务,只能让本部门的经理审批了.
举例说明:
一个省机关下面有n个县,n个市,n个县. n个所. 一个所员受理人员的业务,只能让自己的所长审批,所长的业务只能投递到本区县的相关业务部分审批,而非其它区县业务部分审批.
这就是岗位的权限与部门权限的交叉形成的被投递的人员集合. 这就是ccflow经常说的.
岗位:表示能做什么事情。 部门: 表示能做那里的事情 。 岗位+部门: 表示一个操作员能做那里的那些事情.
设置方法: 在当前节点上的节点属性里,设置节点岗位.ccflow 会按照你指定的部门下面的人员,进行投递, 就是这个n个部门下面都可以接受这个工作. 这个类于发送邮件的按照邮件组进行发送.按SQL:
设置方法: 在当前节点属性里 [接受人SQL]设置一个sql 语句. 这个select 查询语句有两个列. No,Name 分别表示,操作
编号, 操作员名称. 这个sql可以有参数.
比如:
1, SELECT No,Name FROM PORT_EMP WHERE FK_Dept=@WebUser.FK_Dept
查询出来当前操作员中的部门下的所有人员.
2, SELECT No,Name FROM dbo.xxxx.YourTable WHERE 字段名称=@表单字段名称.
从您的业务系统中,查找一组人员,变量可以是当前节点字段的编号,格式为 @+字段英文名称.
按指定的人员:
设置方法: 在当前节点属性的相关功能里 [接受人员]功能, 设置一批操作人员,当前节点向下一步发送时系统就会按照当前设置的范围投递。
这种场合应用于,特定的条件下, 一些特殊的临时的岗位不系统管理员不愿意去设置,而是直接选择投递到具体的人员.
由发送人选择:
设置方式: 选择此项后系统就会自动在功能按钮栏显示一个选择接受人功能按钮.
类于发送邮件时的接受人员选择功能.
按表单人员:
设置方式: 在设置节点表单时, 增加一个外键字段 FK_Emp, 这个下拉框中是操作人员列表.
运行方式: 当前操作员进入工作操作界面时,它就会看到一个下一步人员选择的下拉框,选择期中的一个人员后,ccflow 就会按这个人员做下一步骤的工作投递.
表单类型 目前为止 ccflow 流程引擎设计器支持如下几种表单类型.
傻瓜表单 自由表单 自定义表单 SDK表单 禁用(对多表单流程有效)
傻瓜表单:
由4列与字段分组构成,它的格式固定一列说明,一列控件,一列说明一列控件。配以字段分组可以解决字段排列的问题。
详细请参考:
http://tieba.baidu.com/club/10786496/tupian
傻瓜表单设计器相册
可以自己按照自己的布局生成的表单,这种表单格式灵活,控件丰富.
详细请参考:
http://tieba.baidu.com/club/10786496/tupian
自由表单设计器相册
这种类型是解决我自己画一个表单,如何嵌入到ccflow里工作。
如果您的系统已经有了自己的表单可以把此表单的url 输入到指定的文本框中.
比如:您输入的是 http://localhost/MySelf.aspx?aa=xxx
系统在调用时就会是 http://localhost/MySelf.aspx?aa=xxx&WorkID=123&FK_Node=101&UserNo=zhoupeng&SID=xxxxx
ccflow自动的加入相关的信息传递给您,你需要获取这些参数进行处理.
你的表单需要进行如下改造.
1,接受来UserNo, 与SID 参数用来校验访问的用户是否合法.
2,在表单的主表中增加一个字段 WorkID 表示这个流程的唯一主键标识,当然你也可以保留已经有的主键。根���,���据这个WorkID 来判
断是否需要增加、更新主表的数据。
3,接受FK_Node 参数它表示节点ID,的示流程运行到什么位置了,从而进行相关的权限判断。
SDK表单如果您采用应用dll的模式开发您的工作流程系统那就采用这种方式,这种方式的特点:
1,引用dll,调用开发接口。
2,自己编写表单格式,处理表单业务逻辑,并且自己托放发送,保存,退回,转发,删除按钮。
3,在每个流程功能按钮下填写业务逻辑外,还要编写调用流程接口方法。
比如:调用发送方法.
/*
string msg = BP.WF.Dev2Interface.Node_SendWork(this.FK_Flow,this.WorkID,this.GenerWorkInfo());
msg = msg.Replace("@@", “@”);
msg = msg.Replace("@", “
@”);
this.Alert(“发送提示”, msg);
*/
事例路径:
D:\ccflow\VisualFlow\SDKFlows\QingJia
也叫禁用节点表单, 就是不使用节点表单仅使用流程表单。
发送成功后提示信息 发送成功后,系统就会把发送结果提示给用户,如果此这些系统不是您期望的格式你可以在这里修改它。
流程步骤 需要手工的维护,系统无法自动计算每个节点在流程中的步骤。
名称 节点名称。
是否允许分配工作? 发送下一步骤时,比如n个人可以处理,是否允许发送人指定人员进行处理?
是否可以强制删除子流程 对于分合流有效,如果到了规定的完成时间,对于未完成的子流程是否可以强制被合流上的操作人员强制删除。
完成通过率 对于分合流有效,分流点发送给n个人,当完成率为多少时才能够流转到下一步骤。更多的计算方式,请搜索:”ccflow 流程完成率”。
运行模式 节点在流程中运行的模式:节点模式分为普通,分流,合流,分合流程。
分流点:它发送时n个操作人员都可以接受。
合流点:n个操作人员把采集的数据发送到此节点上。
分合流:既是分流也是合流, 我们称为分合流。
如何设计分合流请参考录像与视频。
<
设置方法: 在下一个节点上的节点属性里,设置节点岗位.这是默认的投递规则,他是在下一个节点设置岗位时按照岗位计算. 他的计算方式,首先按照当前操作员的部门范围计算.
如果该操作员部门下没有这个工作岗位的人员,ccflow 就会把当前操作员的部门级次提高一个级别,在寻找,依次计算。
理解了这个算法,你就不难理解为什么,本部分的业务,只能让本部门的经理审批了.
举例说明:
一个省机关下面有n个县,n个市,n个县. n个所. 一个所员受理人员的业务,只能让自己的所长审批,所长的业务只能投递到本区县的相关业务部分审批,而非其它区县业务部分审批.
这就是岗位的权限与部门权限的交叉形成的被投递的人员集合. 这就是ccflow经常说的.
岗位:表示能做什么事情。 部门: 表示能做那里的事情 。 岗位+部门: 表示一个操作员能做那里的那些事情.
设置方法: 在当前节点上的节点属性里,设置节点岗位.ccflow 会按照你指定的部门下面的人员,进行投递, 就是这个n个部门下面都可以接受这个工作. 这个类于发送邮件的按照邮件组进行发送.按SQL:
设置方法: 在当前节点属性里 [接受人SQL]设置一个sql 语句. 这个select 查询语句有两个列. No,Name 分别表示,操作
编号, 操作员名称. 这个sql可以有参数.
比如:
1, SELECT No,Name FROM PORT_EMP WHERE FK_Dept=@WebUser.FK_Dept
查询出来当前操作员中的部门下的所有人员.
2, SELECT No,Name FROM dbo.xxxx.YourTable WHERE 字段名称=@表单字段名称.
从您的业务系统中,查找一组人员,变量可以是当前节点字段的编号,格式为 @+字段英文名称.
按指定的人员:
设置方法: 在当前节点属性的相关功能里 [接受人员]功能, 设置一批操作人员,当前节点向下一步发送时系统就会按照当前设置的范围投递。
这种场合应用于,特定的条件下, 一些特殊的临时的岗位不系统管理员不愿意去设置,而是直接选择投递到具体的人员.
由发送人选择:
设置方式: 选择此项后系统就会自动在功能按钮栏显示一个选择接受人功能按钮.
类于发送邮件时的接受人员选择功能.
按表单人员:
设置方式: 在设置节点表单时, 增加一个外键字段 FK_Emp, 这个下拉框中是操作人员列表.
运行方式: 当前操作员进入工作操作界面时,它就会看到一个下一步人员选择的下拉框,选择期中的一个人员后,ccflow 就会按这个人员做下一步骤的工作投递.
表单类型 目前为止 ccflow 流程引擎设计器支持如下几种表单类型.
傻瓜表单 自由表单 自定义表单 SDK表单 禁用(对多表单流程有效)
傻瓜表单:
由4列与字段分组构成,它的格式固定一列说明,一列控件,一列说明一列控件。配以字段分组可以解决字段排列的问题。
详细请参考:
http://tieba.baidu.com/club/10786496/tupian
傻瓜表单设计器相册
可以自己按照自己的布局生成的表单,这种表单格式灵活,控件丰富.
详细请参考:
http://tieba.baidu.com/club/10786496/tupian
自由表单设计器相册
这种类型是解决我自己画一个表单,如何嵌入到ccflow里工作。
如果您的系统已经有了自己的表单可以把此表单的url 输入到指定的文本框中.
比如:您输入的是 http://localhost/MySelf.aspx?aa=xxx
系统在调用时就会是 http://localhost/MySelf.aspx?aa=xxx&WorkID=123&FK_Node=101&UserNo=zhoupeng&SID=xxxxx
ccflow自动的加入相关的信息传递给您,你需要获取这些参数进行处理.
你的表单需要进行如下改造.
1,接受来UserNo, 与SID 参数用来校验访问的用户是否合法.
2,在表单的主表中增加一个字段 WorkID 表示这个流程的唯一主键标识,当然你也可以保留已经有的主键。根据这个WorkID 来判
断是否需要增加、更新主表的数据。
3,接受FK_Node 参数它表示节点ID,的示流程运行到什么位置了,从而进行相关的权限判断。
SDK表单如果您采用应用dll的模式开发您的工作流程系统那就采用这种方式,这种方式的特点:
1,引用dll,调用开发接口。
2,自己编写表单格式,处理表单业务逻辑,并且自己托放发送,保存,退回,转发,删除按钮。
3,在每个流程功能按钮下填写业务逻辑外,还要编写调用流程接口方法。
比如:调用发送方法.
/*
string msg = BP.WF.Dev2Interface.Node_SendWork(this.FK_Flow,this.WorkID,this.GenerWorkInfo());
msg = msg.Replace("@@", “@”);
msg = msg.Replace("@", “
@”);
this.Alert(“发送提示”, msg);
*/
事例路径:
D:\ccflow\VisualFlow\SDKFlows\QingJia
也叫禁用节点表单, 就是不使用节点表单仅使用流程表单。
发送成功后提示信息 发送成功后,系统就会把发送结果提示给用户,如果此这些系统不是您期望的格式你可以在这里修改它。
以上是对考核信息的设置,因为考核来说各个单位规则都不相同,模式也不想同。所以ccflow只记录此部分的设置。具体的时效考核与质量考核的开发由二次开发人员来决定。
相关功能:请看左边的菜单栏目,以下是分别介绍与当前节点有关系的相关功能。
节点岗位
用来控制可以访问以节点的工作岗位,那些岗位可以访问此节点处理此节点的工作任务。如果此节点是开始节点,那就是那些人员可以发起工作。
注意:当投递规则中,设置按岗位投递才有效。
用来控制可以访问以节点的部门,那些部门可以访问此节点处理此节点的工作任务。如果此节点是开始节点,那就是那些人员可以发起工作。
注意:当投递规则中,设置按部门投递才有效。
用来控制可以访问以节点的人员,那些人员可以访问此节点处理此节点的工作任务。如果此节点是开始节点,那就是那些人员可以发起工作。
注意:当投递规则中,设置按人员投递才有效。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210416110554656.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NTQyMTE5Nw==,size_16,color_FFFFFF,t_70
处理父子流程时用到。
现有一个主流程,一个或者多个小线程流程. 主流程在运行到指定节点时,它可以停留在这里可以一次或者多次唤起其它的流
程。我们把这样的流程称呼为主副流程. 唤起流程的节点,我们称为唤起节点.
如何设置这样的流程,你可以在节点属性里, 选择要关联的子流程. 关联之后,需要诊断一下.这个调用链接就会显示在表单的下方.如何进行二次开发对于这样的流程, 请等待一下二次开发问题. 要想进行二次开发你需要很熟悉ccflow的运行表结构.开发注意事项:1, 唤起节点的表单数据可以copy 到被唤起流程的第一个节点上.2, 如果以前已经唤起过的流程没有运行下去,那么这个调用就会把上次没有发起的子流程掉起来.3, 如果没有的话就可以看到已经发起的流程列出来.4, 被调用起来的流程不能是多线程流程,(其实这个是不合理的约定), 因为FID 已经被占用了.可退回的节点
一个节点的退回,是具有一定的规则的。
单据打印
什么是单据打印?
需要制作一个单据模板,通过上一个界面绑定在节点上才能实现单据打印。
1, 一个节点表单可以打印多个单据。
2, 单据必须是 rtf 格式的文件。
单据模板的制作方式,与单据规则我们先看一个描述就明白了。
此模板位于:D:\ccflow\VisualFlow\DataUser\CyclostyleFile\单据打印样本.rtf
单据模板事例
以下是基本的字段输出普通类型字段输出:
文本输出 :
文本输出 : 输出内容: 2011-05-11
日期文本输出 :
金额文本输出 : 输出内容: 101.123
金额人民币输出 :
金额人民币大写输出 :
布尔类型数据输出: 输出 0
布尔类型数据转意输出: 输出 否
布尔类型数据转意输出:
以性别为例
枚举类型输出: 直接输出 1
枚举类型输出标签: 直接输出 男
以部门为例
外键类型输出:
签名:
以下是表格的明细输出:
报销内容 单价 数量 小计
合计
调用外部接口对傻瓜表单有效:如果在当前的节点执行相关功能时,可以配置功能连接在这上面。
消息收听什么是消息收听?
– 消息收听,在流程运行时,向指定的节点处理人发送消息。收听消息的点叫做侦听点.被收听的点叫发送点。消息接受有三种方式:短信、邮件、邮件+短信.
比如:财务报销流程中, 发起流程人要在第一时间知道部门经理审批内容、总经理审批内容. 如果财务审批通过了,我就可以第一时间到出纳那里领取报销款。
流程引擎中贯穿了这样的消息机制,就可以把每个岗位上的人员有机的连通起来,协调起来,使整个单位的整体工作效率更高。
此消息收听机制就可以解决此问题。
1, 选择侦听节点,找节点属性 (在节点属性里,点消息收听按钮,系统弹出消息收听设置的对话框。)
2,点设置消息收听。
3,设置收听内容格式.
4, 在当前节点设置收听的节点,意义是当前人员收听指定节点发送来的信息.
消息设置内部支持系统参数,类似于单据设置.
比如:
标题设置: 您的借款申请已经被总经理@Rec审批通过,核准借款金额为@JieKuanJier。
@Rec, @JieKuanJier 就是变量。
《省略》
4系统维护系统设置
全局设置
修改D:\ccflow\VisualFlow\web.config中的配置,现在把其界面化了。
系统枚举值
全局的枚举值维护.
编码表
系统中的编码表,也称为字典表,是用户在设计表单中维护的。
JS校验库
《省略》
全局变量
用于表单中的全局变量。
功能执行
独立执行一个功能。
组织结构
主要是对部门、岗位、人员、人员与部门、人员与岗位之间的关系维护。
这些维护是在ccflow独立运行的模式下才可以使用的。在非独立模式下,这些用户、部门、岗位都来自于OA,ERP,GRP…. 系统,这些维护功能都在主系统中。
部门维护
岗位维护
人员维护
=OVER=