寄售结算单结算明细与选单明细数量不一致的解决办法原创
金蝶云社区-angen
angen
4人赞赏了该文章 987次浏览 未经作者许可,禁止转载编辑于2022年12月19日 11:14:29
summary-icon摘要由AI智能服务提供

本文介绍了在星空版本PT-146930 [8.1.0.20221110]中,寄售结算单自动匹配发货功能因补丁调整导致的数量不一致问题。补丁修改了匹配发货逻辑但未同步修改单据转换排序,导致在某些情况下自动匹配发货的数量与选单明细不一致。问题通过修改单据转换排序策略解决,云星空后续补丁也将修复此问题,并提供了临时补丁下载地址。

    寄售结算单默认情况下是只会校验结算明细数量与匹配发货中的数量,如果不致是不允许保存的。在星空版本PT-146930 [8.1.0.20221110]中,应部分客户提单对自动匹配发货功能做了些调整,修改后的逻辑按直接调拨单上单据日期,审核日期,单据内码,单据分录内码升序排序匹配,即直接调拨单的日期越小的优先匹配(这一逻辑在PT-146930 [8.1.0.20221110]补丁之前是只按单据内码,单据日期,单据分录内码升序排序的),由于此补丁只调整了匹配发货的逻辑,但未能及时调整单据转换中的排序,导致某些情况下会出现自动匹配发货后结算明细与选单明细数量不一致。下面详细举例演示重现下此问题(如果不关注重现,可直接跳转到问题解决一节):

    1,创建直接调拨单ZJDB000025(日期为2022/12/12,数量为3),ZJDB000026(日期为2022/12/12,数量为10),ZJDB000027(日期为2022/12/11,数量为7),如下图1-1所示:

image.png

图1-1


    2,创建寄售结算单,结算数量输入为13,点击自动匹配发货后,可以看到其中选单明细为却为20个数量,如下图1-2和图1-3所示

image.png图1-2


image.png

图1-3


    上面数量异常的原因就是在PT-146930 [8.1.0.20221110]补丁中,如果要匹配13个数量,优先匹配了日期小的ZJDB000027(日期为2022/12/11,数量为7),再匹配了ZJDB000025(日期为2022/12/12,数量为3),ZJDB000026(日期为2022/12/12,数量为10),最后一个单ZJDB000026理论上只需要3个数量。但是自动匹配经过Bos平台的单据转换逻辑后选单明细排序为ZJDB000025,ZJDB000026,ZJDB000027(这是因为直接调拨单到寄售结算单的单据转换的排序策略没有同步修改,默认他的排序规则是单据内码,单据日期,分录内码),然后寄售结算单插件代码会根据选单明细排序一行一行生成匹配发货,直至数量为13,即匹配发货只有两行数据(ZJDB000025,ZJDB000026,他们的数量为13,已经足够匹配的数量),最后一行ZJDB000027的数量没有参与到生成匹配发货,导致数量不一致。如果匹配的数量是14,则不会有问题,因为从选单明细生成匹配发货时最后一行也要参与生成匹配发货。


问题解决:

    如果客户是版本 PT-146930 [8.1.0.20221110] 且有上面的相同问题,可打开BOS IDE,扩展直接调拨单到寄售结算单的单据转换(这里退货的单据转换也要修改),在排序策略中添加一行审核日期,并按日期,审核日期,单据内码,单据分录内码升序(注意默认情况下 PT-146930 [8.1.0.20221110] 版本之前是只有FID,日期,FEntryId,可以忽略其中的字段'XX'不存在)如下图2-1所示:

image.png

图2-1


    云星空通版在后一补丁(预计2023年1月补丁)中也将修复此问题,上面的单据转换中的排序策略在其它版本中不应该二开(如果二开是可能会导致寄售结算单中的结算明细与选单明细中的数量不一致的),后续也将基于版本 PT-146930 [8.1.0.20221110] 提供临时补丁(公有云多租户已默认打上,线下或单租户可能需要客户自行打补丁),补丁地址为:https://k3cloudpt.kingdee.com/Package/TempPatch_V8_SCM/TempPatch_V8_SCM_8_0_334_29/8_0_334_29/Stardard/TempPatch_V8_SCM.8.0.334.29.kdpkg 

图标赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0