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两种模式都可以变相的用第二种模式实现它。

原文地址:https://www.cnblogs.com/mengjuan/p/12098293.html