发货通知单选择序列号如何排除被之前发货通知单使用过但未出库的序列号
销售模块有很多单据都使用了序列号,而序列号是有状态的,销售出库单和销售退货单作为库存单据,在保存和审核时都会更新序列号的状态。销售出库单默认只能选择在库状态下的序列号,销售出库单一旦保存,序列号的状态就变为待出库,销售出库单审核后序列号变成出库状态,因此销售出库单的序列号录入设置里面就可以配置过滤掉其它的销售出库单已经使用过的序列号,如下图1-1所示:
图1-1
上图1-1是默认的销售出库单序列号录入设置界面,从上面的序列号状态转换的描述可以得出这种针对库存单据序列号会自动排除同一种单据已经使用过的序列号是没有问题的,但如果是针对非库存单据是不会自动排除同一种单据已经使用过的序列号,这是因为非库存单据的保存和审核都不会改变序列号状态,因此非库存单据也就不会过滤同一种单据已经使用过的序列号。
预计在2024年3月版本中,标准功能将提供了序列号过滤器插件'Kingdee.K3.BD.Business.SerialInput.SerialFilter.ExclusiveSerialFilter,Kingdee.K3.BD.Business',本插件用于排除同一种单据已经使用过的序列号,可以在非库存单据中配置此插件,比如在发货通知单上配置,则选择序列号时会自动排除其它发货通知单上已经使用过的序列号,通过扩展发货通知单元数据,并在序列号录入设置中的'序列号过滤插件'字段中输入值 Kingdee.K3.BD.Business.SerialInput.SerialFilter.ExclusiveSerialFilter,Kingdee.K3.BD.Business 即可,如下图1-2所示:
图1-2
注意事项:
1,标准功能默认不会使用此插件,需要二开配置,由于本序列号过滤插件是会排除其它同一种单据上已经使用过的所有序列号,因此可能存在性能问题(如果存在性能问题,建议针对这种业务自定义过滤插件,比如只排除近一年同种单据上已经使用过的序列号)。
2,如果序列号录入设置中有配置单据状态和作废状态字段映射,则排除逻辑会剔除暂存和作废的单据中的序列号。
3,此插件是针对所有非库存单据排除同一种单据已经使用过的序列号插件,并非只针对发货通知单,如果是在发货通知单上配置此插件,则此插件是不会考虑退货的场景,因此如果发货通知单A使用了序列号SN001,最终A下推了销售出库单后又通过销售退货单退货了序列号SN001,此时如果创建发货通知单B,则还是选择不到SN001的序列号,因为A已经使用过了SN001,可以重写插件'Kingdee.K3.BD.Business.SerialInput.SerialFilter.ExclusiveSerialFilter,Kingdee.K3.BD.Business'中的HandleSerialNos方法来干预退货场景。
发货通知单选择序列号如何排除被之前发货通知单使用过但未出库的序列号
本文2024-09-23 02:47:03发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-154676.html