MES质检结果同步金蝶其他入库单实战:基于轻易云的私有化集成方案
这个策略解决什么问题
在离散制造现场,工序质检是一道硬关卡:产线做完一道工序就要送检,合格品入库、不良品走返修或报废。MES 把每一次送检结果都记在质检单里,但财务和仓储核算只看金蝶云星空里的入库单。两边如果靠人工誊抄,既慢又容易漏。我们这次要解决的,就是把 MES 中「工序不为空」的质检合格记录,按单据维度推送到金蝶云星空生成其他入库单,让库存数据当天下账、报表当天可看。
数据流向与字段映射
整体流向是 MES(源)→ 轻易云中间层 → 金蝶云星空(目标)。源端通过 common/search 接口按 inspectNo 拉取质检记录,目标端调用 batchSave 写入其他入库单。
| 维度 | MES 源端字段 | 中间层处理 | 金蝶目标字段 |
|---|---|---|---|
| 单据头 | inspectNo(送检单号) | 取作单据编号 | FBillNo |
| 单据类型 | — | 固定值 | FBillTypeID = QTRKD01_SYS |
| 库存组织 | — | 配置默认 | FStockOrgId = 100 |
| 领用组织 | — | 配置默认 | FPickOrgId = 100 |
| 货主类型 | — | 固定基础资料 | FOwnerTypeIdHead = BD_OwnerOrg |
| 单据体 | 工序、物料、合格数量 | 过滤工序非空后映射 | FEntity 明细行 |
轻易云在这里承担三件事:抽数、过滤、映射。源端配置 pageSize=100 分页拉取,目标端勾选 buildModel=true 自动构建单据体模型,编码映射放在平台里统一维护——这也是轻易云客户最常见的应对模式之一,编码映射集中管理,避免散落在脚本里。
在轻易云上如何配置
进入轻易云数据集成平台的新建策略页,按以下要点配置:
- 源端连接:选择 MES 平台,接口选
common/search,方法POST,分页参数pageNum/pageSize写死默认;wsId与queryKey按现场环境填写(实际值需在客户私有化环境确认,示例用占位符)。 - 目标端连接:选择金蝶云星空,接口
batchSave,方法POST,开启buildModel让平台自动组装单据体。 - 过滤条件:在源端
params中增加「工序不为空」的过滤逻辑,把不合格品、空工序单据提前剔除,避免脏数据进金蝶。 - 字段映射:把
inspectNo映射到FBillNo;单据类型、库存组织等基础资料用固定值。 - 编码映射:物料编码、仓库编码、货主编码放平台映射中心维护,方便后续调整。
实施步骤
我们建议分三个阶段推进:
第一阶段:增量起点初始化。 选定一个业务日期作为起点(例如上周一),先做一次小批量验证,确认源端分页稳定、目标端单据体能正确生成。这一步千万别直接全量,容易把历史几年数据一次性灌进去压垮金蝶。
第二阶段:全量触发与校验。 在低峰期(周末或夜间)跑一次历史全量,配合金蝶的「单据编号去重」机制,把重复单据挡掉。建议同时打开轻易云的日志与对账功能,逐单比对两边数量。
第三阶段:日常调度。 把 crontab 设为 * 7-22 * * *,即每天早 7 点到晚 22 点之间按小时触发。这一策略对应质检当天下账的诉求,过于频繁没必要,过疏又影响库存时效。另一个轻易云客户常见的应对模式是「增量与全量双轨」:调度跑增量、人工或定时任务每月跑一次全量兜底。
踩坑复盘
- 过滤条件没加「工序不为空」。典型错误是把所有质检记录都推过来,结果入库单里出现一堆无工序的空行,金蝶直接报错。稳妥做法是在源端
params里就过滤。 - 单据编号重复。MES 同一
inspectNo在金蝶已经手工录过,轻易云再推一次会报冲突。建议在目标端把idCheck=true与金蝶的「允许重复保存」配置结合评估。 - 库存组织硬编码。把
FStockOrgId直接写死成100,多组织企业切组织后单据全部跑错。稳妥做法是从 MES 业务字段里取组织,或者在轻易云里维护组织路由表。 - 分页参数忘配。
pageSize默认 100,超量时容易漏单。建议第一次上线先小批量跑通再放量。 - 私有化网络抖动。MES 与金蝶跨网段,轻易云运行节点需要双端网络可达;建议在客户私网里部署轻易云运行节点,避免公网穿透。
适用场景与不适用场景
适用场景:多工序离散制造、产线完工即送检、需要当天下账入库的企业;金蝶作为 ERP 主账、 MES 作为执行系统,数据流向单向。
不适用场景:单工序小批量生产、MES 与金蝶同库部署直接走接口、或者质检结果需要反写回 MES 做追溯的场景——后者通常要配合双向同步策略,单向推送不够用。