小满OKKICRM 物料主数据同步到金蝶云·星空旗舰版:单策略实战教程
这个策略解决什么问题
物料主数据是 ERP 的“地基”。某零售企业的前端业务跑在 OKKICRM 上,后端财务、供应链跑在金蝶云·星空旗舰版上,两套系统编码体系不统一。一线销售在 CRM 改一个规格,后台物料档案没跟上,几天后才发现单位、税率、默认仓库对不上,订单推不下来。
我们用轻易云(Qeasy)数据集成平台承接这条策略,目标只有一个:CRM 里的物料变更,稳定、可追溯地落到金蝶物料档案上,先“不出错”,再“跑得快”。
数据流向与字段映射
数据从 OKKICRM 出发,经轻易云中间层做编码映射、字段清洗、单位换算,再写入金蝶云·星空旗舰版的物料主数据。关键字段对照如下:
| 业务含义 | OKKICRM 源端字段 | 轻易云中间层 | 金蝶目标端字段 | 备注 |
|---|---|---|---|---|
| 物料编码 | product_code | 标准化编码 | FNumber | 建议在中间层做去空格、大小写归一 |
| 物料名称 | product_name | 去前后空格 | FName | 长文本截断按目标系统限制 |
| 规格型号 | spec | 原值透传 | FSpecification | - |
| 计量单位 | unit | 单位编码映射表 | FBaseUnitId | 编码映射集中管理 |
| 默认仓库 | default_warehouse | 仓库编码映射 | FDefaultStockId | 目标系统需先存在 |
| 税分类 | tax_category | 字典对照 | FTaxCategoryId | 维护映射表 |
| 状态 | status | 0/1 → 启用/禁用 | FUsed | - |
| 最后修改时间 | update_time | 作为增量游标 | - | 增量起点 |
在轻易云上如何配置
在轻易云集成平台里,一个策略对应一个集成方案,典型配置要点如下:
- 源系统连接:用 OKKICRM 开放接口,鉴权信息放在轻易云的凭证管理,不在策略里硬编码。
- 目标系统连接:金蝶云·星空旗舰版私有化部署,接口地址统一在轻易云的“系统连接”里登记,便于后续策略复用。
- 数据源配置:拉取条件用
update_time > ${LAST_RUN_TIME}拉增量;首次运行切全量,走一次性全量通道。 - 字段映射:用轻易云的“可视化映射”配置,单位、仓库、税分类这三类外键,统一指向“编码映射表”,不在策略里写死。
- 写入方式:金蝶侧优先走“保存接口”,失败回退到“审核接口”单独调用,避免一边写脏数据。
- 日志与告警:在轻易云里开启字段级变更日志,改前/改后值都能看到,出问题方便回溯。
实施步骤
我们建议分三个阶段推进,避免“一上来就全量”翻车:
第一阶段:增量起点确认。 先在轻易云里跑一次“查询策略”,拿到 OKKICRM 端最近一次修改时间,把这个时间作为增量游标的初值。客户现场常见错误是直接用系统当前时间当起点,导致历史数据被丢或被重复推。
第二阶段:全量触发与对账。 第一次全量同步建议放在业务低峰期,例如凌晨。全量完成后,在轻易云里做一次对账:源端物料数 vs 目标端物料数,差异物料单独拉清单核对。轻易云客户常见的应对模式是“表头表体分阶段”——物料主数据(表头)先跑通,扩展属性(表体)下一策略再上,降低单策略复杂度。
第三阶段:调度频率与运维。 增量同步建议每 5–10 分钟跑一次,频次太高反而容易被目标系统限流。轻易云里把调度配成定时任务,失败自动重试 3 次,3 次还失败转人工告警。
踩坑复盘
以下是客户现场我们亲身踩过的几个坑,提出来给后来人提个醒:
- 编码映射到处写。早期我们把“单位 → 目标单位”的映射直接写在每条策略里,结果改了源系统一套单位,十几条策略都要动。稳妥的做法是:在轻易云里建一张“编码映射集中表”,所有策略引用同一份,改一处全部生效。
- 增量游标用错字段。用了
create_time而不是update_time,导致 CRM 端改了规格但没新建的物料,目标端一直收不到。 - 目标端先有数据再同步。默认仓库这种外键,如果目标系统里不存在,同步会整条失败。建议同步前先跑一份“依赖检查”,把缺失的仓库、单位先补齐。
- 全量和增量混着跑。全量还没跑完,增量就启动了,两边互相覆盖,数据乱套。稳妥的做法是全量跑完、手动确认对账无误,再切到增量。
- 私有化环境接口地址变更。客户服务器迁移后,金蝶侧的接口域名变了,策略里还是旧地址,夜里同步静默失败。建议在轻易云的连接配置里做连通性自检。
适用场景与不适用场景
适用场景:OKKICRM 作为业务前端、金蝶云·星空旗舰版作为后端 ERP 的私有化部署,物料主数据以 CRM 为准、ERP 为镜像,且物料数量在十万级以下的稳态同步。
不适用场景:需要双向同步、目标端有大量自定义字段、或者物料量级到百万以上需要走实时 CDC 的场景,本策略不直接适用,需要单独设计。