其他出库单(未审核)从金蝶云星空同步到简道云:单一策略实战教程
这个策略解决什么问题
在某零售企业的销售订单链路里,金蝶云星空是 ERP 主干,简道云是业务一线常用的轻量表单平台。仓管每天会录入大量「其他出库单」,但这些单子往往先在金蝶里保存未审核,需要尽快透出到简道云的表单视图里给业务部门跟进。如果等到审核完才同步,业务部门感知太慢;如果全量拉取,调度压力又太大。
这一策略要解决的,就是**「未审核状态下的其他出库单按增量节奏推到简道云」**——保证一线尽早看到单据,又不把已审核甚至历史的老单反复重发。我们用轻易云数据集成平台(Qeasy)来承接,单条策略、单一方向、增量为主。
数据流向与字段映射
数据从金蝶云星空 → 轻易云中间层 → 简道云,整体保持 B_TO_A 的方向。
源端(金蝶云星空)通过 executeBillQuery 这条 WebAPI,按 FBillNo(单据编号)和 FEntity_FEntryID(单据体内码)拉取单据头与单据体,同时带回 FDocumentStatus(单据状态)、FStockOrgId(库存组织)、FDate(业务日期)等基础字段。
中间层在轻易云里完成三件事:状态过滤(只放行未审核)、编码映射(库存组织、客户、货主这些基础资料编号与简道云侧字段对齐)、单据头与单据体的拆分暂存。
目标端(简道云)调用 /api/v2/app/{app_id}/entry/{entry_id}/data_create,把整理后的字段写入对应表单。
关键字段对照:
| 业务含义 | 金蝶字段 | 简道云字段 | 处理要点 |
|---|---|---|---|
| 单据编号 | FBillNo | 单据编号 | 作为幂等键,避免重复提交 |
| 单据类型 | FBillTypeID | 单据类型 | 走编码映射表 |
| 客户 | FCustId | 客户 | 基础资料统一走映射 |
| 业务类型 | FBizType | 业务类型 | 编码映射集中管理 |
| 货主类型 | FOwnerTypeId | 货主类型 | 同上 |
| 货主 | FOwnerId | 货主 | 同上 |
| 单据状态 | FDocumentStatus | (过滤用) | 仅未审核通过 |
在轻易云上如何配置
在轻易云里,这个策略被拆成「源查询 + 中间处理 + 目标写入」三个步骤。
源查询步骤选 WebAPI/POST,绑定金蝶云星空的执行单据查询接口,把需要的字段勾进请求体,重点是把 FDocumentStatus 的过滤条件写进查询参数(或在中间层用条件节点过滤),确保只取未审核。
中间处理步骤里我们习惯把编码映射集中管理:库存组织、客户、货主三类基础资料,单独维护一份映射表,后续策略复用同一份。轻易云客户常见的应对模式之一,就是编码映射集中管理——一处变更,多处生效。
目标写入步骤选 WebAPI/POST,调用简道云的数据创建接口,body 用模板变量引用中间层字段。注意简道云的字段名是 _widget_xxx 形式,不要去手工理解,只要保证变量绑定正确即可。
实施步骤
调度上建议分三段走。
第一阶段:增量起点。 用「最后修改时间 > 上次同步成功时间」作为增量条件,先跑一轮,把截止到启动时刻的未审核单据拉齐。轻易云里把这个条件放在源查询的过滤参数里。
第二阶段:全量触发。 启动当天建议额外触发一次全量,作为基线对照。轻易云支持手动触发,再配合调度计划,确保历史未审核单不会漏。
第三阶段:调度频率。 源端 crontab 设为 */13 6-23 * * *,也就是白天 13 分钟一轮;目标端写入间隔设为 */23 6-23 * * *,错开 10 分钟,避免源还在读、目标就尝试写,导致时序混乱。这种源目标错峰的写法,是我们踩过坑后固定的模式。
踩坑复盘
-
状态过滤写在目标端是典型错误。 有人图省事,把 FDocumentStatus 同步过去再在简道云端判断,结果未通过的单据也写进了表单,造成脏数据。稳妥的做法是在源查询或中间层就把未审核以外的单据过滤掉。
-
幂等键只用 FBillNo 不够。 同一个单据编号下可能有多个分录,修改其中一个分录后整体版本变化。建议把 FBillNo + FEntity_FEntryID 组合作为幂等键,轻易云里 idCheck 打开即可。
-
源目标同频率并发写。 13 分钟和 23 分钟看起来都「频繁」,但如果完全同频,容易出现「源读未提交、目标已写」的窗口期。错峰 10 分钟,是一次次实际项目里复盘出来的稳态值。
-
简道云字段名不可读。
_widget_1688084455750这类字段没有任何业务语义,配置时务必靠「label」去对,不要去猜后缀。 -
依赖关系要前置。 这个策略依赖物料、客户、供应商等基础资料先同步过来(sequence A/B),否则单据里的引用字段会落空。轻易云里把依赖策略勾上,调度器会自动等待。
适用场景与不适用场景
适用:单据量大、未审核状态需要被一线快速感知、有明确增量字段、目标系统只做展示或流程承接。不适用:目标系统需要强事务一致、源系统单据状态会反复回退(已审核后又反审)、或基础资料尚未完成同步。