diff --git a/src/main/java/org/spin/grpc/util/BusinessDataServiceImplementation.java b/src/main/java/org/spin/grpc/util/BusinessDataServiceImplementation.java index 15ad4fc86..063219247 100644 --- a/src/main/java/org/spin/grpc/util/BusinessDataServiceImplementation.java +++ b/src/main/java/org/spin/grpc/util/BusinessDataServiceImplementation.java @@ -740,16 +740,38 @@ private ReportOutput.Builder getReportOutput(Properties context, GetReportOutput query.addRestriction(criteria.getWhereClause()); } // - PrintInfo printInformation = new PrintInfo(request.getReportName(), table.getAD_Table_ID(), 102, 0); - MPrintFormat printFormat = MPrintFormat.get(Env.getCtx(), 102, false); - ReportEngine reportEngine = new ReportEngine(Env.getCtx(), printFormat, query, printInformation); + PrintInfo printInformation = new PrintInfo(request.getReportName(), table.getAD_Table_ID(), 0, 0); + // Get Print Format + MPrintFormat printFormat = null; + MReportView reportView = null; + if(!Util.isEmpty(request.getPrintFormatUuid())) { + printFormat = new Query(context, I_AD_PrintFormat.Table_Name, I_AD_PrintFormat.COLUMNNAME_UUID + " = ?", null) + .setParameters(request.getPrintFormatUuid()) + .first(); + } + // Get Report View if(!Util.isEmpty(request.getReportViewUuid())) { - MReportView reportView = new Query(context, I_AD_ReportView.Table_Name, I_AD_ReportView.COLUMNNAME_UUID + " = ?", null) + reportView = new Query(context, I_AD_ReportView.Table_Name, I_AD_ReportView.COLUMNNAME_UUID + " = ?", null) .setParameters(request.getReportViewUuid()) .first(); + } + // Get Default + if(printFormat == null) { + int reportViewId = 0; if(reportView != null) { - reportEngine.setAD_ReportView_ID(reportView.getAD_ReportView_ID()); + reportViewId = reportView.getAD_ReportView_ID(); } + printFormat = MPrintFormat.get(context, reportViewId, table.getAD_Table_ID()); + } + // Validate print format + if(printFormat == null) { + throw new AdempiereException("@AD_PrintGormat_ID@ @NotFound@"); + } + // Run report engine + ReportEngine reportEngine = new ReportEngine(Env.getCtx(), printFormat, query, printInformation); + // Set report view + if(reportView != null) { + reportEngine.setAD_ReportView_ID(reportView.getAD_ReportView_ID()); } // Set Summary reportEngine.setSummary(request.getIsSummary()); diff --git a/src/main/java/org/spin/grpc/util/DataClient.java b/src/main/java/org/spin/grpc/util/DataClient.java index ad29f67dc..8c98f7f5c 100644 --- a/src/main/java/org/spin/grpc/util/DataClient.java +++ b/src/main/java/org/spin/grpc/util/DataClient.java @@ -89,7 +89,7 @@ public void getReportOutput() { .setCriteria(criteria) .setPrintFormatUuid("5788e4a4-b253-11e9-aedf-0242ac110003") .setReportName("Test") - .setReportType("html") + .setReportType("pdf") .build(); ReportOutput response; try {