一、 需求
单据在进行业务操作时,有时候客户需要对单据分录行进行拆分行操作,以此来对分录行信息进行维护,在拆分行后可能需要对数量、金额类的字段值进行重新计算。
二、 解决方案
平台为了处理这种场景,提供一个标准的拆分行操作,操作代码entryrowsplitop,开发人员只需要在单据分录上的工具栏增加一个操作,并绑定对应的操作代码entryrowsplitop,即可实现行拆分操作。同时为了兼容部分字段需要计算的场景,平台提供了一个接口,kd.bos.ext.scmc.plugin.operation.IentryRowOpFormPlugin,开发人员只需要重写接口里的calQtyTypeFields方法,重写对应字段值的计算逻辑即可。
三、 开发者操作步骤
本案例以采购申请单为例。
步骤1
进入苍穹开发平台,在采购申请单表单界面的分录工具栏上新增一个操作,绑定操作代码entryrowsplitop,并填写分录标识和物料标识,绑定对应的插件,然后在行操作字段配置里可以选择需要携带的字段。
图1.绑定操作代码
步骤2
对于需要重新计算值的字段,在插件里实现对应的计算逻辑(下方以数量字段提供参考,开发者应根据自己的单据、实际用户需求进行修改)。
图2.插件基本逻辑
四、用户操作效果演示
拆分前
图3.拆分行前
拆分成3行后
图4.拆分行后
五、开发环境版本
V5.0.011
代码参考:详见附件
六、 适用单据
各单据均可参考此案例实现,需注意在对数量、金额类字段进行拆分计算时要进行尾差处理。
java代码-单据拆分行操作.zip(3.54KB)
推荐阅读