需求场景:
铝材入库或发货时,件数是确定的,但是重量数据只有整车称重的总数,此时需要按照各分录行铝材理论重量的比例,分摊总重量,作为各行的实际重量;
解决方案:
1、 汇总理论重量到单据头的【理论总重】字段;
2、 【实际总重】在单据头录入;
3、 录入【实际总重】后,自动根据各行【理论重量】和【理论总重】计算【实际重量】
4、 处理各行合计【实际重量】与【实际总重】的差异
BOS设置的关键点:
1、 各行实际重量的计算:
在单据头字段【实际总重】中,调用单据体【理论重量】的值更新事件,用于计算各行的实际重量;单据体【理论重量】字段的值更新事件中的计算公式为:【实际重量】=【理论重量】/【理论总重】*【实际总重】
2、 各行合计【实际重量】与【实际总重】差异的处理:
在单据头字段【实际总重】的计算各行实际重量的值更新事件之后,新增一个调用单据体闲置字段或新增字段的值更新事件,该单据体字段的值更新事件计算公式为:【实际重量】=【实际重量】-(【计算总重】-【实际总重】);前提条件:单据体标识_FSeq =1 and 【实际重量】>0 and【计算总重】>0 and【实际总重】>0 ;
注意:
【计算总重】为单据头字段,是单据体中【实际重量】字段的合计数,【实际总重】为单据头上手工录入的总重量数据,单据体标识_FSeq =1表示只更新第一行的数据,也就是将差异数调整到第一行,如果要调整到最后一行,需用条件:(单据体标识_FSeq=总行数)进行比较,总行数可以通过单据头字段的值更新事件结合函数: count(单据体标识) 获得;
另有升级版,区分颜色进行重量分摊,参见此贴:https://vip.kingdee.com/article/506849804304010240
推荐阅读