公司名称:湖北微信科技有限公司
咨询电话:027-84233202
地 址:汉阳大道钟家村闽东国际3栋B座2303
在K/3工业8.8.2SP1中,只要“基础资料→核算项目” 下有核算项目的分组,如果在使用以后要对分组下的某个已发生业务的物料的代码进行更改,系统将在局部部分出现错误。
如有物料结构2.03.09.07,其中2.03.09是上级组,07是其明细物料编码.当因为工作的需要要求将07改其它编码如09A(即编码全称为2.03.09.09A)时,在“基础资料→核算项目→物料→2.03.09”下将无法看到2.03.09.09A,必须将“查看→选项→显示所有明细”,才能看到2.03.09.09A;而且在供应链的单据录入‘外购入库单’中进行物料代码查询时,将发现2.03.09.09A的位置有两个:一个在点击物料时出现在页面的右边(正常情况下,点击物料时,在右边的列表中是不可能出现任何物料信息的),另一个在正常的位置下即2.03.09的分组下。
此时,在录入单据时,但它不影响业务操作,能够将该物料的录入工作完成,但在物料汇总时会发生错误。
原因:出现这种情况,是因为K/3882SP1存在的一个BUG所致。当改变了物料的代码且保存后,系统只是将SQL数据库中的存货项目表t_icitem和基础资料表t_item中的代码字段FNumber的值作了更改,并自动错误地将该物料对应的SQL数据库中的相关记录基础资料表t_item表的上级物料代码(亦称为父级代码)字段FParentID改变为0,从而使用系统发生错误。要更正这种错误,必须手工干预。
方法:1)建议先在“中间层→帐套管理”中备份帐套数据。并根据中间层中记录的对应帐套的数据实体,利用SQL的查询分析器,将其打开。
2)先在基础资料表t_item中利用该物料的上级代码查询该物料的上级物料代码对应的FItemID值,它就是该物料(2.03.09.09A)所对应的上级物料代码(2.03.09)字段FParentID的值。如果有重复代码,可以通过OR条件,列出该物料同组的其它几个物料帮助判断。SQL查询语句如
select * from t_item where FNumber='2.03.09' or FNumber='2.03.08'
找到'2.03.09'的FItemID值,它就是09A的上级物料代码字段FParentID的值,如58。
3)然后在基础资料表t_item中通过SQL更新语句如
update t_item set FParentID='58' where FNumber='2.03.09.09A'
将被错误更改后的物料代码2.03.09.09A的上级物料代码字段FParentID设为正确值。
其它核算项目如供应商、客户、职员等出错更正的操作方法操作类似。附常见的SQL数据库表:
表名 描述 在t_ItemClass表中的FitemClassID值
t_Supplier 供应商资料
t_Organization 客户 1
COM_Stock 商业仓位辅助表 5
t_Stock 工业仓库资料表 5
t_SystemProfile 系统参数表
t_MeasureUnit 计量单位表 7
t_Item 基础资料表
t_ItemClass 基础资料类别表
t_Emp 职员表 3
t_Department 部门表 2
t_Account 科目表
t_ICItem 存货项目表
其中,所有的核算项目都是首先在t_Item基础资料表中进行记录,所以所有的核算项目的代码在t_Item基础资料表中代码字段FNumber的值都是唯一的。故上述错误只须在t_Item基础资料表中更新相应的核算项目的上级物料代码字段FParentID的值就可以了。
注:查询仓库信息:(商业仓位辅助表COM_Stock、(工业仓库资料表t_Stock表)
Select * From t_Item WHERE FDeleteD=0 And FItemClassID = 5
或
Select * From (Select * From t_Item WHERE FDeleteD=0 And FItemClassID = 5 ) i Where 1=1
或
Select * From (Select * From t_Item WHERE FDeleteD=0 And FItemClassID = 5 ) i Where 1=1 And (FLevel = 2) Order by FNumber