电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

实体服务规则如何条件地设置单据体字段汇总到单据头字段

来源:金蝶云社区作者:金蝶2024-09-162

实体服务规则如何条件地设置单据体字段汇总到单据头字段

    以销售订单为例,假设客户在销售订单单据头上二开一个名称为'F_ora_QtySum'数量字段(在基本信息页签中),如下图1-1所示:

image.webp

    图1-1


    标准功能中销售订单单据体上已有一个FQty字段,那如何设置将单据体中所有单位为kg的物料的数量汇总到单据头二开的字段‘F_ora_QtySum’上呢?此时可以在单据头基本信息的实体服务规则中再添加一个类型为‘计算定义公式的值并填写到指定列’的服务,前提条件可设置为:FQty <> null AND FQty <> 0 AND FMaterialId <> null  ,如下图1-2所示:image.webp

图1-2


    注意:虽然是在单据头基本信息上写的实体服务规则,且在写前提条件中可选择的字段只有基本信息页签中的字段和一些函数,但是还是可以自行输入单据体中的字段作为前提条件表达式。‘计算定义公式的值并填写到指定列’中的表达式为:F_ORA_QTYSUM = sum(map(lambda x : (x.FQty if(x. FUnitID<>null and x.FUnitID.FNumber.__eq__('kg')) else 0), FSaleOrderEntry))

如下图1-3所示: 

图1-3


    这里说明一下,如果需求是要在更新'销售数量'时就条件汇总到二开的'F_ora_QtySum'字段中,那图1-2的前置条件表达式就要包含FQty且要在BOSIDE中勾选FQty字段的'即时触发更新事件',另外,如果图1-3的'计算定义公式的值并填写到指定列’是复合条件,比如说限制销售单位必须为kg且仓库必须是X仓才汇总二开字段,那么最好也要在前置条件中包含单位和仓库,这样就能达到更新仓库或单位时重新计算汇总值,同理真实环境最好也要在图1-3中勾选'行删除',因为删除行时一般也是要重新计算汇总值,论坛地址‘ https://wenku.my7c.com/article/87214388838194432  ’ 中的这个表达式是错误的,它没有按python语句写,如下图1-4所示:

image.webp

图1-4


    针对上面的表达式,如果是写在订单明细单据体中的实体服务规则,则会报‘BOSDynamicRow is not iterable’异常,猜测是

实体服务规则如何条件地设置单据体字段汇总到单据头字段

以销售订单为例,假设客户在销售订单单据头上二开一个名称为'F_ora_QtySum'数量字段(在基本信息页签中),如下图1-1所示: 图1-1 ...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信