文/明道云实施顾问 黄鹏
随着零代码技术的不断发展,很多客户已经不满足于用零代码做简单的信息收集和数据整理,还希望能将其与ERP、MES、PLM、HR等业务系统结合,构建更复杂的场景化应用。本文主要针对于给如何利用零代码平台来实现这些复杂的逻辑提供一些思路。
这里需要先说明一个观点,零代码平台的“拖拉拽”指的只是应用构建过程中的一种操作方式,它的实质是为了快速构建工作表以及工作表之间的数据关联,是新用户能够快速上手的基础,但是单纯的工作表的堆积并不能称之为一个应用,它还需要根据业务特点来增加数据的自动处理能力、人员协同能力。只有同时具备这些元素,才能让一个应用具有可操作性,从而跳出“信息收集”这个初级应用阶段。
良好的流程处理能力,是一个合格的零代码或低代码平台必须要具备的,它是实现业务逻辑乃至非常复杂逻辑的核心。所谓流程处理,就是通过一个事件触发,来完成数据的增删改查,人员审批、发送通知提醒、数据运算,甚至调用外部数据或推送数据到外部。而这个触发事件,可以是点击一个按钮,新增一条数据,更新某一个值,或者是到了某一个特定时间点,方式很多。
那么如果牵扯到非常复杂的逻辑,用零代码平台能处理好吗?我认为,在零代码平台具备良好的流程处理能力的前提下,答案是肯定的。但是,搭建者面对一个复杂的业务逻辑,要学会如何将其拆解,将复杂的逻辑拆分成多个简单的事项,从而看到复杂事物的本质。这才是真正开始上手进行搭建之前需要分析提炼的东西,也是解答此类问题的关键。
关于如何拆解,我用一个例子来进行说明。
这是一家化工企业,生产的是铺设室内球场的材料。
需求是:“销售的时候只需要输入球场的面积,就自动产生该笔销售的材料清单,并且如果发现库存不足,需要将不足的部分自动转为生产单进行生产,生产单又需要根据生产内容计算出来所需的原材料清单,方便生产部门进行领料。”
够复杂吧,这个需求的目的就是通过输入简单的数据,由系统自动产生过程中的必要数据,从而减少人的工作量。
那么我们该如何进行拆解呢?
首先,需要判断这样一个需求,它的基础资料表单应该如何建立。不难看出,由于存在数据转化,最开始是球场,然后是组成球场的产品,最后是生产产品所需的物料,所以基础的数据表应该是这种结构:
我们只需要通过拖拉拽三张表,就可以完成以上数据结构,如下图:
怎么样,这个不难吧?只要对零代码平台有初步的掌握,都能够做出来。
其次,我们来看后续业务过程。因为存在销售行为,所以必然会有销售订单以及销售订单明细两个表,因为销售时填写的时球场面积,所以把球场作为销售明细即可,然后球场的面积需要转化为产品,那么就需要多加一个转化表,因为存在前面所说的三表的对应关系,所以转化的时候是有逻辑可循的,不难实现。遵循这个原则,我们可以建一个销售订单如下:
可以看出,订单的明细是要球场面积为100,有了这个数据,我们根据上面设置的对应关系,很容易就能得出来所需要的具体产品的数量,一般我们会设计为点击一个按钮实现转化。如图:由球场面积100,通过转化之后,得出产品A300,产品B200,产品C100,同时如果系统做了库存管理,那么同时也可以抓到它的实时库存如图所示:
截止到此,我们也仅仅是新增了一个转化表关联到了订单,同时做了一个转化按钮的工作流,即实现了转化的功能。新的用户通过简单的学习,都可以掌握这个技能。
第三,需要根据实时库存数将不够的数量转为生产。那么我们来看,目前产品数量有了,实时库存量也有了,需要转生产的数量是不是自然就出来了?
所以下面我们只需再来建立一个生产单的表,将要生产的产品塞到这个表里即可,同样我们也通过设定一个按钮来实现。如图,点转生产单按钮后,自动生成需要生产产品A100个,产品B50个,产品C因为库存够所以不需要生产。
到这里,是不是也很简单,和前一步一样,简单学习一下工作流的原理就可以做到。
最后,根据生产单,自动生成领料数量,有了前面的基础,这里简直是SO EASY。我们来看,只需再新增一个领料单的工作表,与生产单进行关联即可。仍然是设定一个产生领料单的按钮,通过点击按钮,就可以根据前面设定好的对应关系计算出来生产所需的原材料数量,并自动产生领料单。
从实例来看,从开始到结束,仅仅是录入了一个销售订单的球场面积,而之后只需要在不同的节点来点击按钮即可完成所需的运算,并把运算结果放到相应位置,所有一切都是基于零代码平台的能力,通过配置即可完成。
结语
所谓复杂逻辑,多数是因为关联的数据对象较多,相互关系又是环环相扣所致。而实现的关键则是通过梳理,将事物的本质从复杂中拆解出来,化繁为简,从而利用现有平台的能力和自身掌握的搭建技巧逐一解决即可。