销售订单先应收后发货时信用重复占用如何解决?

【背景】销售订单下推了财务应收单后,销售订单再下推发货通知单和销售出库单,此时应收单和出库单都会重复占用信用额度。
【解决方案】对于销售订单有两条支线的业务,需要处理销售订单下推了财务应收后,发货通知单和销售出库单不再更新信用。
【操作方法】:
1、打开BOS,在发货通知单和销售出库单中新增一个自定义字段:
复选框 F_TMP_NOCRE 默认不勾选

2、在发货通知单和销售出库单中所有有配有“更新信用额度”的操作(提交,审核,反审核,撤销,终止,反终止,关闭,反关闭等),修改服务中的更新条件,增加条件 F_TMP_NOCRE = 0

在每个操作的前提条件中增加 F_TMP_NOCRE= F_TMP_NOCRE 目的是执行操作时要加载这个字段
3、所有不需要更新信用的单据(比如发货通知单、销售出库单),手工勾上不更新信用这个自定义字段;或者设置根据满足一定条件自动勾选上;
如有历史单据需要处理,可参考以下SQL 执行(注意具体哪些单据要更新,条件需要自己做调整)
UPDATE T_SAL_DELIVERYNOTICE SET F_TMP_NOCRE = '0' WHERE ISNULL(F_TMP_NOCRE,' ') <> '1';
UPDATE T_SAL_OUTSTOCK SET F_TMP_NOCRE = '0' WHERE ISNULL(F_TMP_NOCRE,' ') <> '1';
UPDATE T_SAL_DELIVERYNOTICE SET F_TMP_NOCRE = '1'
WHERE FID IN (
SELECT TE.FID FROM T_SAL_DELIVERYNOTICEENTRY_LK TLK
JOIN T_SAL_DELIVERYNOTICEENTRY TE ON TLK.FENTRYID = TE.FENTRYID
WHERE TLK.FSID IN (
SELECT FSID FROM T_AR_RECEIVABLEENTRY_LK WHERE FSTABLENAME = 'T_SAL_ORDERENTRY'
) AND TLK.FSTABLENAME = 'T_SAL_ORDERENTRY'
);
UPDATE T_SAL_OUTSTOCK SET F_TMP_NOCRE = '1'
WHERE FID IN (
SELECT TE.FID FROM T_SAL_OUTSTOCKENTRY_L
销售订单先应收后发货时信用重复占用如何解决?
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



