### 销售出库单旺店通→金蝶:高效数据对接方案解析
在企业运营中,数据的实时同步和准确传递至关重要。本文将详细介绍如何通过轻易云数据集成平台实现旺店通·企业奇门的销售出库单数据到金蝶云星空的数据对接,确保不漏单、快速写入和可靠抓取。
首先,让我们聚焦于核心任务:从旺店通·企业奇门接口(wdt.stockout.order.query.trade)获取销售出库单信息,并批量写入到金蝶云星空(batchSave)。在实施过程中,我们面临诸如分页处理、限流管理以及数据格式转换等技术挑战,并成功通过定制化的数据映射与异常处理机制予以解决。
为了保证集成过程中的每个环节顺利进行,本方案采用了如下措施:
1. **确保不漏单**:利用定时任务功能,定期调用旺店通API抓取最新的销售出库订单,同时记录上次抓取时间,有效避免重复或遗漏。
2. **快速写入**:针对大量订单数据,通过优化并行处理,提高向金蝶云星空批量写入效率。
3. **分页及限流管理**:由于API请求存在限制,每次只返回指定数量的数据,因此需要实现自动分页逻辑,以确保没有一笔订单被遗漏。同时,为了应对接口频率限制,加入合理的重试间隔与错误重试机制。
4. **异常处理与日志记录**:为保障整个流程能够及时发现问题并迅速响应,在连接两个系统过程中设立详尽的日志记录,以及当发生执行错误时自动启动错误重试策略,保证业务不中断运行。
下一步,我们将深入探讨具体的集成细节,包括如何调配各项参数,实现最优化配置,使得两大系统之间能无缝衔接,高效运作。
![金蝶与WMS系统接口开发配置](https://pic.qeasy.cloud/D3.png~tplv-syqr462i7n-qeasy.image)
### 调用旺店通·企业奇门接口wdt.stockout.order.query.trade获取并加工数据
在数据集成生命周期的第一步中,调用源系统接口获取数据是至关重要的一环。本文将详细探讨如何使用轻易云数据集成平台配置元数据,调用旺店通·企业奇门接口`wdt.stockout.order.query.trade`来获取销售出库单数据,并进行初步加工。
#### 接口调用配置
首先,我们需要配置调用接口的元数据。根据提供的元数据配置,我们可以看到以下关键参数:
- **API**: `wdt.stockout.order.query.trade`
- **请求方法**: `POST`
- **主要字段**:
- `start_time`: 开始时间,用于增量获取数据,格式为`yyyy-MM-dd HH:mm:ss`。
- `end_time`: 结束时间,用于增量获取数据,格式为`yyyy-MM-dd HH:mm:ss`。
- `status`: 状态码,用于过滤不同状态的订单。
- `src_order_no`, `src_tid`, `stockout_no`, `shop_no`, `warehouse_no`: 各种标识符和编号,用于指定特定的订单、店铺和仓库。
- `is_by_modified`: 是否按修改时间筛选。
此外,还有分页参数`page_size`和`page_no`用于控制返回的数据条数和页码。
#### 配置请求参数
在实际操作中,我们需要根据业务需求动态设置这些参数。以下是一个示例请求配置:
```json
{
"api": "wdt.stockout.order.query.trade",
"method": "POST",
"request": {
"start_time": "{{LAST_SYNC_TIME|datetime}}",
"end_time": "{{CURRENT_TIME|datetime}}",
"status": "95,105,110,113,55",
"shop_no": "001",
"warehouse_no": "A01"
},
"otherRequest": {
"page_size": "50",
"page_no": "0"
}
}
```
在这个示例中,`start_time`和`end_time`分别使用了上次同步时间和当前时间来实现增量数据获取。状态码过滤了已取消、已审核、已发货、部分打款、已完成和异常发货的订单。店铺编号和仓库编号则指定了具体的店铺和仓库。
#### 数据清洗与转换
获取到原始数据后,需要对其进行清洗与转换,以便后续处理。在轻易云平台中,可以通过可视化操作界面对数据进行清洗,包括但不限于以下操作:
1. **字段映射**:将源系统中的字段映射到目标系统所需的字段。例如,将`order_no`映射到目标系统中的订单编号字段。
2. **格式转换**:将日期格式从源系统的格式转换为目标系统所需的格式。
3. **数据过滤**:根据业务规则过滤掉不需要的数据。例如,过滤掉某些特定店铺或仓库的数据。
以下是一个简单的数据清洗示例:
```json
{
"transformations": [
{
"operation": "mapFields",
"fields": {
"order_no": "target_order_no",
"stockout_id": "target_stockout_id"
}
},
{
"operation": "convertDateFormat",
"fields": {
"start_time": {"fromFormat": "yyyy-MM-dd HH:mm:ss", "toFormat": "MM/dd/yyyy HH:mm:ss"}
}
},
{
"operation": "filterData",
"condition": {"field": "shop_no", "operator": "<>", "value": "'042'"}
}
]
}
```
在这个示例中,我们进行了字段映射、日期格式转换以及基于店铺编号的过滤操作。
#### 自动填充响应
轻易云平台支持自动填充响应功能,即在接收到源系统的数据后,可以自动将其填充到目标系统所需的位置。这极大地简化了集成过程,提高了效率。
```json
{
"autoFillResponse": true
}
```
通过设置`autoFillResponse: true`,我们可以确保从旺店通接口获取的数据能够自动填充到目标系统中,无需手动干预。
#### 实时监控与日志记录
为了确保整个过程的透明性和可追溯性,轻易云平台提供了实时监控和日志记录功能。每一次接口调用、每一条数据处理都会被详细记录下来,方便后续排查问题和优化流程。
综上所述,通过合理配置元数据并利用轻易云平台强大的可视化操作界面,我们可以高效地调用旺店通·企业奇门接口获取销售出库单数据,并进行必要的数据清洗与转换,为后续的数据写入做好准备。
![用友与CRM系统接口开发配置](https://pic.qeasy.cloud/S12.png~tplv-syqr462i7n-qeasy.image)
### 使用轻易云数据集成平台实现销售出库单数据转换并写入金蝶云星空
在数据集成过程中,将源平台的数据转换为目标平台可接收的格式是关键步骤之一。本文将深入探讨如何利用轻易云数据集成平台,将销售出库单从旺店通转换为金蝶云星空API接口所能接收的格式,并最终写入目标平台。
#### 元数据配置解析
元数据配置是实现数据转换和写入的核心。以下是我们使用的元数据配置:
```json
{
"api": "batchSave",
"method": "POST",
"idCheck": true,
"operation": {
"rowsKey": "array",
"rows": 1,
"method": "batchArraySave"
},
"request": [
{
"field": "FBillTypeID",
"label": "单据类型",
"type": "string",
"describe": "单据类型",
"parser": {
"name": "ConvertObjectParser",
"params": "FNumber"
},
"value": "XSCKD01_SYS"
},
{
...
}
],
...
}
```
#### 数据请求与清洗
在数据请求阶段,我们从旺店通获取原始销售出库单数据。假设我们已经成功获取了这些数据,接下来需要进行清洗和预处理,以确保其符合目标系统的要求。
#### 数据转换与写入
1. **API接口配置**:我们使用`batchSave`接口,通过POST方法将数据批量保存到金蝶云星空。此接口支持异步操作,确保高效处理大批量数据。
2. **字段映射与解析**:
- `FBillTypeID`:单据类型,固定值为`XSCKD01_SYS`。
- `FBillNo`:单据编号,对应源平台中的订单号 `{order_no}`。
- `FDate`:日期,对应源平台中的库存检查时间 `{stock_check_time}`。
- `FSaleOrgId`、`FCorrespondOrgId`、`FStockOrgId`、`FOwnerIdHead`等字段均设置为固定值 `100`,表示组织信息。
3. **基础资料解析**:
- 使用 `ConvertObjectParser` 将源平台的基础资料编码转换为目标平台所需格式。例如,客户编号 `{shop_no}` 在传输时需要通过该解析器转换。
4. **明细信息处理**:
- `FEntity`字段包含多个子字段,用于描述销售出库单的详细信息,如物料编码、实发数量、单价等。
- 子字段如 `FMaterialID`, `FRealQty`, `FTaxPrice`, 等,通过模板变量从源平台的数据中提取并赋值。例如,物料编码 `{details_list.spec_no}` 对应 `FMaterialID`。
5. **特殊逻辑处理**:
- 对于赠品标识 `FIsFree`,使用条件判断 `_function CASE WHEN {{details_list.sell_price}}>0 THEN 'false' ELSE 'true' END` 来确定是否为赠品。
6. **其他配置项**:
- 表单ID (`FormId`) 设置为 `SAL_OUTSTOCK`,表示业务对象表单ID。
- 操作 (`Operation`) 设置为 `Save`, 表示执行保存操作。
- 提交并审核 (`IsAutoSubmitAndAudit`) 设置为 `true`, 确保在保存后自动提交和审核。
#### 实际应用案例
假设我们有以下原始销售出库单数据:
```json
{
"order_no": "SO20231001",
...
}
```
通过上述元数据配置和轻易云的数据集成功能,我们可以将其转换为金蝶云星空所需的格式,并通过API接口进行写入:
```json
{
...
{
"FBillNo": "SO20231001",
...
}
}
```
这样,我们就完成了从旺店通到金蝶云星空的数据转换和写入过程,实现了不同系统间的数据无缝对接。这不仅提高了业务效率,还确保了数据的一致性和准确性。
![如何对接用友BIP接口](https://pic.qeasy.cloud/T9.png~tplv-syqr462i7n-qeasy.image)