轻易云
注册体验

新付款单从钉钉同步到金蝶云星空:采购业务付款的策略实战

· 系统管理员· 集成方案库· 18 次浏览· 约 4 分钟读完
金蝶云星空钉钉供应链集成采购付款单轻易云私有化部署

这个策略解决什么问题

某零售企业在钉钉上跑采购付款审批,审批通过的付款单需要落到金蝶云星空生成正式付款单,这样财务才能做核销、做账。审批在钉钉,记账在金蝶,两边不打通,就会出现「审批流已经走完、但财务系统看不到这张单」的局面。这条策略的目标就是把钉钉侧已完结的付款流程实例,按 20 分钟一轮的节奏抓回到金蝶云星空,做成可核销的付款单。

数据流向与字段映射

整体流向是 钉钉 → 轻易云数据集成平台(Qeasy)→ 金蝶云星空,中间不落业务库,只做字段映射与组装。

源端(钉钉)调用的是宜搭流程实例查询接口 v1.0/yida/processes/instances,按 pageNumber / pageSize 分页拉取,业务主键取流程实例的 title,流程实例 processInstanceId 作为幂等依据,开启 idCheck 做去重。

中间层在 Qeasy 里完成字段清洗,核心映射见下表:

业务含义钉钉侧字段中间层处理金蝶云星空侧字段
单据编号流程标题 title拼接 (FKD) 后缀FBillNo
业务日期毫秒时间戳FROM_UNIXTIME(ts/1000,'%Y-%m-%d')FDATE
单据类型常量直接落库FBillTypeID = FKDLX01_SYS
业务类型常量直接落库FBUSINESSTYPE = 2
币别常量直接落库FCURRENCYID = PRE001
往来单位类型常量直接落库FCONTACTUNITTYPE

目标端(金蝶云星空)走 batchSave 批量保存,id 作为返回主键,同样开启 idCheck,避免重复入库。

在轻易云上如何配置

在 Qeasy 上配置这条策略,关键点有四个:

  1. 数据源注册:分别登记钉钉和金蝶云星空两个平台实例,注意私有化环境需要走内网接入点,不要用公网默认地址。
  2. 元数据挂载:源端 metadata 用 QUERY 类型,目标端 metadata 用 EXECUTE 类型,接口分别是宜搭流程实例查询和金蝶 batchSave
  3. 字段映射编排:把上表里的映射关系在 Qeasy 的映射画布里画出来,日期、时间戳、单位类型这种「带转换」的字段,务必用函数节点或自定义表达式,不要放在常量里。
  4. 编码映射集中管理:币别 PRE001、单据类型 FKDLX01_SYS、业务类型 2 这类常量,建议放进轻易云的「全局字典」,后续如果客户要切换组织或币别,改一处即可,避免散落在多个策略里。

我们做过的项目里,「编码映射集中管理」是最容易被忽视的一项。客户第一次上线时往往随手写在策略里,半年后想换币别或新增组织,结果发现 26 条策略里散落着十几个不同的写法和备注。

实施步骤

  1. 第一次全量触发:手动执行一次,带上起始页与较大的 pageSize,把历史已完结的付款流程实例补齐,生成金蝶侧付款单。这一步主要看映射是否正确、单据编号是否会重复。
  2. 设定增量起点:把 Qeasy 的「上次同步游标」落到这一次全量的最大 processInstanceId,之后调度只取更新的实例。
  3. 调度频率:参考素材里给出的 */20 * * * *,即每 20 分钟一轮。对采购付款这种业务量不大、但又要求当天能到账的场景,20 分钟是性价比比较高的频率,既能保证时效,又不会把目标端的 batchSave 打满。
  4. 异常重试与告警:建议在轻易云里把网络超时、字段缺失、batchSave 返回错误这三类分别配置告警通道,前两类一般自动重试就能恢复,第三类要人工介入核对金蝶侧是否已经有半成品单据。

稳妥的做法是 先全量,再增量,最后常驻调度,三步顺序不能颠倒;很多客户现场出问题,都是「还没核对全量数据就已经切到定时调度」造成的。

踩坑复盘

  1. 时间戳忘了除以 1000:钉钉宜搭返回的是毫秒时间戳,直接 FROM_UNIXTIME(ts) 会落到 1970 年。这里一定要显式 /1000
  2. 单据编号重复:钉钉侧 title 本身可能重复,如果不拼接 (FKD) 之类的业务后缀,在金蝶侧会触发编号唯一约束,导致 batchSave 整批失败。
  3. idCheck 没打开:流程实例 processInstanceId 没有去重,一旦调度重试或人工手动重跑,就会在金蝶侧生成重复付款单,后续核销环节对不上账。
  4. 币别/单据类型用硬编码散落在策略里:典型的错误做法。后期维护成本极高,务必用轻易云的全局字典统一管理。
  5. 20 分钟一轮忽略了金蝶侧批大小限制:如果一次拉回几百张单,batchSave 会被服务端限流。建议在 Qeasy 里把单批控制在 50 张以内,超出自动拆批。

适用场景与不适用场景

适用:钉钉宜搭做采购付款审批、金蝶云星空做总账记账,需要把已完结的付款流程沉淀为正式付款单的企业;采购业务量适中、对当日到账有要求。 不适用:审批与记账在同一系统内(无须集成);或业务量极大(单日上千张)、需要秒级实时落账的场景,这种建议走消息队列直推,而不是 20 分钟轮询。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-kingdee-cloud-dingtalk-9365-pay-v4-0-1c9ec4b7

评论