开发工具:IMS信息化平台+Excel+MSSQL+K3 WISE版本。
原理:
1、使用IMS信息化平台搭建线上的物料生效流程,定义各物料维护节点和流程走向,流程完结后数据存放在平台后台数据库表中;
2、依据金蝶K3物料导入模板,对前面的物料数据进行sql视图封装;
3、在导入模板Page1中使用Excel链接信息化平台sql数据获取封装好的sql视图,刷新数据后按照标准导入流程导入K3系统;
4、进入K3系统补充其余物料字段,完成。
具体步骤:
1、搭建物料生效流程。流程如下:
2、表单设计如下:
3、系统流程图如下:
4、先从K3导出一条物料数据,将该Excel作为后期导入的模板;导出流程不再赘述,各位自行百度;
5、根据模板的列名去创建视图,本文视图创建代码如下:请务必按照各自系统导出来的模板进行列名对应,切勿照抄我贴出的代码。
-
ALTER VIEW IMS_ITEM_IN
-
AS
-
SELECT
-
[FJG5ZKO] 代码,--物料代码
-
[F169KZI] 名称,--物料名称
-
'TRUE' 明细,
-
null 审核人_FName,
-
[F169KZI] 物料全名,--物料名称
-
F3ERWOG 助记码,
-
[FIRV4CY] "名称(英文)",--名称(英文)
-
[FVJMNJ4] 规格型号,--规格型号
-
null 辅助属性类别_FName,
-
null 辅助属性类别_FNumber,
-
[F34MCIB] 物料属性_FName,--物料属性
-
CONVERT(nvarchar(255),[F5331E0]) 物料分类_FName,--物料分类
-
[FSC91P3] 计量单位组_FName,--计量单位组
-
[FSC91P3] 基本计量单位_FName,
-
[FSC91P3] 基本计量单位_FGroupName,
-
[FSC91P3] 采购计量单位_FName,
-
[FSC91P3] 采购计量单位_FGroupName,
-
[FSC91P3] 销售计量单位_FName,
-
[FSC91P3] 销售计量单位_FGroupName,
-
[FSC91P3] 生产计量单位_FName,
-
[FSC91P3] 生产计量单位_FGroupName,
-
[FSC91P3] 库存计量单位_FName,
-
[FSC91P3] 库存计量单位_FGroupName,
-
null 辅助计量单位_FName,
-
null 辅助计量单位_FGroupName,
-
0 辅助计量单位换算率,
-
[FHMV9V7] 默认仓库_FName,--默认仓库
-
t1.fnumber 默认仓库_FNumber,--根据仓库名称填充仓库代码
-
'*' 默认仓位_FName,
-
'*' 默认仓位_FGroupName,
-
[FWLMZY2] 来源_FName,--来源,供应商名称
-
T2.fnumber 来源_FNumber,--根据供应商名称填充供应商代码
-
2 数量精度,
-
0 最低存量,
-
100000 最高存量,
-
[F7Q0TUJ] 安全库存数量,--安全库存数量
-
'使用' 使用状态_FName,
-
'FALSE' 是否为设备,
-
null 设备编码,
-
'FALSE' 是否为备件,
-
NULL 批准文号,
-
NULL 别名,
-
0 物料对应特性,
-
'*' 默认待检仓库_FName,
-
'*' 默认待检仓库_FNumber,
-
'*' 默认待检仓位_FName,
-
'*' 默认待检仓位_FGroupName,
-
[FWNY96B] 工艺代号,--工艺代号
-
[F0H93MS] 物料组,--物料组
-
[FF1R4SG] 产品型号,--产品型号
-
null 库存,
-
[F9S3WI2] 提前期偏置,--提前偏置期
-
[FMP73G2] 库位,--库位
-
[FK5MUOX] "产品注册证号/备案号",--产品注册证号/备案号
-
[FVYCY36] 重要性,--重要性
-
[FW6IEPE] 版本号,--版本号
-
[FX71ID7] HSF值_FName,--HSF值
-
0 采购最高价,
-
'人民币' 采购最高价币别_FName,
-
1 采购最高价币别_FNumber,
-
0 委外加工最高价,
-
'人民币' 委外加工最高价币别_FName,
-
1 委外加工最高价币别_FNumber,
-
0 销售最低价,
-
'人民币' 销售最低价币别_FName,
-
1 销售最低价币别_FNumber,
-
'FALSE' 是否销售,
-
0 采购单价,
-
'*' 采购负责人_FName,
-
'*' 采购负责人_FNumber,
-
0 "毛利率(%)",
-
0 销售单价,
-
'FALSE' 是否农林计税,
-
'FALSE' 是否进行保质期管理,
-
0 "保质期(天)",
-
'FALSE' 是否需要库龄管理,
-
'FALSE' 是否采用业务批次管理,
-
'FALSE' 是否需要进行订补货计划的运算,
-
0 "失效提前期(天)",
-
null 盘点周期单位_FName,
-
0 盘点周期,
-
0 "每周/月第()天",
-
null 上次盘点日期,
-
0 "外购超收比例(%)",
-
0 "外购欠收比例(%)",
-
0 "销售超交比例(%)",
-
0 "销售欠交比例(%)",
-
0 "完工超收比例(%)",
-
0 "完工欠收比例(%)",
-
0 "领料超收比例(%)",
-
0 "领料欠收比例(%)",
-
'加权平均法' 计价方法_FName,
-
0 计划单价,
-
'2' 单价精度,
-
null 存货科目代码_FNumber,
-
null 销售收入科目代码_FNumber,
-
null 销售成本科目代码_FNumber,
-
null 成本差异科目代码_FNumber,
-
null 代管物资科目_FNumber,
-
null "税目代码_FName",
-
17 "税率(%)",
-
'*' 成本项目_FName,
-
'*' 成本项目_FNumber,
-
'FALSE' 是否进行序列号管理,
-
'TRUE' 参与结转式成本还原,
-
null 备注,
-
[FFG70RT] 计划策略_FName,--计划策略
-
[FZVJYG9] 计划模式_FName,--计划模式
-
[FIUCNOC] 订货策略_FName,--订货策略
-
[FGJG61S] 固定提前期,--固定提前期
-
0 变动提前期,
-
0 累计提前期,
-
0 "订货间隔期(天)",
-
[FDPC9AN] 最小订货量,--最小订货量
-
1000000 最大订货量,
-
[F5QKA4S] 批量增量,--批量增量
-
'TRUE' 设置为固定再订货点,
-
0 再订货点,
-
0 "固定/经济批量",
-
1 变动提前期批量,
-
0 批量拆分间隔天数,
-
0 拆分批量,
-
1 "需求时界(天)",
-
1 "计划时界(天)",
-
NULL 默认工艺路线_FInterID,
-
NULL 默认工艺路线_FRoutingName,
-
NULL 默认生产类型_FName,
-
NULL 默认生产类型_FNumber,
-
'*' 生产负责人_FName,
-
'*' 生产负责人_FNumber,
-
'*' 计划员_FName,
-
'*' 计划员_FNumber,
-
'FALSE' 是否倒冲,
-
'*' 倒冲仓库_FName,
-
'*' 倒冲仓库_FNumber,
-
'*' 倒冲仓位_FName,
-
'*' 倒冲仓位_FGroupName,
-
'FALSE' 投料自动取整,
-
0 日消耗量,
-
case when FJLNKSK='是' then 'TRUE' ELSE 'FALSE' end MRP计算是否合并需求,--MRP计算是否合并需求
-
case when F80FLEL='是' then 'TRUE' ELSE 'FALSE' end MRP计算是否产生采购申请,--MRP计算是否产生采购申请
-
[FAOQJZ9] 控制类型_FName,--控制类型
-
NULL 控制策略_FName,
-
NULL 容器名称,
-
1 看板容量,
-
NULL 图号,
-
'FALSE' 是否关键件,
-
0 毛重,
-
0 净重,
-
NULL 重量单位_FName,
-
NULL 重量单位_FGroupName,
-
0 长度,
-
0 宽度,
-
0 高度,
-
0 体积,
-
NULL 长度单位_FName,
-
NULL 长度单位_FGroupName,
-
0 有效期,
-
0 单位标准成本,
-
0 "附加费率(%)",
-
NULL 附加费所属成本项目_FNumber,
-
NULL 成本BOM_FBOMNumber,
-
NULL 成本工艺路线_FInterID,
-
NULL 成本工艺路线_FRoutingName,
-
1 标准加工批量,
-
0 "单位标准工时(小时)",
-
0 标准工资率,
-
0 变动制造费用分配率,
-
0 单位标准固定制造费用金额,
-
0 单位委外加工费,
-
NULL 委外加工费所属成本项目_FNumber,
-
0 单位计件工资,
-
NULL 采购订单差异科目代码_FNumber,
-
NULL 采购发票差异科目代码_FNumber,
-
NULL 材料成本差异科目代码_FNumber,
-
NULL 加工费差异科目代码_FNumber,
-
NULL 废品损失科目代码_FNumber,
-
NULL 标准成本调整差异科目代码_FNumber,
-
'免检' 采购检验方式_FName,
-
'免检' 产品检验方式_FName,
-
'免检' 委外加工检验方式_FName,
-
'免检' 发货检验方式_FName,
-
'免检' 退货检验方式_FName,
-
'免检' 库存检验方式_FName,
-
'免检' 其他检验方式_FName,
-
NULL "抽样标准(致命)_FName",
-
NULL "抽样标准(致命)_FNumber",
-
NULL "抽样标准(严重)_FName",
-
NULL "抽样标准(严重)_FNumber",
-
NULL "抽样标准(轻微)_FName",
-
NULL "抽样标准(轻微)_FNumber",
-
0 "库存周期检验预警提前期(天)",
-
NULL 检验方案_FInterID,
-
NULL 检验方案_FBrNo,
-
9999 "库存检验周期(天)",
-
'*' 检验员_FName,
-
'*' 检验员_FNumber,
-
0 "进口消费税率%",
-
NULL 英文规格,
-
NULL HS编码_FHSCode,
-
NULL HS编码_FNumber,
-
NULL 英文名称,
-
NULL HS第一法定单位,
-
0 HS第一法定单位换算率,
-
0 "外销税率%",
-
0 HS第二法定单位换算率,
-
'FALSE' 是否保税监管,
-
0 "进口关税率%",
-
NULL 物料监管类型_FName,
-
NULL 物料监管类型_FNumber,
-
2 长度精度,
-
4 体积精度,
-
2 重量精度,
-
NULL HS第二法定单位,
-
'FALSE' 启用服务,
-
'FALSE' 生成产品档案,
-
'FALSE' 维修件,
-
0 "保修期限(月)",
-
0 "使用寿命(月)",
-
-1 控制,
-
0 是否禁用,
-
'' 全球唯一标识内码
-
from T9CXZP7 t
-
left JOIN AIS20140104204141.dbo.t_stock t1 on t1.fname=t.FHMV9V7
-
left JOIN AIS20140104204141.dbo.t_supplier t2 on t2.fname=t.FWLMZY2
-
where FXDU468='是' and
-
FJG5ZKO NOT IN(select fnumber from AIS20140104204141.dbo.t_ICItemCore)--tt where tt.fnumber= t.FJG5ZKO)--流程完结标识
6、使用Excel调用该视图IMS_ITEM_IN,调用方法请参照http://blog.csdn.net/hzfw2008/article/details/76495979
7、刷新Excel数据,可以将已经跑完流程但是没有录入K3的物料数据按照模板格式要求提取出来;
8、刷新完毕数据后保存,打开BOS数据交换平台,将该Excel中的数据导入K3;
9、进系统确认导入情况;
如有需要再补充一下缺失字段,完成。
补充:
实测K3导入有一些bug,使用bos导出数据后,修改物料编码再导入,物料分类和来源数据会发生丢失,所以如果有这两个字段,导入后务必检查下,缺失的话要手工补进去。