帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
12
帖子
0
勋章
118
Y币

踩坑贴!前人踩坑,后人避雷

[复制链接]
发表于 2023-2-6 14:16:23

接触这个系统几个月,不得不说处处是坑,到处是雷,让人防不胜防!在论坛发了很多求救贴也提交不少工单,还好,用友还算给力,大多数都解决了。
前人踩坑,后人避雷,把遇到的坑列出来,希望大家少走弯路吧。

1:deleteById
下图是说明文档截图



这是脚本编辑器里的截图


可以看出参数object不一致!其次,参数billnum也没说是列表还是单卡编码(实测都行)。但还没完,运行报错
Can't find attribute AT16AFB85C09A00002.AT16AFB85C09A00002.Merchant/enable
大胆猜测缺少enable这个字段,而且这个字段是系统字段,果然在建实体时要勾选【档案状态】

2:limit
下图是说明文档截图


按说明文档imit是方便分页的,第一个参数是page,第二个是size,按理说返回的条数都是size(除最后一页),但并非如此,因为系统过滤掉了空行数据,所以当有空行数据时
返回的行数时多时少,这和数据库不一样,当时我因为受数据库思路影响,一直不得其解。
过滤空行有好处就是避免后期过滤,但也有问题,比如分页,条数时多时少。且如select name from table where name is null 这样的语句会返回0条
3:删减实体字段
删减实体字段后,列表,单卡,参照里的字段并不会同步,设计器里也不会有任何提示,只能手动更改,很麻烦也很容易遗漏
4:后端set方法
set(字段,值)中的值必须是字符串,数字不行,不知为什么这样设计??
5:  参照和引用
参照和枚举都是存储的id,系统指定key为id不能自己指定,更改参照和枚举,之前的数据都会变,后期参照和枚举维护特别小心。

鉴于时间关系,后期再补充吧!



本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
12
帖子
0
勋章
118
Y币
6:yya把柄
yya调试时好用,但有时候会失灵

1)同时具有pc和手机端页面时,如果不是从设计器里预览,需要选择iframe才能调出yya,如下图




2)cb.loader.runCommandLine加载外部单据模态框时会覆盖yya,可通过getCache("parentViewModel")来获取父yya(viewmodel??)

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
12
帖子
0
勋章
118
Y币
7:子表缓加载
谨慎使用,不然getAllData可能获取不了真实数据,而且测试中发现开启这个功能,如果表格超过50行,页面加载完时会调用表格的afterSelect事件,Select最后一行,原因不明
12
帖子
0
勋章
118
Y币
8:后端函数(包括规则链),后端API,前端函数的选择
优先度,前端函数》后端API》后端函数
原因:后端函数很难调试,而且也无法获取返回值,前端函数效率高方便调试,但后端API能用yonql和跨域(diwork和yonbip.diwork)
12
帖子
0
勋章
118
Y币
9: ObjectStore.updateById 更新字段问题
该函数更新字段值不能为null,不然会被忽略
12
帖子
0
勋章
118
Y币
10:系统事件
个人觉得系统事件有两点需要完善,一是数据,二是截断,数据即事件参数能传入需要的数据,而且能更改。截断即用户可以终止后续事件。
另外用友系统事件还有个坑,就是每个事件外套了个try catch,代码错误虽然会报错,但接下来的代码会继续执行,会继续提交保存,这是一个非常危险的坑!!!!
143
帖子
2
勋章
4万+
Y币
BIP318932 · 2023-3-1 11:518:后端函数(包括规则链),后端API,前端函数的选择
优先度,前端函数》后端API》后端函数
原因:后端函数很难调试,而且也无法获取返回值,前端函数效率高方便调试,但后端API能用yonql和跨域(diwork和yonbip.di ...

各有各的能力,后端函数一般用于扩展规则链。后端函数和api函数都能使用yonql,他们是后端函数没有跨域一说。至于调试后端函数,沙箱租户是有调试的能力的。这种使用没有优先度一说,分场景选择
143
帖子
2
勋章
4万+
Y币
BIP318932 · 2023-3-13 11:5110:系统事件
个人觉得系统事件有两点需要完善,一是数据,二是截断,数据即事件参数能传入需要的数据,而且能更改。截断即用户可以终止后续事件。
另外用友系统事件还有个坑,就是每个事件外套了个try catch,代码 ...

前端的预制的监听事件,事件是预制好的,不能想传什么就传什么。前端函数里要阻止后续执行  自己写好自己的代码逻辑   确保return false的执行。低代码平台肯定有自己的设计考虑。
12
帖子
0
勋章
118
Y币
yonyouhmm · 2023-3-13 13:46各有各的能力,后端函数一般用于扩展规则链。后端函数和api函数都能使用yonql,他们是后端函数没有跨域一说。至于调试后端函数,沙箱租户是有调试的能力的。这种使用没有优先度一说,分场景选择 ...

跨域是指invokeFunc调API不用考虑跨域,而单独发起请求可能会遇到跨域问题
12
帖子
0
勋章
118
Y币
yonyouhmm · 2023-3-13 13:51前端的预制的监听事件,事件是预制好的,不能想传什么就传什么。前端函数里要阻止后续执行  自己写好自己的代码逻辑   确保return false的执行。低代码平台肯定有自己的设计考虑。 ...

平台受众广,考虑的肯定比我个人更多,低代码确实也不错,比如yonql,好用~
但从最近的个人使用情况看,还有许多需要完善的地方。比如
beforeSave可以更改数据,但beforeSetDataSource不行
return false也不是所有事件都有效,比如beforeWorkflow……
以及大大小小的坑。
低代码没问题!从使用者角度来说,代码越少越好!但最怕的是代码少了,但花的时间并没少
12下一页
您需要登录后才可以回帖 登录

本版积分规则