关于botp中脚本编写常见注意事项
现场背景:最近接了不少脚本报错,java.lang.NullPointerException
at com.kingdee.bos.kscript.dom.expr.BinaryOpExpr.output(BinaryOpExpr.java:83)这类异常是典型的脚本报错,下面我们来分析几个常见用法
案例一:sql写法
BOTgetObjectFromID(#sql_val("你要的拼接的sql"));
sql编写注意事项:
正常我们的sql是这样的sql = select * from 表名 where 条件 = 'xxxxxx';
所以针对标准的写法应该是以下这种用“+”作为连接符拼接起来
#sql_val("SELECT FID FROM T_MM_ProjectGroup where FNUMBER = '" + 1.2 + "'"))
注意:#sql_val()语法只能查出一个参数
案例二:脚本中中获取某个对象的具体值写法
误区:我们很多人java写多了dep脚本写多了就会养成一个习惯拿到对象后直接.get(xxx属性)这个在dep和普通java是可以的在dap中是不能这样处理的,正确用法是拿到对象后去.这个字段在数据源中对应字段名,正确写法如下:
formula_result = __BOTgetObjectFromID(#sql_val("")).adminOrgUnit;
案例三:关于类型转换问题(这个和java类似,不用像dep中获取全路径后,再去操作。但对象仍然是一个弱对象需要用var接收)
以日期date类型转化为String为例
new java.text.SimpleDateFormat("yyyy-MM-dd").format(发货通知单.业务日期).substring(5,7)
以上问题都不是我现在配置时出现的问题,还有别的注意事项或者解决办法吗?
关于botp中脚本编写常见注意事项
本文2024-09-16 22:52:18发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-50922.html