应收收款核销记录携带单据的单据头字段至自定义字段SQL参考原创
金蝶云社区-jessie_w
jessie_w
10人赞赏了该文章 110次浏览 未经作者许可,禁止转载编辑于2024年06月05日 17:01:24

业务场景:

在应收收款核销记录明细上新增了一个字段,在核销时需要携带单据上单据头的字段,

已经配置了核销字段自动化配置,新的单据可以正常携带,历史数据需要做数据修复处理。


适用于核销字段自定义字段和单据上字段的字段类型一致的场景,即都是基础资料字段或都是文本字段。


如下SQL语句仅供参考!!!更新前建议做全表备份!!!


示例:应收收款核销记录携带单据的销售员字段(包含应收单、收款单、收款退款单)

--F_ORA_BASE为核销记录上自定义的基础资料字段
MERGE INTO T_AR_RECMACTHLOGENTRY T1 USING (
	SELECT A.FID 核销序号,A.FENTRYID,A.FSRCBILLNO 源单编号,A.FSOURCEFROMID 源单类型,B.FSALEERID 应收单销售员,C.FSALEERID 收款单销售员,D.FSALEERID 退款单销售员,
	CASE WHEN B.FSALEERID IS NOT NULL THEN B.FSALEERID WHEN C.FSALEERID IS NOT NULL THEN C.FSALEERID WHEN D.FSALEERID IS NOT NULL THEN D.FSALEERID ELSE 0 END NEW
	--,A.F_ORA_BASE 自定义销售员
	FROM T_AR_RECMACTHLOGENTRY A  --应收收款核销记录单据体
	LEFT JOIN T_AR_RECEIVABLE B ON A.FSOURCEFROMID='AR_RECEIVABLE' AND A.FSRCBILLID=B.FID  --应收单
	LEFT JOIN T_AR_RECEIVEBILL C ON A.FSOURCEFROMID='AR_RECEIVEBILL' AND A.FSRCBILLID=C.FID  --收款单
	LEFT JOIN T_AR_REFUNDBILL D ON A.FSOURCEFROMID='AR_REFUNDBILL' AND A.FSRCBILLID=D.FID  --收款退款单
	WHERE A.F_ORA_BASE<>CASE WHEN B.FSALEERID IS NOT NULL THEN B.FSALEERID WHEN C.FSALEERID IS NOT NULL THEN C.FSALEERID WHEN D.FSALEERID IS NOT NULL THEN D.FSALEERID ELSE 0 END
) T2 ON (T1.FENTRYID=T2.FENTRYID)
WHEN MATCHED THEN UPDATE SET T1.F_ORA_BASE=T2.NEW;


赞 10