关于botp中sql多值取数的一些思考
背景来源:
二开单据生成凭证时,将每个分录预算扣减费用类型去重后将名称拼接在摘要上。即下图只需显示两个预算扣减费用类型即可
需求分析:
该问题按Java逻辑来思考,比较简单。即先传个单头字段去拿到去重后的分录idList,然后遍历这个List调用公式getFromObjectID()拿到这个对象,然后get对应值,在进行字符串拼接即可。以前文档说过#sql_val()只能取到一个参数,所以需要寻找其他办法。如下图所示我们发现#sql_col()比较符合我们的要求。
实现步骤:
在单据转换规则界面按F9进入自定义公式界面,然后参照以下逻辑输入脚本(仅供参考,脚本格式见附件)
下面简单描述下写这个脚本过程中踩得雷也就是我们所讲的误区
误区一:自定义脚本里面拿到的字符串数组不能用xxxx[i]获取其中某一个具体数据,所以这个只能用自定义函数实现
误区二:字符串和字符串数组需要区分,字符串获取长度用.length()方法,字符串数组直接.length即可
if(valueArr.length==0){
return null;
}
误区三:自定义脚本和自定义函数中通过对象获取值的方式不同
自定义脚本中通过对象获取值的方法:
formula_result = __BOTgetObjectFromID(#sql_val("")).adminOrgUnit;
自定义函数的写法:
__BOTgetObjectFromID( id ).get("name");
关于botp中sql多值取数的一些思考
背景来源:二开单据生成凭证时,将每个分录预算扣减费用类型去重后将名称拼接在摘要上。即下图只需显示两个预算扣减费用类型即可需求分析:...
点击下载文档
本文2024-09-16 22:52:14发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-50913.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章