通过接口、sql获取报表数据

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

通过接口、sql获取报表数据

## 一、报表api 与标准web api不同,是一个报表模块自定义的api ### 1、直接使用: - [报表API工具](https://wenku.my7c.com/article/195584411566959104?productLineId=1&isKnowledge=2&lang=zh-CN) ### 2、C#中使用 ![image.webp](/download/01007e896bbfbde142239ae4fd1b7af971e2.webp) ### 3、JAVA中使用 ```java package template; import com.kingdee.bos.webapi.entity.IdentifyInfo; import com.kingdee.bos.webapi.sdk.K3CloudApi; public class ReportApiTest { private K3CloudApi client; public static void main(String[] args) { ReportApiTest test = new ReportApiTest(); test.login(); test.queryBalanceSheet(); } public void login(){ IdentifyInfo identifyInfo = new IdentifyInfo(); identifyInfo.setAppId(""); //todo 修改ip地址 identifyInfo.setServerUrl("http://127.0.0.1:8080/k3cloud/"); identifyInfo.setdCID(""); identifyInfo.setlCID(2052); identifyInfo.setUserName(""); identifyInfo.setPwd(""); identifyInfo.setAppSecret(""); identifyInfo.setOrgNum(""); client = new K3CloudApi(identifyInfo); /*try { client.CheckAuthInfo(); }catch (Exception e){ e.printStackTrace(); }*/ } public void queryBalanceSheet() { try { //todo 参数需替换 String apiParam = "{\"ReportType\":1,\"ReportNumber\":\"BBMB0001\",\"AcctSystemNumber\":\"KJHSTX01_SYS\",\"AcctPolicyNumber\":\"KJZC01_SYS\",\"OrgNumber\":\"tmt4101001\",\"CurrencyNumber\":\"PRE001\",\"CurrUnitNumber\":\"JEDW01_SYS\",\"CycleType\":4,\"Year\":2024,\"Period\":2,\"DataType\":\"Excel\",\"ResultType\":\"1\"}"; String reportData = client.execute("Kingdee.BOS.KDS.ServiceFacade.ServicesStub.KDSReportAPIStub.GetReportData,Kingdee.BOS.KDS.ServiceFacade.ServicesStub",new String[] {apiParam}); System.out.println(reportData); } catch (Exception e) { e.printStackTrace(); } } } ``` ### 3、postman调用 #### a.调用登录接口,获取 sessionId - [Postman登录星空](https://wenku.my7c.com/article/113974564946016512?productLineId=1&lang=zh-CN) #### b.调用报表api接口 - [Postman调用报表api接口](https://wenku.my7c.com/article/316988267696445696?productLineId=1&lang=zh-CN) (记得把参数修改成自己环境的) 示例: (版本:9.0.0.20240627) ![image.webp](/download/0100609cdbdc077a4dd39734689999fbc7e8.webp) ## 二、二开自定义api 二开自定义webapi接口,调用内部获取报表fml的接口,然后自行解析 ![image.webp](/download/01003d9274c2e7bf42a793acf657c97bf2ec.webp) 需要看代码的可以反编译同名dll查看 - [二开自定义webapi接口详解](https://wenku.my7c.com/article/218296473741031424?productLineId=1&lang=zh-CN) ## 三、通过sql获取 - [财务报表报表项目数据存取](https://wenku.my7c.com/article/162788?productLineId=1&lang=zh-CN) ## 四、使用Web API - 路径-web api-财务会计-报表-项目数据查询,但是需要注意的是,该接口的返回值里面没有金额 (web api-财务会计-报表-报表:该web api无法获取报表的具体内容) ## 五、获取不到项目数据 ![image.webp](/download/010081dffc1b468e40f39d9d3708bfd0423d.webp) 1、打开报表检查是否设置了项目公式 必须设置了项目公式,sql查询 以及 报表api的导出项目数据 才会有数据。如果没有设置,只能引出excel 或者 二开自定义webapi引出报表fml 再解析出结果 2、设置了项目公式,但取不到数据: 打开报表,点击“取数公式检查”,看一下是否有重复的项目公式,如果由重复的项目公式会导致数据被覆盖。 解决方案:删除重复的项目公式,重算并保存报表。 3、共享报表、共享项目数据: 查询时需要加上报表和项目数据的关联表t_kds_iteminrpt ```java //示例 select * from t_kds_rpt t1 left join t_kds_iteminrpt t2 on t1.frptid = t2.frptid left join t_kds_rptitemdata t3 on t2.fitemdataid = t3.fitemdataid ```

通过接口、sql获取报表数据

## 一、报表api与标准web api不同,是一个报表模块自定义的api### 1、直接使用:- [报表API工具](https://wenku.my7c.com/article/1955...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息