金蝶云星空物料查询接口字段手册:从 executeBillQuery 到轻易云落地的权威教程
管易云金蝶云星空物料主数据executeBillQuery轻易云数据集成接口字段手册增量同步
这个接口解决什么问题
在供应链集成场景里,物料主数据是一切销售订单、采购、库存、生产单据的根基。金蝶云星空的 executeBillQuery 接口(表单 ID BD_MATERIAL)允许我们按修改时间增量、按使用组织过滤,分页拉取物料基础资料。它既是初次全量同步物料到电商/ERP 边缘系统的入口,也常被用作「许可保活」策略——定期唤醒金蝶 API 连接,避免许可证失效。
接口能力总览
- 认证方式:金蝶云星空 API 通行证(AppId + AppSecret + 账套标识),通过轻易云凭证管理统一托管。
- 请求结构:
FormId=BD_MATERIAL、FieldKeys(按字段清单传入)、FilterString(组织+增量条件)、Limit(默认 2000)、StartRow(分页游标)。 - 分页模式:基于
StartRow+Limit的偏移分页,需循环调用直至返回行数小于Limit。 - 增量模式:
FModifyDate>='{{LAST_SYNC_TIME|datetime}}',由轻易云调度器持久化上一次成功时间并自动注入。 - 响应结构:二维表 + metadata,
id来自FMasterId,number来自FNumber,其余字段按列平铺返回。
典型字段映射
| 字段名 | 类型 | 含义 | 实战注意事项 |
|---|---|---|---|
| FMasterId | string | 物料主键(id) | 跨系统映射的唯一锚点,轻易云字段映射器会自动绑定到目标侧 ID。 |
| FNumber | string | 物料编码(number) | 与管易云商品编码做等价映射时,注意编码大小写与前后空格。 |
| FName | string | 物料名称 | 名称仅用于显示,不要当成去重键。 |
| FSpecification | string | 规格型号 | 多规格商品建议拼接「名称+规格」做展示。 |
| FBaseUnitId_FNumber | string | 基本单位编码 | 关联字段格式 FBaseUnitId.FNumber,轻易云会自动展开下划线写法。 |
| FUseOrgId_FNumber | string | 使用组织编码 | 多组织客户必须用 FilterString 限定,否则会拉到全集团数据导致 OOM。 |
| FErpClsID | string | 物料属性 | 区分成品/半成品/原材料,是后续 BOM 展开的关键。 |
| FIsSale / FIsPurchase / FIsProduce | string | 业务开关 | 控制物料可参与的业务流,同步到下游时务必保留。 |
| FForbidStatus | string | 禁用状态 | 禁用物料应过滤掉或打标,否则下游单据会带出错误商品。 |
| FBARCODE | string | 条码 | 与 WMS/PDA 扫码场景直接对接。 |
| FDefaultVendor_FNumber | string | 默认供应商编码 | 采购单据自动带出,注意供应商组织与采购组织一致性。 |
| FSafeStock / FMinQty / FMaxQty | string | 库存与批量 | 用于 MRP 计算,需数值类型转换后再写入。 |
| FIsBatchManage / FIsKFPeriod / FIsSNManage | string | 批次/保质期/序列号 | 食品、电子行业高频字段,决定库存维度复杂度。 |
| FSalePrice_CMK / FVIPPrice_CMK / FPurPrice_CMK | string | 零售/会员/采购价 | _CMK 后缀通常代表价格类型,组织级价格策略差异较大。 |
| FModifyDate | datetime | 修改时间 | 增量同步的核心过滤字段,时间戳务必带时区。 |
在轻易云上如何配置
在轻易云数据集成平台里,金蝶云星空物料查询通常采用适配器 + 字段映射器的组合:
- 数据源适配器:选择「金蝶云星空 - executeBillQuery」,填入凭证与账套标识。
- 查询模板:
FormId固定为BD_MATERIAL;FieldKeys可直接引用轻易云内置的「物料字段清单」,避免手敲出错。 - 增量变量:
FilterString中插入{{LAST_SYNC_TIME}},轻易云调度器会自动按上次成功时间注入,无需人工维护。 - 分页器:平台默认按
Limit=2000循环拉取,直到返回空集,自动合并到下游。 - 字段映射器:左侧金蝶字段、右侧目标系统字段(例如管易云商品),平台支持「下划线自动展开」与「metadata.id/number 自动绑定」,几乎不需要写脚本。
- 目标写入:本类「许可保活」策略 Target 通常配置为「写入空操作」,仅触发查询以保持许可活跃。
跨方案实战要点
- FilterString 必须带使用组织:真实场景中,多组织客户一旦不过滤,单次返回动辄几十万行,轻易云内存与金蝶服务端都会承压。
- 增量时间戳按 ISO8601 带时区:金蝶侧
FModifyDate含时区,轻易云调度器会自动对齐,但跨地域客户建议显式标注+08:00。 - 分页游标用 StartRow 而非页码:金蝶分页基于偏移,轻易云分页器会维护
StartRow累加,避免漏拉或重拉。 - 主键与编码分别映射:metadata 中
id/number必须严格对应FMasterId/FNumber,否则下游插入会因唯一约束失败。 - 业务开关字段透传:
FIsSale、FIsPurchase等不要在中间层丢失,否则销售/采购同步会因物料类型不匹配被拒。 - 许可保活策略单独配置:用独立调度周期(如 5 分钟一次)跑空写入查询,避免与正式同步任务抢占许可槽位。
踩坑复盘
- 翻车 1:忘了限定
FUseOrgId,拉爆内存。某零售企业首次同步时未加组织过滤,单次拉到 80 万行导致轻易云节点 OOM。稳妥做法是FilterString第一条永远是使用组织过滤。 - 翻车 2:分页用错页码变量。金蝶分页参数叫
StartRow,不是PageIndex;把StartRow写成PageNum会陷入死循环只拉第一页。 - 翻车 3:
id字段误绑到FNumber。metadata 中id必须绑FMasterId,否则下游做 UPSERT 时全部失败。 - 翻车 4:增量时间取本地时间。节点时区与金蝶服务器不一致时,增量窗口会偏移数小时,轻易云调度器统一使用 UTC+8 注入即可规避。
- 翻车 5:禁用物料带到了下游。
FForbidStatus='B'表示禁用,未过滤会导致销售订单报错。稳妥做法是在轻易云字段映射器里加一个过滤节点。
何时选用
适用场景:以金蝶云星空为 ERP 主干、需要把物料主数据同步到电商/WMS/MES,或需要定期保活金蝶 API 许可。边界:当物料量超千万级且需实时同步时,建议改用数据库直连+binlog 方案;若只需查询不写入,可直接用「写入空操作」模式做许可保活。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/engineering/hb-p2-344-bc30