(线下)对账导入对接金蝶应收单:实现高效数据集成
在实际的企业业务运营中,对账数据的正确导入和处理至关重要。本文将分享一个具体案例,展示如何通过轻易云数据集成平台,实现从金蝶云星空系统到另一个金蝶云星空实例的数据高效对接——特别是在(线下)对账导入到应收单的场景。
为了确保整个过程中的数据不漏单并且快速写入,我们利用了几个关键API接口,包括获取数据的executeBillQuery
和写入数据的batchSave
。这些API提供了可靠的方法来处理大量的数据,并保证其准确性。
首先,在源系统中执行一次完整的数据抓取操作,这是通过调用executeBillQuery
接口实现的。该接口支持定时抓取功能,可以按照设定计划自动拉取最新的数据,为批量处理提供基础。在这一过程中,需要注意分页及限流问题,以避免超出接口限制导致失败或延迟。
其次,针对获取到的大量原始对账数据,我们进行了必要的数据预处理。这包括格式转换、字段匹配以及根据业务需要进行的一些自定义映射。对于不同类型或结构复杂度较高的数据,通过制定特定的映射规则,保证在目标系统成功落地并且符合业务需求。
在实施过程中,还需考虑异常情况和错误重试机制。一旦出现网络问题或者其他意外状况,通过内置日志记录与实时监控功能,可以迅速定位问题来源,并采取相应措施,比如重新执行部分任务以补偿遗漏的数据包。此外,对接双方环境配置与性能优化也是重点关注点,以确保总体流程高效稳定运行。
本案例重点解决的问题是如何有效地将大批量、本地离线产生的对账信息安全、迅速地同步至远程服务器上的金蝶云星空应收模块。这不仅提高了财务部门日常工作的效率,也为后续财务分析奠定了坚实基础。在下一篇详细说明中,我们将进一步探讨具体配置步骤及技术细节,包括相关代码示例和参数设置方法等内容。
调用金蝶云星空接口executeBillQuery获取并加工数据
在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将深入探讨如何使用轻易云数据集成平台调用金蝶云星空接口executeBillQuery
来获取并加工数据。
接口配置与请求参数
首先,我们需要了解executeBillQuery
接口的基本配置和请求参数。根据提供的元数据配置,接口采用POST方法进行调用,主要用于查询操作(effect: QUERY)。以下是关键的请求参数:
- FID: 唯一标识符
- FEntity_FEntryID: 明细行标识符
- FBillNo: 单据编号
- FDocumentStatus: 单据状态(如暂存、创建、审核中、已审核)
- F_PBLH_BillTypeID_qtr_FNumber: 单据类型(如标准采购订单、标准委外订单等)
- F_PBLH_shop_no_FNumber: 店铺编码
- F_PBLH_shop_no_FName: 店铺名称
- F_PBLH_trade_no: 订单编号
- F_PBLH_spec_no_FNumber: 货品编号
- F_PBLH_spec_no_FName: 货品名称
- F_PBLH_goods_count: 货品数量
- F_PBLH_receivable: 应收金额
- F_PBLH_paid: 单品支付金额
- F_PBLH_consign_time: 发货日期
- F_PBLH_trade_type: 订单类型
- FDate: 应收单日期
此外,还有一些其他请求参数,如最大行数(Limit)、开始行索引(StartRow)、过滤条件(FilterString)等。
请求示例
为了更好地理解如何调用该接口,以下是一个具体的请求示例:
{
"FormId": "PBLH_WDTDZJG",
"FieldKeys": "FID,FEntity_FEntryID,FBillNo,FDocumentStatus,F_PBLH_BillTypeID_qtr.FNumber,F_PBLH_shop_no.FNumber,F_PBLH_shop_no.FName,F_PBLH_trade_no,F_PBLH_spec_no.FNumber,F_PBLH_spec_no.FName,F_PBLH_goods_count,F_PBLH_receivable,FDate",
"FilterString": "FApproveDate>='2023-01-01' and F_PBLH_shop_no.F_PBLH_isonline = 0 and F_PBLH_BillTypeID_qtr.FNumber='CKDZ'",
"Limit": "2000",
"StartRow": "0"
}
在这个请求中,我们指定了业务对象表单Id为PBLH_WDTDZJG
,需要查询的字段集合包括FID
, FBillNo
, FBillNo
, FDocumentStatus
, FDate
等,并通过过滤条件筛选出符合条件的数据。
数据清洗与转换
获取到原始数据后,需要对其进行清洗和转换,以便后续处理。轻易云平台提供了强大的数据清洗和转换功能,可以通过可视化界面设置各种规则。例如:
- 字段映射与重命名:将原始字段映射到目标系统所需的字段,并进行重命名。
- 数据格式转换:将日期格式从YYYY-MM-DD转换为目标系统所需的格式。
- 数据过滤与校验:根据业务规则过滤掉不符合要求的数据,并进行必要的校验。
数据写入
完成数据清洗和转换后,下一步是将处理后的数据写入目标系统。这通常涉及到调用目标系统的API接口,将清洗后的数据批量插入或更新到目标数据库中。
实时监控与日志记录
在整个过程中,轻易云平台提供了实时监控和日志记录功能,可以随时查看每个步骤的执行状态和结果。如果出现错误,可以通过日志快速定位问题并进行修复。
通过以上步骤,我们可以高效地调用金蝶云星空接口executeBillQuery
获取并加工数据,为后续的数据处理和分析奠定坚实基础。
数据集成与ETL转换:将数据写入金蝶云星空API接口
在数据集成生命周期的第二步,我们将已经集成的源平台数据进行ETL转换,转为目标平台金蝶云星空API接口所能够接收的格式,并最终写入目标平台。本文将深入探讨如何通过轻易云数据集成平台实现这一过程。
配置元数据
首先,我们需要配置元数据,以确保数据能够正确地转换并写入金蝶云星空API接口。以下是一个详细的元数据配置示例:
{
"api": "batchSave",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"operation": {
"method": "merge",
"field": "FDate,F_PBLH_shop_no_FNumber,F_PBLH_consign_time,F_PBLH_shop_no_F_PBLH_custno,F_PBLH_trade_no,KDStock",
"bodyName": "list",
"bodySum": ["F_PBLH_goods_count", "F_PBLH_single_allamount"],
"header": ["FDate", "F_PBLH_shop_no_FNumber", "F_PBLH_consign_time", "F_PBLH_shop_no_F_PBLH_custno", "F_PBLH_trade_no", "KDStock"],
"body": ["F_PBLH_spec_no_FNumber", "F_PBLH_goods_count", "F_PBLH_single_allamount"]
},
...
}
请求参数解析
在请求参数中,我们需要特别注意字段的解析和转换。例如,以下字段通过ConvertObjectParser
进行解析:
{
"field": "FBillTypeID",
"label": "单据类型",
...
"parser": {
"name": "ConvertObjectParser",
...
},
...
}
这些字段包括但不限于单据类型、结算组织、客户、销售部门等。解析器会根据预定义规则将源数据转换为目标系统所需的格式。
数据清洗与转换
在ETL过程中,数据清洗与转换是关键步骤。我们需要确保每个字段的数据都符合目标系统的要求。例如,以下是一些具体的转换规则:
- 业务日期:将源系统中的业务日期字段
{FDate}
直接映射到目标系统。 - 客户:通过MongoDB查询获取客户编号,并映射到目标系统。
- 物料编码:物料编码通过
ConvertObjectParser
进行解析,并映射到目标系统。
{
...
{
"field": "FCUSTOMERID",
...
"value": "_mongoQuery f3b55dc4-44d0-3a14-a28f-c372d39e70cc findField=content.FCustomerId_FNumber where={\"content.FNumber\":{\"$eq\":\"{F_PBLH_shop_no_FNumber}\"}}"
},
...
}
明细处理
对于明细部分,我们需要处理多个子字段,并确保它们正确地映射到目标系统。例如:
{
...
{
"field": "FEntityDetail",
...
{
...
{
...
{
...
{
...
{"field":"warehouse_no","label":"warehouse_no","type":"string","value":"{KDStock}"}
}
}
}
}
}
}
在这个示例中,我们处理了物料编码、计价数量、含税单价等多个字段,并确保它们符合金蝶云星空API接口的要求。
提交与审核
最后,我们需要配置提交和审核选项,以确保数据能够自动提交并审核:
{
...
{
...
{"field":"IsAutoSubmitAndAudit","label":"提交并审核","type":"bool","describe":"提交并审核","value":"true"}
}
}
通过上述配置,我们可以实现从源平台到金蝶云星空API接口的数据无缝对接。这不仅提高了数据处理效率,还确保了数据的一致性和准确性。