动作 - 更新或新增数据

新增数据可以帮我们自动填写创建数据,然而为了避免重复数据,我们有时需要考虑更多。

比如,某大型建材批发商,给很多本地小型建材经销商供货,为了提高效率,这些订单都是按月结算的。每个月末,需要将各经销商的订单汇总出月结账单。于是,我们希望每录入一笔订单时,自动为该经销商创建月结算单,月结算单关联了该经销商在当月的每一笔订单,从而可以聚合出总的费用。

显然,通过自动化直接新增月结算单是不行的,因为经销商在一个月内可能发生多笔交易。所以订单录入时,月结算单可能已经存在,而如果存在的话,则只需要叠加新的订单。

「更新或新增数据」适用于类似的场景,它可以从目标业务表中查找数据,如果找到就执行更新数据的某些值,否则就自动创建一条新数据。

场景举例

  • 每录入一笔新订单,自动按月汇总各经销商的结算单
  • 每次产品入库后,自动更新库存明细 (产品仓库数量)
  • 当图书采购申请通过后,自动汇总到当月的图书采购明细中
  • ...

如何使用

添加一个自动化任务,设置好触发条件后,添加动作「更新或新增数据」。以自动创建月结算单为例

触发条件:符合条件的数据出现 (有新的订单明细产生) 执行动作:更新或新增数据 (查找当前月份该经销商的月结算单,追加这笔新订单,如果结算单尚不存在,则生成一条新的月结算单)

在「更新或新增数据」的节点配置中,你需要如下设置:

  1. 选择业务表
  2. 设置查询条件,查询符合条件的 1 条数据。如果查找结果为多条,则不会执行接下来的更新、新增操作。
  3. 在这个案例中,即查找这笔新订单中的经销商的月结算单。通常来说,对于一个经销商在某月的结算单或者不存在,或者仅会存在一条。
  4. 更新操作:如果查找到了月结算单,那么需要将这笔新的订单,追加到「月汇总订单」这个关联表字段中。
  5. 新增操作:如果未查找到,则会自动生成该经销商在当月的结算单。

补充说明

如果仅希望更新数据,而不需要自动新增,该如何处理? 目前自动化尚不支持仅更新数据,尽请期待后续产品更新。

若查询结果多余 1 条,则忽略更新、新增操作,且会收到执行失败的通知。

最后更新时间: 06月08日 19:26