单据转换.常见问题.表单服务策略报错(实体服务规则正常)

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

单据转换.常见问题.表单服务策略报错(实体服务规则正常)

【场景】转换规则中的表单服务策略报错,但是在实体服务规则正常 【原理】实体服务规则自行指定实体,如果配置在单据体,就是在单据体逐行执行 【案例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' | 单据体| 当前行
如果赋值字段是当前头同样实现任一行满足的效果|

已学


单据转换.常见问题.表单服务策略报错(实体服务规则正常)

【场景】转换规则中的表单服务策略报错,但是在实体服务规则正常【原理】实体服务规则自行指定实体,如果配置在单据体,就是在单据体逐行执...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息