旗舰版物料数据异常问题分享原创
金蝶云社区-Joshua_Jiang
Joshua_Jiang
12人赞赏了该文章 232次浏览 未经作者许可,禁止转载编辑于2023年12月14日 22:32:57

下午有伙伴在社区提问,物料在制单的时候报错,一时兴起远程看了一下这个问题,数据库处理以后顺利解决了这个问题,现在分享一下解决办法。

原帖地址:

https://vip.kingdee.com/questions/522764516413713408?productLineId=11

一、问题现象

在做供应链单据时按F7选择对应物料时提示如下图:

image.png

二、问题分析

去系统设置-公共资料-物料里进行查询时确实有这个物料代码146673-51320,但是在做供应链单据却无法正常选择,习惯性进入SSMS进行物料信息查询

select * from t_item where fnumber='146673-51320'

select * from t_icitem where fnumber='146673-51320'

第一个语句查询出来有数据出来,第二个语句执行以后却是空白。

但是根据fitemid来进行查询的时候却发现有物料信息:

select * from t_icitem where fitemid=(select fitemid from t_item where fnumber='146673-51320'

经过比较以后发现t_icitem表中fnumber字段在146673-51320前面多了个空格,所以造成这个物料在使用时无法根据物料代码来匹配物料信息。

三、解决办法

执行语句将物料代码更新一下即可

update t_icitem set fnumber='146673-51320' where  fitemid=(select fitemid from t_item where fnumber=146673-51320')


处理完这个物料以后伙伴反映还有其他物料也有这个问题,再远程过去通过语句进行查询出来有8条数据,然后再手动更新一下fnumber就正常了

select a.fitemid,a.fnumber,b.fnumber from t_item a left join t_icitem b on a.fitemid=b.fitemid where a.fnumber<>b.fnumber


特别说明:核算项目资料相对来说特殊一点,t_Item(基础资料主表)存储的代码和名称,其他的附属信息放在对应的明细表内,可以根据以下语句查看对应的明细表

SELECT * FROM  dbo.t_ItemClass

image.png

当出现类似的问题时可以查询t_item表和对应的明细表的数据,可能存在不一致或者明细表里丢失记录的情况,根据实际情况更新一下异常数据或者补上对应的记录即可。

赞 12