通过接口、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...
点击下载文档
上一篇:生产订单变更单审核提示未正常生成投产数据下一篇:解决抵消表慢的问题
本文2024-09-16 18:53:32发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-25058.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章