本文详细说明了在数据传递过程中需要注意的顺序、字段格式、以及可能出现的配置服务影响问题。接着详细列举了不同字段(如一般字段、基础资料、多选基础资料等)的格式化要求,并解释了子单据头、单据体、子单据体等特殊字段的格式。还提及了业务流程字段和多类别基础资料字段的特定要求。最后,简要介绍了K/3Cloud的WebAPI接口数量和在线测试功能,方便用户进行接口验证和数据测试。
传递的数据简单说明:
1. 顺序很重要,一定要按说明的顺序来填写,故在组织数据时不要用HashSet这样的不能确定顺序的集合类。
2. 字段格式很重要,一定要安装说明或在线测试中的格式填写。 3. 会走配置的各种服务,比如值更新事件中配置的服务。 4. 许多客户在保存的时候明明填了值,保存的是却提示错误此值必填;或填了值保存的单据却是默认值;这类现象都是填的值再填充数据包之后,又被其他字段改变了。
字段格式:1. 一般字段格式:\"FieldKey\":\FieldValue\"
2. 基础资料,组织,多类别基础资料,批号,基础资料文本字段等格式:\"BaseDataKey\":{\"FNumber\":\"\"}
注释:多类别基础资料一定要有相关的多类别基础资料列表;多类别基础资料列表的格式:key:"基础资料FormId"; FNumber是基础资料的编码Key,故不一定都是FNumber,比如员工可能是FStaffNumber;
3. 多选基础资料:\"FMulBaseKey\":[ {\"FStaffNumber\":\"\"},{\"FStaffNumber\":\"\"},...]
注释:可以看成是基础资料的集合;
4. 大文本格式:\"FLargeTextKey\":\"\",\"FLargeText_Tag\":\"\"
注释:包含文本和标题
5. 维度关联字段,包括(核算维度,仓位,辅助属性,职务等级)格式:如果维度是基础资料则编码都是用FNumber,其他类型的维度参考相应类型字段。
6.子单据头格式:\"FSubHeadEntityKey\":{\"FieldKey\":\FieldValue\",\"BaseDataKey\":{\"FNumber\":\"\"},...}
注释:子单据头跟单据头的对应关系是一对一的关系;
7. 单据体格式:"FEntityKey\":[{\"FieldKey\":\FieldValue\",\"BaseDataKey\":{\"FNumber\":\"\"},...},{\"FieldKey\":\FieldValue\",\"BaseDataKey\":{\"FNumber\":\"\"},...},...]
注释:单据体跟单据头的对应关系是一对多的关系;
8. 子单据体格式:"FEntityKey\":[{\"FieldKey\":\FieldValue\",\"FSubEntityKey\"::[{\"FieldKey\":\"0\",\"FText2\":\"\",...}],...},...]
9.业务流程字段格式:"FBFLowId":{"FId":"FIDValue"}, FID到t_BF_DefVersion中查询, 但增加业务流程字段一般要把关联实体先赋值上, "FEntity_Link": [
{
"FEntity_Link_FFlowId": "0b064121-4926-4808-8632-a195b6a202e8",
"FEntity_Link_FFlowLineId": "14",
"FEntity_Link_FRuleId": "SUB_PPBOM_Pick",
"FEntity_Link_FSTableName": "T_SUB_PPBOMENTRY",
"FEntity_Link_FSBillId": "100006",
"FEntity_Link_FSId": "100007"
},
FEntity_Link_FFlowLineId 在t_BF_DefVersion中的FKernelxml中可以查询到。
10. 多类别基础资料字段,在2017年4月份版本之前是不支持多分录赋值的。
接口说明:由于整个K/3Cloud是后端是动态领域建模,没有实际的单据模型,只有元模型,所以WebAPI接口数量非常少,到目前为止也
9个操作接口和3个通用接口。具体说明和测试可以参考WebAPI页面在线说明和测试。
在线测试:
从2016年11月补丁开始,WebAPI上线了在线测试功能。
1.位置:WebAPI页面,参数说明区域的左上方。
2.连接测试:主要是为了验证登陆参数,用户仅需要填写用户密码,其他参数自动获取并显示在窗口。
3.接口测试:支持WebAPI目前所有支持的接口,并根据所选的单据显示当前单据所支持的接口。
4.最犀利功能: 保存和暂存时可以在线填写单据页面数据并返回到测试窗口测试,省去了用户构造数据的麻烦。
推荐阅读