回款金额自动分配

0 / 60

文/明道云销售顾问 熊敏

接触过很多不同客户的不同具体场景,这些不同场景在运用明道云的基础功能去组合实现时,会猛然发现这都是同一个关系,使用到功能点,和配置逻辑基本都是一致。接下来就分享“根据合同节点自动分配回款单金额”这个具体的客户场景落地。

1、场景需求解析

合同管理中有多个合同节点,每个合同节点有对应的待收款数据,客户在收到开出的发票后会进行付款,财务做回款登记,此时需要将回款的金额和对应合同节点的金额按顺序(合同节点的日期先后顺序)进行匹配、扣减运算,直到分配完本次的回款金额。

通过电话了解到该场景时,其实我对涉及到数据对象之间的关系是比较懵的,于是又沟通了一遍,边沟通边用纸笔写数据对接,以及对应关系图帮助理解,初步拆开数据对象。

2、需求初落地

梳理完成数据关系后,发现这个场景的难点就是在流程设计上,需要初始数据(回款金额)和已有标准的数据(合同节点)按顺序(合同节点的日期先后顺序)一次进行对比,扣减,每一轮的扣减后的剩余数据再和下一条数据对比,以此循环。

这一搞明白之后,就和前几天我们给一个有绩效管理需求的客户所做的绩效评级人数区间分配服务简直一摸一样,甚至还简单了一些,于是我请教了我们的实施江浩同学,开始通过系统实操落地需求了。

关键功能:子流程的依次执行、流程参数的使用。

系统配置:落地方案

  1. 工作表配置:

先完成数据存储表【工作表】配置,很简单,配置好 4 个数据对象的关联关系即可。

  1. 工作流配置:

验证:输入简单数据执行流程验证结果

输入简单数据验证流程配置的正确性。

发现问题/阻碍

输入数据执行测试,发现数据结果明显和理论有误,开始通过对系统功能的了解、结合查看工作流执行历史、工作表日志情况找问题,原因是关键功能【流程参数】并没有随着第一次对比运算而更新为最新的值,被下一次对比运算使用,进入流程运算的一直都是最初的数据(回款金额)。

3、落地遇阻,思考换关键对象

每一次对比运算的剩余金额不能通过被【流程参数】使用到,那如何才能用到这样的数据呢?方案便是将计算结果写入表单,进入流程使用,运算一次更新一次该数据。

配置如下:

  1. “回款工作表”:增加了一个字段【子流程引用计算值】;
  2. 工作流:流程参数用来查找数据,而不是存储数据;更新节点增加对该辅助【子流程引用计算值】字段的更新。

前后两种方案的逻辑配置是一样的,看看细节的功能对比:

  1. 工作表对比:增加了存储数据的复制字段【子流程引用计算】

  1. 工作流对比:

4、启发

这个需求落地过程和一直以来的“拆流程,加中间数据,以繁化简”的思路吻合。

比如之前用该思路解决每月最后一天定时触发提醒、汇总流程。拆问题难点:

  1. 客观事实:每个月最后一天日期不是固定的。
  2. 工具限制:当前系统的定时触发不支持做日期运算。

第一步:解决第一个问题:如何计算每个月的最后一天日期;

第二步:思考已有的条件如何运用。知道了计算方式,但是定时触发不支持做运算,那直接计算出最后一天日期的数据,该如何用起来;

第三步:拆。系统有按日期字段触发功能,将运算数据写入表单中,用来作为“定时触发”的触发器、条件。