一、功能
1. 同步数据 2.修改数据 3. 创建关联关系
二、服务地址:serverIP为服务器地址
http://ServerIp/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc
三、参数
1.formid:表单Id
1.data:json格式数据包(参考四)
四、json格式数据包(包含具体的参数)
1.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...] (非必录)注(更新单据体字段得加上单据体key)
2.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录) 注(返回单据体字段格式:entitykey.key)
3.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录)
4.SubSystemId:表单所在的子系统内码,字符串类型(非必录)
5.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录)
6.IsEntryBatchFill:是否批量填充分录,默认true(非必录)
7.ValidateFlag:是否验证标志,布尔类型,默认true(非必录)
8.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录)
9.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录) 例如(允许负库存标识:STK_InvCheckResult)
10.Model:表单数据包,JSON类型(必录)
五、返回结果
1. 结果格式:{"Result":{"ResponseStatus":{"ErrorCode":"","IsSuccess":"false","Errors":[{"FieldName":"","Message":"","DIndex":0}],"SuccessEntitys":[{"Id":"","Number":"","DIndex":0}],"SuccessMessages":[{"FieldName":"","Message":"","DIndex":0}],"MsgCode":""}
六、示例代码
//参数
//formid
string sFormId = "SAL_OUTSTOCK"; //销售出库单
//Model字串
string data = "{\"Model\":" + "{\"FID\":\"0\",\"FStockOrgId\":{\"FNumber\":\"210\"},\"FBillTypeID\":{\"FNumber\":\"XSCKD01_SYS\"},\"FBillNo\":\"CSDGBC21002\",\"FCustomerID\":{\"FNumber\":\"CUST0073\"},\"SubHeadEntity\":{\"FExchangeRate\":6.51},\"FEntity\":[{\"FEntryID\":\"0\",\"FMATERIALID\":{\"FNumber\":\"03.001\"},\"FStockID\":{\"FNumber\":\"CK002\"},\"FRealQty\":324,\"FBaseUnitQty\":324},{\"FEntryID\":\"0\",\"FMATERIALID\":{\"FNumber\":\"03.001\"},\"FStockID\":{\"FNumber\":\"CK004\"},\"FRealQty\":220,\"FBaseUnitQty\":220}]]}}";
1.使用平台封装客户端:
_client.Save(sFormId,data);
2.自定义客户端:
object[] saveInfo = new object[] { sFormId, data};
var ret = _client.Execute<List<List<object>>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", saveInfo);
七、注意事项
1)自定义表单,保存不返回编码,只还回内码。
表单属性代码字段没有关联上编码字段。
八、常见问题
1、保存是报基础资料不存在?
1)是否加了高级过滤
2)是否被其他的字段给覆盖了
九、其他参考
1. 登录登录: https://vip.kingdee.com/article/22914
3. webapi使用指南
6. webapi字段格式
推荐阅读