WebAPI接口之【销售订单保存/修改接口】使用指南和实例
【应用场景】
第三方对接系统业务单据的常用单据--销售订单,常用的新增、修改销售订单的WebAPI接口
【销售订单保存接口说明及示例】
一、接口说明:
1.接口名称:Save [批量保存:BatchSave]
接口组件:Kingdee.BOS.WebApi.ServicesStub.dll
接口类名:Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.cs
2.接口调用全称:
SDK调用:Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save
Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.BatchSave
HTTP调用:
http://服务器地址/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc
http://服务器地址/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.BatchSave.common.kdsvc
【参数说明】
参数列表 | 参数含义 | 备注 |
formid | 表单唯一标识,“SAL_SaleOrder” | 必须 |
data | 数据包: "{ \"Creator\":\"\", \"IsDeleteEntry\":\"false\", \"NeedReturnFields\":\" \", \"IsVerifyBaseDataField\":\"false\", \"IsEntryBatchFill\":\"false\", \"InterationFlags\":\"\", \"IgnoreInterationFlag\":\"\", \"IsAutoSubmitAndAudit\":\"false\", }" | Creator:非必须 IsDeleteEntry:非必须,在修改单据时是否需要删除已经存在的分录。 NeedReturnFields:非必须,需要返回的所有字段。 IsVerifyBaseDataField:非必须,是否需要验证基础资料。 IsEntryBatchFill:非必须,是否需要批量填充分录。 Model:必须,Model数据格式说明:所有字段和实体都是用元素的标识来识别。 \"InterationFlags\":交互标志集合,字符串类型,分号分隔,格式: IgnoreInterationFlag:是否允许忽略交互,布尔类型,默认true(非必录) "flag1;flag2;..."(非必录) 例如(允许负库存标识:STK_InvCheckResult) \"IsAutoSubmitAndAudit\":是否自动提交与审核,布尔类型,默认false(非必录) 注(启用此参数,保存,提交和审核是在一个事务中)。 |
*****【重点】**************************【Model字段构造】*****************************【重点】*****
原则:
1.构造json字段尽量精简,按需构造关键字段即可,WebAPI构造单据原理类似模拟录单,有默认值的字段和字段会自动联动携带相关值(包括字段值更新、插件等逻辑联动携带出来,如:客户字段自动携带默认销售员、结算币别等)的字段可无须构造。
2.修改保存单据,只需要构造单据主键FID或分录主键FEntryId+需要修改的字段即可。
3.json字段顺序位置非常关键,构造单据时是按照json字段顺序逐实体逐个字段触发值更新事件和服务的。
4.json数据包字段多少和顺序对性能和数据正确性有很大影响,尽量按需构造,避免无用的字段
示例1:【极简模式】:
{
"formId":"SAL_SaleOrder",
"data":{
"Model": {
"FSaleOrgId": { "FNumber": "100" },
"FCustId": {"FNumber": "WebAPICust" },
"FSaleOrderEntry": [
{
"FMaterialId":{"FNumber":"1.01.001.0001"},
"FQty":"8",
"FTaxPrice":"8.88"
} ]
}
}
}
【示例1 PostMan测试验证】
示例2:【极简模式基础上逐步追加所需字段】:
{
"formId":"SAL_SaleOrder",
"data":{
"Model": {
"FBillTypeID": { "FNumber": "XSDD01_SYS"},
"FSaleOrgId": { "FNumber": "100" },
"FCustId": { "FNumber": "WebAPICust" },
"FSalerId": {"FNumber":"201801014_GW000005_100041" },
"FSaleOrderFinance": {
"FSettleCurrId": { "FNumber": "PRE007" }
},
"FSaleOrderEntry": [
{
"FMaterialId":{"FNumber":"1.01.001.0001"},
"FQty":"8",
"FTaxPrice":"8.88"
},
{
"FMaterialId":{"FNumber":"1.01.002"},
"FQty":"9",
"FTaxPrice":"9.99"
} ]
}
}
}
【示例2 PostMan测试验证】
从简化Json逐步追加业务所需字段说明和格式的查找方式:
【修改保存】
*****【重点】**************************【Model字段构造】*****************************【重点】*****
原则:
1.修改保存时,除了构造主键FID、分录主键FEntryId 以及需要修改的字段外,不要构造其他多余字段
2.修改保存时,注意IsDeleteEntry参数非常重要,且默认为true,需小心使用。如为true,则原分录行的FEntryId未在分录json出现的行,将会被删除 (如无需删除分录行,需将参数值改为fasle 或者 json里面传入对应行的FEntryId值)
修改保存示例:
{
"formId":"SAL_SaleOrder",
"data":{
"IsDeleteEntry":"false",
"Model": {
"FId": "100917",
"FSaleOrderEntry": [
{
"FEntryId":"101348",
"FQty":"5"
} ]
}
}
}
【修改保存 PostMan测试验证】
【参考资料】
【相关链接】
浅谈通过WebAPI实现金蝶云单据对接的那些事[持续更新完善]https://vip.kingdee.com/article/11179
WebAPI接口之【销售订单保存/修改接口】使用指南和实例
本文2024-09-23 02:47:20发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-154709.html
- 2024-2025年人大线新年度初始化实施指导手册.docx
- 2024-2025年人大线新年度初始化实施方案解析.mp4
- 2024-2025年人大线新年度初始化方案解析 .pptx
- A++财务(高校)年结资料-2024-2025年财务年结工作指导手册(教育财智云870).docx
- A++财务(高校)年结资料-2024-2025年财务年结工作指导手册(高校831&832).docx
- 大社保年结资料-2024-2025大社保年结培训解析.mp4
- 大社保年结资料-医保基金年结操作说明(2024-2025).docx
- 大社保年结资料-人社社保年结操作说明(2024-2025).docx
- 大社保年结资料-财政社保年结操作说明(2024-2025).docx
- 大社保年结资料-2024-2025大社保产品线年结方案解析.pptx