KIS专业版软件在输入物料代码时提示代码不存在或被禁用。原因涉及物料视图与基础资料表数据不一致,特别是规格型号字段影响物料编号。通过修改核算项目字段并重新调整规格型号字段,解决了物料选择问题,使销售订单能正常进行。
一、问题描述
KIS专业版,做单输入物料代码提示代码在数据库不存在或者被禁用。
二、原因分析
客户新建账套在做销售订单是按F7可以看到13.001这个物料,双击选择以后出来下图提示:
数据库跟踪出来一下语句:
SELECT t2.FFullName ,t_ICItem.*,t_ICItem.FSaleUnitID as FCUUnit_ID,t1.FName as FUnitName,t3.FName as FCUUnitName,t4.FName as FSecUnitName, t1.FNumber as FUnitNumber,t3.FNumber as FCUUnitNumber FROM t_ICItem Left Join t_MeasureUnit t1 on t_ICItem.FUnitID=t1.FItemID Inner join t_Item t2 on t_ICItem.FItemID=t2.FItemID Left Join t_MeasureUnit t3 on t_ICItem.FSaleUnitID=t3.FItemID Left Join t_MeasureUnit t4 on t_ICItem.FSecUnitID=t4.FItemID Where t2.FDetail=1 AND t_ICItem.FDeleted=0 AND (t_ICItem.FNumber='13.001' OR t_ICItem.FShortNumber='13.001') and t_ICItem.FErpClsID NOT IN (6,8) order by len(t_ICItem.FNumber),t_ICItem.FNumber
在SSMS中执行这个语句确实没出来有效数据:
比较基础资料表和物料视图,发现一个有趣的问题,只要填写了规格型号字段的物料,在物料视图t_icitem中的fnumber字段自动变成基础资料表t_item的fnumber字段加上物料视图t_icitem中的fmodel字段*2。
找到13.001这个物料删除规格型号字段,再去做销售订单可以正常选到13.001这个物料。
再补回规格型号字段,选择13.001再做销售订单时继续报错。
之前老版本的专业版升级到14.1出现过新增物料提示“输入数据超过范围,请重新输入”这个问题,当时是通过修改物料属性增加一个字段保存以后再去删除以后正常的,经过测试发现这个方法也适用这个问题。
三、解决方法
解决方法如下:核算项目界面左边选择物料点击鼠标右键选择【修改核算项目】进去随便增加一个字段保存,然后再点击【修改核算项目】把新增的字段删除保存。
这么处理完以后把规格型号删除以后再新增,就可以正常做销售订单了
推荐阅读