java工作流系统表单自动 获取数据
关键词:工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 bpm工作流系统 java工作流主流框架 自定义工作流引擎 表单设计器 流程设计器
什么是数据自动获取?
当一个字段的值是从其它表中取出来,或者通过后台的计算出来,或者通过js脚本计算出来,我们称为字段的数据自动获取。自由表单的获取方式分为,保存后获取与js计算获取两种方式。
自动获取分为如下几种方式:
方式1:本表单中数据计算
1, 表单中的字段计算分为主表字段之间的计算与从表之间的计算,它们的设置格式与约定规则都是相同的。如果设置的是表单的主表字段,那么是表单上主表控件值之间的计算了。如果设置的是从表的字段,那么就是表单列这间的计算。
2, 表达公式支持中文也支持字段名称,比如:你可以书写成 @单价*@金额也可以书写成@danjia*@jiner
3, 计算是以javascript 方式完成的。所以当数值变化后就可以看到计算结果。
方式2:利用SQL自动填充.
比如: Select Addr From 商品表 WHERE No=@FK_Pro FK_Pro是本表中的任意字段名。
应用案例:在请假流程表单中获取两个表单日期(开始日期,结束日期)的相隔的天数。
处理步骤:
首先在建立一个函数 GetSpanDays(dtForm,dtTo) 。 dtFrom,日期从,dtTo 日期到。
设置一个SQL,放在文本框里。
For sqlserver: SELECT GetSpanDays(@DTForm,@DTTo)
For Orace : SELECT GetSpanDays(@DTForm,@DTTo) FROM DUAL
把此字段设置为只读(只有只读的字段才可以被自动计算)。
工作原理:
CCForm在保存后,首先检查一个只读字段是否有扩展属性,如果有就把设置的信息SQL中的变量替换下来,执行这个SQL,把返回值赋给当前这个只读字段。
方式3:本表单中外键列。
比如:表单中有商品编号列,需要填充商品地址、供应商电话。
方式4:对一个从表的列求值。
对于有从表的有效,在案例视频中有一个报销总金额=从表的小计中求合。
总结:对于3,4两种模式都可以变相的用第二种模式实现它。