扣减规则
少于1分钟
使用场景
在涉及金额或数量的业务中,几乎都会存在扣减类场景,比如预算的扣减、设备领用的扣减。当遇到这种业务场景的时候,可以考虑使用扣减规则来满足需求。扣减规则可以描述当上游单据状态变化为某个状态的时候,应该使用什么样的扣减算法对下游目标实体数据进行计算、更新。(需要注意的是,扣减的上游一定是单据类型实体,下游一定是非单据类型实体)
设计流程
创建扣减规则关系图
路径:规则 >> 扣减规则 >>新建图标(+)
创建扣减规则
进入扣减规则关系图,左侧分别列出所有支持参与扣减规则的来源实体和目标实体,从左侧分别拖入来源实体和目标实体到关系图中,鼠标放在来源实体上,出现四个小圆圈,选中一个作为连线的起点,然后拖动鼠标到目标实体上,建立两个实体的关系。点击连线中的加号(+),进入扣减规则配置界面。
基础信息
输入规则名称,规则编码会自动生成,也可以自己手动修改,编码用于代码生成时作为一些关键字,无其他业务上的意义。
目标实体:选择需要执行扣减数据的目标实体,可以只主实体也可以是子实体,一个扣减规则只能扣减一个实体数据。
来源实体:选中一个执行扣减的来源实体,如果选中的是子表,那么就可以用该子表以及其父实体对目标实体进行扣减。
查找条件
配置查找扣减目标实体数据的条件,查找方式支持两种:一种是等式,配置来源实体字段和目标实体字段联查;另一种是常量,直接配置目标实体字段等于一个常量,比如是否占用预算为是。
有数据未能匹配时:可选“提示并阻塞”或“未匹配数据跳过扣减继续执行”。选择提示并阻塞时,需填写提示信息。
提示信息:配置当通过查找条件没有查询到目标实体数据时,运行态的提示信息。
扣减算法
可以根据实际业务需求,配置多个扣减算法,完成整个扣减过程。点击新建算法,填算法名称,确认之后,右侧配置算法项详情。
算法说明:简要描述当前算法的作用和业务逻辑。
检查规则:配置在算法运行时,检查当前是否具备算法执行的必要条件 。
检查未通过提示:配置了检查规则后,需要配置未通过的提示,提醒终端用户,扣减失败的原因。
算法配置:配置怎样通过来源实体的字段,扣减目标实体字段数据。
运算符说明:
- “+=“运算符说明:目标实体字段 += 来源实体字段,即目标实体字段更新后的值 = 目标实体字段当前值 + 来源实体字段值
- “-=“运算符说明:目标实体字段 -= 来源实体字段,即目标实体字段更新后的值 = 目标实体字段当前值 - 来源实体字段值
扣减规则
为每个单据状态配置扣减算法,按需配置,不是所有状态都需要配置算法。
运行扣减规则
执行扣减
扣减规则执行时,是通过监听实体操作的事件,根据单据状态变化来触发的,所以没有单独入口,只需要根据流程流转,检查数据是否正确即可。
运行态个性化扣减规则
应用发布之后,用户可以在运行态基于设计态的扣减规则,个性化自己的扣减规则,个性化之后,扣减将按照个性化的来执行,不再按照设计态的执行,仅限切换单据状态变化时执行的算法。
选中一个版本,编辑扣减规则,切换单据状态的算法,然后点击存为新版本,即可保存刚刚的修改并另存出新版本,另存出来的版本默认是停用的,需要切换到该版本,点击右下角启用按钮,这样运行态执行时,就可以应用到最新的个性化扣减规则了。