业务对象回调函数管理

业务对象回调函数管理

业务对象的回调函数,类似于数据库的存储过程,是一个在特定时间,完成特定操作的指令脚本功能。通过回调函数,可以实现业务对象的流程执行和跳转。

为了举例说明,我们准备几个业务对象来解释回调函数:

  • 物料信息物料的基本信息和库存信息,包括字段物料编号,物料描述,物料库存数,物料库存总价
  • 物料价格管理物料的价格信息,包括字段 物料编号,物料描述,单价
  • 入库单物料入库单据,包括字段 入库单编号,入库时间,入库数量, 物料编号 引用自物料信息, 物料描述 引用自物料信息

物料信息:

图片

入库单:

图片

物料价格管理:

图片

现在的业务逻辑要求是:

物料信息的库存数和库存总价不能由用户手动更改,而应该是通过业务单据计算出来,比如有入库单添加时,入库单对应的物料自动增加库存数和库存总价。

这个业务逻辑就需要使用回调函数来实现。

添加业务对象回调函数

业务对象回调函数,以下简称回调函数。

在业务对象的编辑页面,把标签选择到回调函数,可以看到回调函数的列表和“新增” “删除"按钮。

图片

点击”新增“按钮,可以添加回调函数,到添加页面。此处举例“入库单新增回调函数”,实现上面说的入库逻辑。

基本信息&选择源表

图片

填写回调函数的名称,回调时间,回调时间是指回调函数执行的时机,可以是如下值:

  • 添加前 业务对象添加之前执行回调函数
  • 添加后业务对象添加之后执行回调函数
  • 更新前业务对象更新之前执行回调函数
  • 更新后业务对象更新之后执行回调函数
  • 删除前业务对象删除之前执行回调函数
  • 删除后业务对象删除之后执行回调函数

    几个重要概念

下一个要填写的源表,在此先介绍介个概念:

  • 当前数据 回调函数所对应的主体对象 正在进行的操作的数据,比如示例中 回调函数添加给入库单的,而且是入库单添加时候的才执行的回调函数,因此当前数据就是正在添加的入库单单据的数据。
  • 目标表 回调函数执行回影响的业务对象,比如本例中,回调函数最终会影响物料信息,所以目标表就是物料信息
  • 源表 如果回调函数在执行的过程中,要获取第三方的业务对象的信息才能完成回调函数的执行,这个第三方对象,就是所谓的源表。 比如本示例中,源表就是物料价格管理

回到第一个页面,接着填写如下信息:

  • 源表

上面已经解释,此处选择“物料价格管理”。

  • 源表过滤

源表过滤就是一个过滤条件,通过该过滤条件,可以从源表中选择一条或者几条符合条件的 数据。 比如 入库单中,物料编号是"A00_01",那么要获取的物料的价格也应该是“A00_01”对应的价格,因此源表过滤可以这样填写:

   源表.物料编号 = 当前数据.物料编号

这些字段的填写对于用户来说可能比较困难,所以下面有个字段按钮,已经列出了当前数据和源表的所有字段,用户可以选择。 同时还提供了比较运行符,逻辑运行符。如下图所示: 图片

图片

图片

  • 多条源数据用第一条

这是一个check选项,表示当通过过滤条件获得的源数据,如果有多条,是否只使用第一条。

最终的配置效果如下:

图片

选择目标表

第二步,是选择目标表,有关目标表的概念,在前面解释过。 下面是目标表相关信息的填写页面:

图片

要填写的信息如下:

  • 目标表

参考前面的解释, 此示例选择“物料信息”

  • 目标表过滤

目标表过滤就是一个过滤条件,通过该过滤条件,可以从目标表中选择一条或者几条符合条件的数据。 比如 入库单中,物料编号是"A00_01",那么要获取的物料信息编号也应该是“A00_01”,因此目标表过滤可以这样填写:

   目标表.物料编号 = 当前数据.物料编号

和源表过滤一样,此处有“字段”,“比较运行符”,“逻辑运行符”三个帮助按钮。

  • 多条目标数据用第一条

这是一个check选项,表示当通过过滤条件获得的目标数据,如果有多条,是否只使用第一条。

  • 验证条件

指定验证条件,比如入库单的入库数量填成负数,入库单数量+现有库存因该大于零。因此条件如下:

 当前数据.入库数量+ 目标表.物料库存数>=0
  • 验证失败提示信息

验证失败之后给用户的提示消息

最终填写的页面如下:

图片

赋值

选择完目标表之后,下一步就是填写 如何给目标表的字段进行赋值。下面是赋值的页面:

图片

页面左侧是目标表的字段列表,点击列表中的字段,可以给选中的字段设置赋值的表达式。

本次示例中,我们需要对目标表的“物理库存数”和“库存总价”进行计算。

首先点击物料库存数, 添加入库单后,物料库存数会增加,因此物料库存数应该等于物料信息自身的库存数值+当前数据.入库数量,如下:

 目标表.物料库存数+当前数据.入库数量

图片

然后是库存总价,库存总价应该等于物料信息自身的库存总价+当前数据.入库数量乘以物料的价格,如下所示:

 目标表.库存总价+ 当前数据.入库数量*  源表.单价

图片

最后,点击“完成”按钮完成回调函数的添加:

删除业务对象回调函数

删除回调函数比较简单,在回调函数列表,选中要删除的回调函数,点击删除按钮,即可删除回调函数:

图片




联系我们
微信/QQ: 541002349
地址:武汉市洪山区珞狮路451号狮城翰园商场第三层C区
Email:tanyb02@163.com
网站: www.easybpm.co
Powered by NoderCMS