一个被遗忘的ccflow工作流引擎自定义表单开发模式
定义概述:一个已经做好的表单需要绑定到节点上 , 该文章在驰骋工作流引擎流程引擎设计器中。
自定义表单工作模式:流程控制按钮区域是ccflow来完成,表单区域是放在控制区域下面的框架里,如下图所示。
注意:蓝色边框一下是一个框架,框架里面的界面是一个url,这个就是自定义表单。
应用背景:这种类型是解决我自己已经有了一个成熟稳定的产品或者项目,里面的表单已经做好了,我只想使用流程引擎负责流转功能,业务数据的存储不变化。这中类型有如下特点。
1, 数据的存取有自己开发人员来确定。
2, 仅仅使用ccflow的流程引擎。
3, 最大限度的减少程序开发人员的开发。
4, 最大完整的保障自己的业务独立与业务完整。
如果要适应这种方式需要在把自己的表单做如下改造:
1, 把自己的表单主表增加一个int类型的workid列用于做主键或者用程序保障他的唯一性。
2, 自己开发的表单,要接受来自ccflow的参数,参数格式如下。比如:您输入的是 http://localhost/MySelf.aspx?aa=xxx 系统在调用时就会是 http://localhost/MySelf.aspx?aa=xxx&WorkID=123&FK_Node=101&UserNo=zhoupeng&SID=xxxxx, 这些参数是系统自定传递的,它表示那个流程实例、到达了那个节点、那个流程,与当前的登录人员,SID 是验证该人员是否合法,请参考其他章节。开发人员可以根据节点编号灵活控制权限。
如果您了解了ccflow的数据存储结构(请参考流程属性章节),我们建议您把该流程的流程属性,数据存储表名与您的业务表单表名一致。
这样做的好处有:
1, 不用担心数据存储主键,不用关心流程的业务逻辑。
2, 系统会给该业务字段自动创建其他的流程字段,用户可以根据这些字段信息扩展更多的业务逻辑编写。
自定义表单流程demo:
流程编号:129
第一步:开发一个自定义表单位置在。
在该表单里有一保存按钮,并让其隐藏,该按钮的功能是出来保存整体表单
数据,如下图:
定义一个保存函数Save,这个保存函数是系统约定的,保存函数里激活保存按钮从而完成保存,调用Save保存是流程的发送与保存工具栏按钮,如下图就是表单运行时的样子。
第2步:把配置节点属性。把辨析的该表单定义如下,并保存, 第2,3个节点同样的设置。
第3步:设置步骤2,3的审核组件属性,让其启用,并把高度与宽度设置为0,表示高度宽度为100%。
第3步骤:启用调试运行。
节点1效果:
在用户点击保存与发送按钮后,系统就会自动触发了框架里面的save方法,完成框架内的数据保存,如果框架内的函数返回false,标识发送失败,系统就停止发送。
发送之后效果:
节点2效果:
节点3效果:
该案例详细的说明了如何使用自定义表单完成对业务的快速实现,更多的信息请参考源代码与源代码里面的注释。