报表自动查询,获取报表查询数据原创
金蝶云社区-云社区用户6QzL0379
云社区用户6QzL0379
9人赞赏了该文章 269次浏览 未经作者许可,禁止转载编辑于2024年10月28日 15:17:58

一、功能需求:用代码打开的报表,并且自动查询数据

1、打开报表

ReportShowParameter showParameter = new ReportShowParameter();
showParameter.setFormId("报表标识");
showParameter.getCustomParams().put("key",value);
showParameter.getOpenStyle().setShowType(ShowType.Modal);
this.getView().showForm(showParameter);

2、自动查询数据

    2.1、

    AbstractReportFormPlugin,

    重写afterBindData方法,在里面调用getView().refresh()

    @Override
public void afterBindData(EventObject e) {
    super.afterBindData(e);
    getView().refresh();
}

    2.2、

    AbstractReportFormPlugin,

    重写afterBindData方法,获取报表控件,调用search()方法

    @Override
public void afterBindData(EventObject e) {
ReportFilter filter = this.getView().getControl("reportfilterap");
filter.search();
}

二、功能需求:在调度任务中希望能获取报表查询出的数据,进行操作

image.png

//报表取数插件的类
QueryReportPlugin queryReportPlugin = new QueryReportPlugin();
ReportQueryParam reportQueryParam=new ReportQueryParam();
FilterInfo filterInfo=reportQueryParam.getFilter();
filterInfo.addFilterItem("报表过滤条件", null);
DataSet query = null;
try {
    query = queryReportPlugin.query(reportQueryParam,null);
} catch (Throwable ex) {
    throw new RuntimeException(ex);
}


图标赞 9
9人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
2人打赏
还没有人打赏,快来当第一个打赏的人吧!