1、从数据库批量修改K3的物料及其相关的成本对象
一. 需求:
1. 客户要求在所有体现物料的查询统计表中都显示物料的规格型号
2. 咱们的K3系统在供应链模块的单据和报表中,基本都能同时显示物料编码、名称和规格型号,但在财务模块,涉及物料的报表基本上只能体现编码和名称,特别是把物料作为成本对象的统计表,如下图(物料只有编码和名称):
图一:财务报表-核算项目与科目组合表(修改前)
二. 现况:
K3本身不支持将物料类成本对象,关联显示出它对应物料的规格型号
三. 解决方案:
把物料的规格型号加在名称后面,最终解决之后的效果如下图:
图二:财务报表-核算项目与科目
2、组合表(修改后)
四. 关键问题:
如果客户是从一开始初始化时就考虑这么做,那么在录入物料信息时名称后面就跟着规格型号,但是如果客户已经初始化完成,而后来才发现需要在物料名称后面追加规格型号,那么我们就只能从数据库修改——这才是我这篇文档要说明的关键问题
1. 修改数据库表t_item、t_icitem和cbcostobj
2. 先修改t_icitem中的FName
Update t_icitem set FName = FName + ‘/’ + FModel where FModel is not null
3. 再修改t_item中物料记录本身的名称,通过FIte
3、mID和t_icitem关联
Update a set a.FName = a.FName + ‘/’ + b.FModel
From t_item a, t_icitem b
Where a.FItemID = b.FItemID and b. FModel is not null and a.FItemClassID = 4
4. 再修改cbcostobj中的FName
Update a set a.FName = a.FName + ‘/’ + b.FModel
From cbcostobj a, t_icitem b
Where a.FItemID = b.FIte
4、mID and b. FModel is not null
5. 最后再修改t_item中物料所对应的成本对象的名称
Update a set a.FName = b.FName
From t_item a, cbcostobj b
Where a.FItemID = b.FItemID and a.FItemClassID = 2001
五. 总结
通过这个问题的处理,了解了K3在物料及其对应的成本对象这方面的数据库设计,包括涉及到的表和它们之间的关系:
1. t_item——存放很多种基础资料的基本信息,包括编码和名称,而没有详细信息和相关字段信息,例如物料规格型号就不会存于此表。此例中看到物料主信息和成本对象主信息都存于此表,通过FItemClassID进行类型区分
2. t_icitem——存放物料详细信息
3. Cbcostobj——存在成本对象详细信息