销售发票携带物料属性字段历史数据修复SQL参考原创
金蝶云社区-jessie_w
jessie_w
63人赞赏了该文章 232次浏览 未经作者许可,禁止转载编辑于2024年07月19日 18:23:07

业务场景:

销售发票明细上新增字段需要携带物料基础资料上的字段,历史数据需要数据库进行更新。


注意:

1. 如果发票上新增的是基础资料辅助属性字段,不可数据修复,因为属性字段在数据库没有字段名,是根据物料同步显示的。只要物料上维护了引用字段,发票上就会显示有值。

2. 适用于发票上自定义字段的字段类型和物料上字段一致的情况,比如都是文本字段或都是基础资料字段等


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

SELECT A.FBILLNO 发票单据编号,B.FENTRYID,B.F_ORA_TEXT 发票明细字段,C.F_ORA_TEXT 物料字段,C.FNUMBER 物料编码
--UPDATE B SET F_ORA_TEXT=C.F_ORA_TEXT
FROM T_IV_SALESIC A  --销售发票单据头
LEFT JOIN T_IV_SALESICENTRY B ON A.FID=B.FID  --销售发票单据体
LEFT JOIN T_BD_MATERIAL C ON B.FMATERIALID=C.FMATERIALID  --物料字段所在表
WHERE B.F_ORA_TEXT='' AND B.F_ORA_TEXT<>C.F_ORA_TEXT  --条件为发票明细字段为空且不等于物料字段
--AND A.FFORMID='IV_SALESIC'   --增值税专用发票
--AND A.FFORMID='IV_SALESOC'  --普通发票

说明:

如果销售增值税专用发票和销售普通发票对应字段的字段名不一样,则还需要按单据类型分别做更新,

where条件中要加上类型的条件。


赞 63