分页报表取数WebApi接口说明原创
金蝶云社区-fengyj
fengyj
18人赞赏了该文章 5,968次浏览 未经作者许可,禁止转载编辑于2024年06月13日 15:24:24
summary-icon摘要由AI智能服务提供

本文介绍了分页报表取数接口,通过WebAPI方式支持第三方获取库存报表等分页数据,简化了取数细节和二次开发。接口适用于多种报表,支持分页查询、快捷和高级过滤等,提供了接口地址、支持版本、更新记录、过滤参数说明、接口功能、注意事项和调用示例。最新版本增强了功能并修复了问题。

关键字:WEBAPI;报表API接口;库存账龄分析报表;物料收发明细报表;物料收发汇总报表;

接口说明:

       分页报表取数接口提供一种供第三方通过WebAPI方式获取分页报表查询结果的能力,可以省去了解报表具体取数细节、二次开发的工作,便于对接第三方系统以及数据再加工。一般情况下,所有分页账表本接口都适用,不限于物料收发明细、物料收发汇总、库存台账、库存汇总统计、库存账龄分析、库龄分析汇总等报表,由于开发以及测试用的都是库存报表,其他模块的分页报表未经验证,如发现问题也可在下述评论区进行反馈,后续版本进行迭代更新。


接口地址:

        http://{服务器地址}/k3cloud/Kingdee.K3.SCM.WebApi.ServicesStub.StockReportQueryService.GetReportData,Kingdee.K3.SCM.WebApi.ServicesStub.common.kdsvc


支持版本:

       2022年3月及之后的补丁,版本号>=PT-146906 [8.0.0.202203]


版本更新记录

        2022年11月补丁,版本:PT-146930 [8.1.0.20221110] 更新以下内容

        1)支持设置返回字段 FieldKeys;

        2)快捷过滤支持单据体类型条件设置;

        3)修复已知问题;

        2022年8月补丁,版本:PT-146922 [8.0.0.20220811] 更新以下内容

        1)接口支持分页查询;

        2)接口支持高级过滤查询;

        3)修复已知BUG;

            注:传了CurQueryId值后不再应用过滤条件,会从首次查询结果中取出指定分页范围内数据


        更新后的过滤参数说明如下:

参数名类型说明
FORMID
String报表FORMID,必录
FSCHEMEIDString过滤方案ID,且不能是默认方案,必录
QuicklyConditionArray对应于过滤框中的快捷页签以及选项页签中的条件,非必录
       FieldNameString
快捷过滤字段绑定属性1
       FieldValueString具体数值
MoreConditionArray高级过滤条件,对应于过滤框中【条件】、【高级】条件,非必录
       LeftString左括号(,有则填,无则留空
       FieldNameString
字段名,【条件】或【高级】页签中的字段标识
       CompareString比较符,如=、>、<
       FieldValueString
过滤值
       RightString右括号)
       LogicString逻辑词,AND或者OR
StartRowInt开始行索引,从0开始,非必录
LimitInt最大返回行数,最大10000,非必录
CurQueryIdString本次查询标识ID,在间隔时间比较短且进行分页查询时使用,根据查询返回的CurQueryId进行填写,非必录
FieldKeysString设置返回字段,多个字段使用英文逗号分隔,为空返回当前过滤方案所有字段,非必录


JSON格式:

{
    "FORMID": "报表FORMID,必录",
    "FSCHEMEID": "过滤方案ID,且不能是默认方案,必录",
    "QuicklyCondition": [/*对应于过滤框中的快捷页签以及选项页签中的条件,非必录*/
        {
            "FieldName": "快捷过滤字段绑定属性1",
            "FieldValue": "具体数值"
        },
        {
            "FieldName": "快捷过滤字段绑定属性2",
            "FieldValue": "具体数值"
        }
    ],
    "MoreCondition": [/*高级过滤条件,对应于过滤框中【条件】、【高级】条件,非必录*/
        {
            "Left": "左括号(,有则填,无则留空",
            "FieldName": "字段名,【条件】或【高级】页签中的字段标识",
            "Compare": "比较符,如=、>、<",
            "FieldValue": "过滤值",
            "Right": "右括号)",
            "Logic": "逻辑词,AND或者OR"
        },
        {
            "Left": "左括号(,有则填,无则留空",
            "FieldName": "字段名",
            "Compare": "比较符,如=、>、<",
            "FieldValue": "过滤值",
            "Right": "右括号)",
            "Logic": "逻辑词,AND或者OR"
        }
    ],
    "StartRow": "开始行索引,从0开始,非必录",
    "Limit": "最大返回行数,最大10000,非必录",
    "CurQueryId": "本次查询标识ID,在间隔时间比较短且进行分页查询时使用,根据查询返回的CurQueryId进行填写,非必录",
    "FieldKeys":"设置返回字段,多个字段使用英文逗号分隔,为空返回当前过滤方案所有字段,非必录"
}

         *注:版本升级后如果需要返回行数超10000,也就是不进行分页,可执行以下SQL:

INSERT INTO T_BAS_SYSTEMPROFILE( FCATEGORY ,FORGID ,FACCOUNTBOOKID ,FKEY ,FVALUE ,FACCTPOLICYID,FACCTSYSTEMID) VALUES 
('STK' ,0 ,0 ,'SCMAPIREPORTPAGESETTING' ,N'1' ,0 ,0)




版本更新记录结束


接口功能:

       根据传入条件获取分页报表数据。

       注意事项:

       1)查询结果需要进行序列化成json,数据量太大会给系统造成压力,需要注意查询时间范围;

       2)报表查询本身数据比较耗时的操作,要注意调用接口频率;


接口参数:

{
    "FORMID": "报表FORMID",
    "FSCHEMEID": "过滤方案ID",
    "QuicklyCondition": [
        {
            "FieldName": "快捷过滤字段绑定属性1",
            "FieldValue": "具体数值"
        },
        {
            "FieldName": "快捷过滤字段绑定属性2",
            "FieldValue": "具体数值"
        }
    ]
}

(*注:过滤方案的主键值,可通过该SQL语句查询得到:

SELECT FSCHEMEID,FSCHEMENAME FROM T_BAS_FILTERSCHEME WHERE FFORMID='报表FORMID' )


调用示例(物料收发明细):

参数:

{
  "parameters": ["{\"FORMID\":\"STK_StockDetailRpt\",\"FSCHEMEID\":\"5fb2412a4f22a3\",
                             \"QuicklyCondition\":[{\"FieldName\":\"BeginMaterialId\",\"FieldValue\":\"041602\"},
                             {\"FieldName\":\"EndMaterialId\",\"FieldValue\":\"041602\"},
                             {\"FieldName\":\"BeginDate\",\"FieldValue\":\"2014-08-01\"},
                             {\"FieldName\":\"EndDate\",\"FieldValue\":\"2020-12-01\"}]}"]
}


分页报表API接口参数说明.png


赞 18