巧用BOS的值更新事件配置各种费用按比例分摊到表体的分录行原创
金蝶云社区-苍穹之巅身份
苍穹之巅
16人赞赏了该文章 1,181次浏览 未经作者许可,禁止转载编辑于2021年12月19日 09:53:13


一、业务背景

       实际业务中存在某些费用按比例分摊到单据的表体分录行。

二、实现方式

下面以采购订单为例,介绍如何在BOS配置:


1、根据需要先依次建立所需的栏位,以下仅供测试参考

  比如:(括号里为栏位标识)

  表体: 分摊比例(F_QTMO_Decimal2)

             分摊后金额(F_QTMO_Decimal3)

             分摊后单价(F_QTMO_Decimal4)

             金额(FEntryAmount )---系统自带

              数量(FQty)---系统自带

   表头 :金额汇总(FBillAmount )--系统自带

              运费(F_QTMO_Decimal1)

 

     公式参考:

        金额汇总=sum(表体金额)

        分摊比例=表体金额/金额汇总

        分摊后金额=运费*分摊比例

        分摊后单价=分摊后金额/数量

2、表体金额汇总到表头金额汇总栏:

     找到表体的金额栏位,“汇总至上级字段”里选表头的金额栏位(这个可以参考采购订单的金额汇总)

blob.png

3、在表体栏位中找任意栏位(如:分摊比例),在其值更新事件里配置计算公式:

      选择服务类型为“计算定义公式的值并填写到指定列”依次添加如下公式,三个公式建立三个服务

---分摊比例=表体金额/金额汇总

 F_QTMO_Decimal2 = FEntryAmount /FBillAmount    

---分摊后金额=运费*分摊比例

 F_QTMO_Decimal3 = F_QTMO_Decimal1 * F_QTMO_Decimal4  

---分摊后单价=分摊后金额/数量  

 F_QTMO_Decimal4  =  F_QTMO_Decimal3 / FQty 

blob.png


    按照上图的做法,可以在表体的 分摊后金额的值更新事件里添加,当需要微调分摊后金额时可以触发倒算分摊后单价。

---分摊后单价=分摊后金额/数量

 F_QTMO_Decimal4  =  F_QTMO_Decimal3 / FQty 


4、在表头找到“运费”栏位,在其值更新事件里配置服务:

服务类型选“调用字段值更新服务”,然后在触发字段列表里勾选表体的“分摊比例”


blob.png

5、可以添加分摊比例、分摊后金额等栏位的单据体小计

在“明细信息”-“分组列信息”-“分组合计”里添加

blob.png

三、效果展示

      先依次录入单据的所有信息(除运费),如物料单价数量等信息,最后再录入运费,系统就会自动触发表体分摊比例栏位里的服务计算出分摊比例、分摊后金额、分摊后单价,

      需要比较运费总额与分摊后金额合计是否存在差异,存在差异的可手工微调最大金额行的分摊后金额,如下图:


blob.png



完毕!

赞 16