单据下推的时候提示,表达式计算出错/条件表达式结果转换失败!!!
场景:单据下推的时候提示,表达式计算出错
错误信息如下:表达式计算出错/条件表达式结果转换失败
【原因】22年9月后,列表下推做了取数优化;
<1>单据界面使用的是当前加载的数据包做条件判断,数据包是完整的不会出现此问题;
<2>历史版本,列表下推时需要把整个单据都加载出来,每次点击都会加载,非常浪费数据库资源和服务器内存;
<3>修改之后,列表下推的选单条件策略计算,会根据条件中需要用到的字段进行解析,加载使用的字段
<4>表达式解析不支持复杂计算(如lambda),因此lambda中的字段没有读取,导致选单条件策略计算时报错
【处理方案】
由于python不支持复杂表达式的引用字段解析,建议后续使用单据体字段或者其他复杂表达式时做以下处理
<0>原表达式:举例说明
( FBillTypeID.FNumber == 'CGDD21_SYS' or FBillTypeID.FNumber == 'CGDD22_SYS' ) and ( len(filter(lambda x:x. FENTRYSELFP0263.FNumber <> '002',FPOOrderEntry))>0 ) ( name 'FPOOrderEntry' is not defined )
<1>修改后表达式:举例说明
FENTRYSELFP0263 !=null and FPOOrderEntry !=null ( FBillTypeID.FNumber == 'CGDD21_SYS' or FBillTypeID.FNumber == 'CGDD22_SYS' ) and ( len(filter(lambda x:x. FENTRYSELFP0263.FNumber <> '002',FPOOrderEntry))>0 ) ( name 'FPOOrderEntry' is not defined )
<2>逻辑说明:把复杂表达式的字段,单独写一个 field != null,用作引用解析
差异点:在原表达式前面新增(lambda条件相关字段)不等于null,用作引用解析
红线部分代表复杂表达式没有解析成功,因此需要增加 FMaterialId != null
单据下推的时候提示,表达式计算出错/条件表达式结果转换失败!!!
场景:单据下推的时候提示,表达式计算出错错误信息如下:表达式计算出错/条件表达式结果转换失败【原因】22年9月后,列表下推做了取数优化...
点击下载文档
本文2024-09-16 18:15:03发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-20914.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章