web工作流管理系统开发之十五 流程变量与表达式

工作流系统和业务系统的结合,不仅仅是表之间的关联(即流程实例id和业务数据的关联),还有很多变量的关联。
变量的关联表现在很多方面,通常都是在流程定义时,需要引入这些变量,辅助流程的定义。

 

如,流程在运行时,需要获取具体业务数据某个关键字段的值。

 

费用报销申请流程中,需要将用户的报销金额获取,流程按照报销金额的大小来决定是否需要2级审核。

还有的需要获取流程上下文中的流程定义信息,操作用户等,流程定义信息包含流程名称,流程中文描述名,流程版本,节点的名称等等。


例如流程实例运行时,需要在生成的任务提醒中获取流程中文描述,如,您需要审核 "某某" 填写的 "费用报销申请"。某某为流程实例运行时的操作用户,费用报销申请为流程中文名。

 

变量还分为临时变量持久化变量,这有点类似局部变量和全局变量的意思;临时变量仅存在于一次流程运转过程,提交返回后,就失效了;


持久化变量通常为一些业务变量,因为持久化到数据库中的,所以只要发生过,无论什么时候都能获取到值。

 

综合一下,流程中需要使用的变量类型:
业务变量: 业务关键字段的值,通常作为显示或条件判断用,为持久化变量。
流程上下文变量:获取流程运行时的执行者信息,流程定义信息,流程实例信息,通常为临时变量。
业务数据字典等变量:业务变量的延伸,code对应中文名称,通常用表达式来转换出中文名称。

 

在eworkflow工作流系统中,变量的使用场合通常是,流程定义文件的自定义参数,自定义脚本中,通过表达式来引入这些变量。


工作流引擎在解释流程定义文件时,根据实时的情况,解释表达式,得到变量的值。


如,
引入用户名称的表达式:${oCaller.name}
引入业务关键字段信息,如审核结果: ${result}; 审核结果数据字典(中文): ${result.审核结果}
引入流程实例id: ${entry.id}

 

在自定义脚本中还可以如编写java代码一样,来作为变量引用,就更加的灵活和多样了。

 

 

 

 

相关链接:

web工作流管理系统开发之一 工作流概念

web工作流管理系统开发之二 工作流引擎
web工作流管理系统开发之三 可视化流程设计器
web工作流管理系统开发之四 集成工作流与自定义表单
web工作流管理系统开发之五 开源osworkflow之用户系统改造

web工作流管理系统开发之六 表单权限与流程的权限控制

web工作流管理系统开发之七 最新修改的版本下载 

web工作流管理系统开发之八 开源osworkflow之任务管理 

 

web工作流管理系统开发之十 数据库连接及事务设定

web工作流管理系统开发之十一 流程数据与业务数据的交互

web工作流管理系统开发之十二 同一张表单在流程多节点中流转的权限控件

web工作流管理系统开发之十三 流程与电子表单集成之事件实现篇

web工作流管理系统开发之十四 流程设计器属性页面之实现篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值