零星碰到过几个客户出现过在新增物料当【物料属性】为“外购”时保存出错,直接提示“当前物料已经存在生成的生产任务单,不允许修改为外购件。”物料属性改成“自制”后保存正常,而且可以把物料属性修改成“外购”。数据库跟踪时发现有生产任务单或者委外加工单的FItemID字段不知道什么原因变成了0。经找客户确认时发现,出现这种情况的原因都是生产任务单或者委外加工单做了变更,保存以后软件界面就找不到对应的生产任务单或者委外加工单了。
处理办法:这种偶发性的问题出现的概率并不大,数据库后台直接更新成正确的FItemID即可
1、查询有问题的单据信息,附上查询语句:
SELECT FBillNo,* FROM ICMO where FItemID = 0 ---查询有问题的生产任务单单号
SELECT FBillNo,* FROM ICoutMO where FItemID = 0 ---查询有问题的委外加工单单号
2、再用单号FBillNo去生产领料单序时簿或者委外发料单序时簿查询出生产任务单或者委外加工单的成品代码FNumber,直接过滤源单单号=FBillNo的生产领料单或者委外发料单;
3、根据物料代码FNumber去数据库找到对应的物料内码FItemID:
SELECT FItemID FROM t_ICItem WHERE FNumber='对应的成品代码'
4、把问题单据的FItemID更新成正确的物料内码
update icmo set FItemID='正确的物料内码' where FItemID=0
update icoutmo set FItemID='正确的物料内码' where FItemID=0
处理完成以后软件界面就可以正常查看到之前不能看到的生产任务单或者委外加工单,同时新增物料时不会再有那个错误提示了。
推荐阅读