销售订单新变更单WebAPI标准接口和使用说明

随着外部销售订单新变更单的对接需求越来越多,平台通用的Save保存单据接口,对于变更业务场景可能不太适用,由于变更单的数据是原封不动的来自于原始销售订单,如果通过公共保存接口构造出来的变更单数据可能有以下几点问题:
构造单据数据包难度大,构造的字段会非常多,包括与原始订单关联的PKIDX字段
构建单据数据包的准确性要求高,一些字段值更新事件触发带出来的默认值可能与原始订单信息有偏差。
基于以上原因,星空通版产品专门封装了销售订单新变更单WebAPI的标准使用接口来用于变更:
新接口通过两个步骤来完成变更:
通过简单的原始订单的信息如(销售订单单号、销售订单内码、销售订单分录内码集合等),先自动创建好销售订单新变更单单据出来,方便快捷,数据准确性得到保证,跟界面操作订单变更生成的变更单界面是一样的。
在自动生成订单新变更单单据的基础上(得到返回的新变更单内码和分录内码信息),通过使用单据的修改保存接口来进行实际的变更内容处理。
接口说明和示例:
接口名称:SaveXSaleOrder
接口参数:
SaleOrderBillNo:原销售订单编号,
SaleOrderBillId:原销售订单内码FId,
SOEntryIds:原销售订单分录内码集合(数组)--可部分行变更
参数示例:string parm=
"{
\"SaleOrderBillNo\":\"XSDD00888\",
\"SaleOrderBillId\":888888,
\"SOEntryIds\":[888801,888802]
}";
接口Url地址:
http://domain/k3cloud/Kingdee.K3.SCM.WebApi.ServicesStub.SaveXSaleOrderWebApi.SaveXSaleOrder.common.kdsvc
<1>客户端调用示例:
1. 构造登陆信息
string url = "http://domain/k3cloud/Kingdee.bos.webapi.ServicesStub.authservice.validateuser.common.kdsvc";
//站点地址
string dataCenterId ="账套Id";
string userName ="用户名";
string userPwd ="用户密码";
2. 登录校验
var client = new Kingdee.BOS.WebApi.Client.K3CloudApiClient(url);
var ret = client.ValidateLogin(dataCenterId, userName, userPwd, 2052);
var jResult = JObject.Parse(ret);
var resultType = jResult["LoginResultType"].Value<int>();
if (resultType != 1 && resultType != -5) return;
3.构造生成新变更单参数如下:
string parm="{\"SaleOrderBillNo\":\"XSDD000688\",\"SaleOrderBillId\":100827,\"SOEntryIds\":[102803,102804]}";
4.客户端调用生成销售订单新变更单接口:
var result = client.Execute<string>("Kingdee.K3.SCM.WebApi.ServicesStub.SaveXSaleOrderWebApi.SaveXSaleOrder", new objec
销售订单新变更单WebAPI标准接口和使用说明
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



