单据转换.常见问题.表单服务策略报错(实体服务规则正常)
【场景】转换规则中的表单服务策略报错,但是在实体服务规则正常
【原理】实体服务规则自行指定实体,如果配置在单据体,就是在单据体逐行执行
【案例1】实体服务规则使用单据体字段
(0)实体在单据头,访问单据体字段,是一个集合
![image.webp](/download/01007c743f59e940471ab60c303f9ed6cc79.webp)
不能访问基础资料的子属性
![image.webp](/download/0100b21cbaffdf634ea6803d4812b09a750d.webp)
(1)实体在单据体,访问单据体字段,是一行数据
![image.webp](/download/0100d3744acfe73346fc8f59a2815280d9b1.webp)
可以访问这一行的基础资料的子属性
![image.webp](/download/0100b15f9eff2c5d40259dfdebb9a857e611.webp)
【案例2】表单服务策略使用单据体字段
(0)如何设置表单服务策略的运行实体
依赖赋值公式字段所属实体
(1)赋值字段是单据头字段,那就是单据头运行
错误信息与实体服务规则写在单据头错误信息一致
![image.webp](/download/0100adbd35af6f3c40fead0e520d058ea0be.webp)
![image.webp](/download/0100a6df4d1a6b2f4aa6859022b6cc3e78d0.webp)
(2)赋值字段是单据体字段,那就是单据体运行
![image.webp](/download/0100a0db875ca9714ed0a330879547082076.webp)
【结论】
如果需要表单服务策略在单据体运行,那么赋值字段必须有单据体字段,如果实际上没有的话,可以任一的增加一个单据体字段实现Field = Field,用作确定该服务的运行实体
【最佳实践】
| 实体服务规则 | 前提条件案例 | 配置实体 | 效果 |
| ---- | ---- | --- | ---| ---|
| 仅单据头字段 | FCreatorId != null and FCreatorId.Id == 123 | 单据头| 内码判断|
| | FCreatorId != null and FCreatorId.FName == 'abc' | 单据头| 编码、名称判断
注意可能有多语言逻辑| | 单据体字段 | len(filter(lambda x:x.FMaterialid.FNumber =='abc', FSaleOrderEntry))>0 | 单据头| 存在任一行满足| | | len(filter(lambda x:x.FMaterialid.FNumber =='abc', FSaleOrderEntry)) == len(FSaleOrderEntry) | 单据头| 全部行满足| | | FMaterialid.FNumber =='abc' | 单据体| 当前行
如果赋值字段是当前头同样实现任一行满足的效果|
注意可能有多语言逻辑| | 单据体字段 | len(filter(lambda x:x.FMaterialid.FNumber =='abc', FSaleOrderEntry))>0 | 单据头| 存在任一行满足| | | len(filter(lambda x:x.FMaterialid.FNumber =='abc', FSaleOrderEntry)) == len(FSaleOrderEntry) | 单据头| 全部行满足| | | FMaterialid.FNumber =='abc' | 单据体| 当前行
如果赋值字段是当前头同样实现任一行满足的效果|
已学
单据转换.常见问题.表单服务策略报错(实体服务规则正常)
【场景】转换规则中的表单服务策略报错,但是在实体服务规则正常【原理】实体服务规则自行指定实体,如果配置在单据体,就是在单据体逐行执...
点击下载文档
本文2024-09-16 18:20:01发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21463.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章