二开案例-【WebAPI】如何通过WebAPI进行单据查询

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例-【WebAPI】如何通过WebAPI进行单据查询

一、请求参数

参数名参数说明是否必录
FormId业务对象表单Id
FieldKeys需查询的字段key集合
FilterString过滤条件
OrderString排序字段
TopRowCount返回总行数
StartRow开始行索引
Limit最大行数,不能超过10000
SubSystemId表单所在的子系统内码

二、注意重点

对于单据查询接口最主要的是FieldKeys(需查询字段)和FilterString(过滤条件)

1、FieldKeys(格式:"key1,key2,...")

查找字段标识方式:

1)Web API页面选择对应单据,操作列表选择保存,找到字段说明即可查找所需字段标识

2)使用BOS,打开对应单据业务对象查找所需字段标识

3)如果是查询单据体内码或行号,需要加单据体标识,格式:单据体标识+"_"+字段标识,如:FTreeEntity_FEntryId

4)查询基础资料属性,用"."属性来查询,格式:基础资料字段标识+"."+属性标识,如:FMaterialId.FNumber

5)查询总行数,FieldKeys填写count(1),并且Limit给0

2、FilterString

有以下两种形式:

1)[{"Left":"(","FieldName":"Field1","Compare":"67","Value":"111","Right":")","Logic":"0"},{"Left":"(","FieldName":"Field2","Compare":"67","Value":"222","Right":")","Logic":"0"}],比较运算符内码Compare可通过填写测试数据返回

2)类似于SQL查询where条件,如:FDocumentStatus='C' and FCreateDate between '2024/07/01' and '2024/07/04',一般可直接使用这种方式

三、常见问题

1、查询单据头信息返回的数据会有多行

1)查询基础资料,基础资料是分配型的,如果未指定使用组织则会返回所有组织符合条件的数据

2)过滤条件中涉及的字段其数据表跟单据头是一对多的关系

2、提示“元数据中标识为xxx的字段不存在”

检查字段标识是否正确,如果正确可查看BOS,该字段是否维护字段名,如未维护字段名则不能进行查询

3、无法查询多选基础资料

多选基础资料存储于另外单独的表,不支持查询

四、请求Json示例

{
    "FormId": "PRD_MO",
    "FieldKeys": "FID,FBillNo,FDocumentStatus,FCreateDate,FTreeEntity_FEntryId,FTreeEntity_FSeq,FMaterialId,FMaterialId.FNumber",
    "FilterString": "FDocumentStatus='C' and FCreateDate between '2024/07/01' and '2024/07/04'",
    "OrderString": "",
    "TopRowCount": 0,
    "StartRow": 0,
    "Limit": 2000,
    "SubSystemId": ""
}

二开案例-【WebAPI】如何通过WebAPI进行单据查询

一、请求参数参数名参数说明是否必录FormId业务对象表单Id是FieldKeys需查询的字段key集合是FilterString过滤条件否OrderString排序字段否T...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息