【避坑指南】HAP搭建雷区分享 🚀️ 需求【实现关键】:【多动手,多动手,多动手】🚀️

分享 避坑指南搭建雷区  收藏
36 / 3032

❗❗❗ 以下文字仅代表作者个人观点,
1.不参与政治,不带有感情偏向,纯粹的搭建雷区分享,希望道友们少踩雷,多躺平,快乐捞钱搞钱,
2.如有错误,请各位道友批评指正,不吝赐教 ❗❗❗
**image.png


需求搭建【实现关键】:【多动手,多动手,多动手】,多花时间去梳理需求的逻辑和流程细节,然后再去打样逐步优化去复杂化 🆗,去复杂化 🆗,去复杂化 🆗
把复杂的事情做简单 ✅✅ ✅,而不是把复杂的事情越做越复杂 ❌❌❌
image.png

❗❗❗ 基本搭建思路:❗❗❗
1.分析需求及业务场景,角色,流程,数据流转逻辑

2.新建工作表,初次确定工作表字段的属性及取值逻辑,关联记录子表灵活选取,字段默认值,去重规则,编码规则等,后续在精确确定 ❗❗❗ 很多字段在刚开始创建工作表时无法精确定 ❗❗❗ 比如到底是用文本还是数字 ❓❓❓ 这里面有很多细节,不能简单拍脑袋就做决定,需要通盘思考,比如排序必须用数字,如果后缀单位不固定,可以用文本,文本适用场景多,但是文本转数字又会发生修约失真,所以到底是用文本和数字,这是个需要多个维度综合考量的问题 ✅✅ ✅
单据类型表单创建,单号,日期,经办人,单据状态,备注,附件 单据编号,单据状态,单据日期,经办人,等可以形成固定搭配,单据 6 件套

3.每个工作表基本有 3 种类型字段,1:基本字段,2:业务字段,3:隐藏功能字段, 重点在 23✅✅ ✅
其中隐藏字段的用途,有些用它来存值查询,有些用它触发工作流,用完了以再吧它的值清空归零,这时候它就是个工具人,有时候也是心酸的备胎~~
image.png

4.没有去重的系统都是耍流氓 ❌❌❌,必须无条件学会去重,单条获取,记录 id,单个字段/多个字段唯一性字段设置,去重方式如下:设置唯一性,单条获取,串行,通过记录 id 获取等 ✅✅ ✅
5.自定义动作根据需要设置限制条件,有些按钮要避免重复点击,点击后工作流修改状态来限制禁用自定义动作可以防止重复点击触发,可以和界面推送联动,提高操作衔接
6.每个工作表设置唯一性字段,单个字段,多个字段用文本组合 + 文本默认值 设置唯一性
7.成员按需设置只读和拥有者,一般和人员档案关联,人员档案/人员信息等需要重新建立一张表
这里为什么人员要单独新建一张表,而不是用 HAP 自带的系统用户或者角色,这里就不过多赘述了,懂的都懂,不懂的不懂,解释太多,还不如睡大觉
image.png

8.级联只适用数据量少的情况,维护体验极差,也不能直接导入,能不用就不用,实在不行,用几个工作表组合实现树形分组取代级联
9.区分关联记录和子表,如果是关联记录再嵌套关联记录,此时子表失效,什么时候更适合关联,什么时候适合子表,什么时候两者都可以需要区分清楚,子表无法嵌套子表,关联记录可以嵌套子表
10.自定义动作需要去重时,必须串行,Why? 比如工序执行
11.子流程,记录 id,流程参数是基本功,无条件掌握
image.png

12.选项集和关联记录区别,关联记录用户可以自行维护,选项集需要比较高的权限才可以维护,而且只适用单个字段而且数据量少而且固定静态数据,当数据不止一个字段时,或者需要被后续逻辑关联时需要使用关联记录
13.统计报表,在聚合表更新前只能单表,如果是多表数据分析,需要新建一张新表,然后用工作流刷数据,将数据集成在这张新表上或者花钱买第三方报表工具,说多了都是泪,聚合表更新后可以通过聚合表解决
14.尽可能多用关联记录,正向关联,反向关联,用多了你就知道其奥妙,通过关联记录可以随时获取其他字段备用
15.工作流无法更新公式字段,所以 到底是用文本/数字字段设置函数默认值,还是用公式字段需要斟酌
image.png
16.临时表 Temp 的灵活运用,作为中间过渡数据表,承载部分业务逻辑,减轻工作流书写难度
17.复杂编码场景复杂的编码规则从来都是自己写工作流实现,当自带自动编码无法满足需求时
参考案例:https://bbs.mingdao.net/topic/3342
18.汇总,工作表汇总组件慎用(系统工作表原生自带的汇总组件)不仅有数量限制,更致命的是有延迟,异步更新,比如说需要及时算出总数,然后马上用该字段的值进行逻辑处理(触发工作流或者传给子流程等)对汇总字段及时性要求高的场景都不适合直接用汇总字段
19.他表字段无法用于工作流做后续计算,如果该他表字段不只是用于数据传递,还需要用于数据逻辑处理,此时需要根据他表字段的属性,此时添加一个过度字段,该字段的值默认等于他表字段,建议该字段属于和他表字段相同,文本对文本,数字对数字。
20.喜大普奔循环已更新上线 https://bbs.mingdao.net/topic/3548 可以自己新建一个临时表存储循环条件,然后通过该条件来执行循环和跳出停止循环,
21.高级封装业务流程(PBP)使用场景:不同的工作表,触发条件类似,业务逻辑类似,可以将这些场景集中打包做成一个工具类的流程,从开发的角度,即写一个工具类或者功能性函数,被其他函数调用。
22.递归
23.搭建一个数据分析引擎,自动分析数据
24.H5
25.小程序
26.还没下想好,待续......