销售流程增加单据后销售出库单反审核校验错误
金蝶云社区-云小爱
云小爱
0人赞赏了该文章 1,348次浏览 未经作者许可,禁止转载编辑于2013年12月14日 11:34:48

因实际业务需求,在销售流程中增加了出口合同单据,即销售流程由:销售订单-发货通知单-销售出库单,增加一个流程:销售订单-出口合同-发货通知-销售出库,销售出库单反审核时报以下错误:


跟踪代码发现,在销售出库单反审核时有个关于上游销售订单是否已发生退货业务的校验器,在校验其中调用了Kingdee.K3.SCM.APP.Core.SaleService中的GetOrderLinkReturnData方法获取上游销售订单的基本单位数量与可退数量,但是在此方法中使用的Sql语句只考虑了标准流程的情况,如果在流程中插入了其他的单据则会导致获取的单据分录ID不是销售订单的分录ID,但是被当作销售订单的分录ID去和销售订单进行关联,最终的结果是提示出来的销售订单号和实际的上游销售订单完全对应不上,跟踪出来的具体的Sql语句如下:
select SO.FBILLTYPEID,SO.FBILLNO as OrderBillNO,ER.FBaseCanReturnQty, OutLK.Outentryid,OE.Fbaseunitqty
from (
select Case TOut.Fstablename WHEN 'T_SAL_ORDERENTRY' Then TOut.Fsid
When 'T_SAL_DELIVERYNOTICEENTRY' then TNotice.Fsid End as OrderEntryId,
TOut.FEntryId as OutEntryId
from t_sal_outstockentry_lk TOut
left join t_sal_deliverynoticeentry_lk TNotice
on TOut.Fsid=TNotice.Fentryid And TOut.Fstablename='T_SAL_DELIVERYNOTICEENTRY'
) OutLK
inner join t_sal_orderentry_r ER on OutLK.Orderentryid=ER.Fentryid
inner join t_sal_outstockentry OE on OutLK.Outentryid=OE.Fentryid
inner join t_sal_order SO on ER.Fid=SO.Fid
where ER.FBaseStockOutQty>0 And OutLK.OutEntryId in(118670,118671,118672,118673,118674,118675,118676,118677,118678,118679,118680,118681,118682,118683,118684,118685,118686,118687)
请总部的大牛看看是否可考虑一下扩展性,这样相对灵活一些,谢谢!