巧用BOS的值更新事件配置各种费用按比例分摊到表体的分录行
一、业务背景
实际业务中存在某些费用按比例分摊到单据的表体分录行。
二、实现方式
下面以采购订单为例,介绍如何在BOS配置:
1、根据需要先依次建立所需的栏位,以下仅供测试参考
比如:(括号里为栏位标识)
表体: 分摊比例(F_QTMO_Decimal2)
分摊后金额(F_QTMO_Decimal3)
分摊后单价(F_QTMO_Decimal4)
金额(FEntryAmount )---系统自带
数量(FQty)---系统自带
表头 :金额汇总(FBillAmount )--系统自带
运费(F_QTMO_Decimal1)
公式参考:
金额汇总=sum(表体金额)
分摊比例=表体金额/金额汇总
分摊后金额=运费*分摊比例
分摊后单价=分摊后金额/数量
2、表体金额汇总到表头金额汇总栏:
找到表体的金额栏位,“汇总至上级字段”里选表头的金额栏位(这个可以参考采购订单的金额汇总)
3、在表体栏位中找任意栏位(如:分摊比例),在其值更新事件里配置计算公式:
选择服务类型为“计算定义公式的值并填写到指定列”依次添加如下公式,三个公式建立三个服务
---分摊比例=表体金额/金额汇总
F_QTMO_Decimal2 = FEntryAmount /FBillAmount
---分摊后金额=运费*分摊比例
F_QTMO_Decimal3 = F_QTMO_Decimal1 * F_QTMO_Decimal4
---分摊后单价=分摊后金额/数量
F_QTMO_Decimal4 = F_QTMO_Decimal3 / FQty
按照上图的做法,可以在表体的 分摊后金额的值更新事件里添加,当需要微调分摊后金额时可以触发倒算分摊后单价。
---分摊后单价=分摊后金额/数量
F_QTMO_Decimal4 = F_QTMO_Decimal3 / FQty
4、在表头找到“运费”栏位,在其值更新事件里配置服务:
服务类型选“调用字段值更新服务”,然后在触发字段列表里勾选表体的“分摊比例”
5、可以添加分摊比例、分摊后金额等栏位的单据体小计
在“明细信息”-“分组列信息”-“分组合计”里添加
三、效果展示
先依次录入单据的所有信息(除运费),如物料单价数量等信息,最后再录入运费,系统就会自动触发表体分摊比例栏位里的服务计算出分摊比例、分摊后金额、分摊后单价,
需要比较运费总额与分摊后金额合计是否存在差异,存在差异的可手工微调最大金额行的分摊后金额,如下图:
完毕!
因为金额是类似于选单携带出来的,无法触发,这个需要怎么做呢,我在保存那里调用金额的触发,发现点保存的时候,汇总金额会一直发生变化
巧用BOS的值更新事件配置各种费用按比例分摊到表体的分录行
本文2024-09-16 19:06:44发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-26465.html