http://ccflow.org 欢迎使用开源的asp.net 工作流程引擎.
在启动开始节点时,通常会向其发起点(流程的第一个点)传输一序列值,来减少用户的输入或者处理特定业务。下面把这些特定的方法总结汇总如下。
利用url传输数据给表单:
事例:MyFlow.aspx?FK_Flow=001&FK_Node=101&PrjNo=GB1002&PrjName=项目名称.
解释:利用Url的方式传递值,Key就是表单的字段名,如果一致ccform 就是自动获取它们把值放入表单控件里。
这种方式适用于数据量比较少,没有明细表的值。
把指定物理表的一列值传递给表单:
事例:
MyFlow.aspx?FK_Flow=001&FK_Node=101&FromTableName=Prj_Main&FromTablePK=No&FromTablePKVal=GB1001
解释:利用特定的标记传递table名称,这个table的主键列名称,指定的行数据。 系统就会自动的生成一个sql 查询到这个行数据。
Select * from FromTableName where FromTablePK =’ FromTablePKVal’.
如果查询不到数据,就会抛异常。
查询到数据就会把这一行的数据根据列名与表单属性名称相对应的copy上去。
这种方式适用于数据量比较大数据传递。
其它流程节点通过url转向,转向到开始节点:
应用背景:一个流程A结束后,根据条件它要启动另外一个流程B,对于A流程结束点的数据(主表数据,明细表数据,附件数据)都要传递到B流程的第一个节点上去,类于ccflow节点之间数据传递。
事例:
在A流程节点属性中->配置 ->成功发送后转向方式:转向指定的url 转向处理内容:MyFlow.aspx?FK_Flow=001&FK_Node=101 这种方式系统就会直接把A流程结束节点的数据复制到B流程的开始节点上去。这些数据包括: 主表、多个从表、附件数据。Ccflow采用静默的默认的传递。实现这些方法请参考BP.WFV4 中的Flow.cs 类中的NewWork() 方法。
删除草稿:
ccflow草稿的概念: 当启动一个流程时,ccflow就会为当前操作人员第一个节点表单插入一条数据,用户点保存时,就会更新这条数据,这个NodeState=0,做为草稿,如果发送出去了,NodeState=1,就变成了节点表单的历史数据了。
如果有了草稿ccflow就会把这个草稿调出来显示给用户。也就是说当前打开当前点时草稿就产生了。
草稿的产生是因为用户在开始节点时,数据了数据,保存了但是没有发送。
如何删除草稿:
事例: MyFlow.aspx?FK_Flow=001&FK_Node=101& IsDeleteDraft=1
说明:删除主表草稿数据,从表草稿数据,附件数据。
http://ccflow.org 欢迎使用开源的asp.net 工作流程引擎.
来源:oschina
链接:https://my.oschina.net/u/10897/blog/35356