以单页PDF格式从Acumatica获取报告
我正在尝试以单页PDF格式获取Acumatica报告。 (无论是从报表屏幕还是由自定义代码生成的PDF,多页都可以正常工作) 所有报告和组在“保持一致”设置中均为“真”。 我尝试将此作为报告屏幕,或尝试使用以下代码生成PDF:以单页PDF格式从Acumatica获取报告,pdf,acumatica,Pdf,Acumatica,我正在尝试以单页PDF格式获取Acumatica报告。 (无论是从报表屏幕还是由自定义代码生成的PDF,多页都可以正常工作) 所有报告和组在“保持一致”设置中均为“真”。 我尝试将此作为报告屏幕,或尝试使用以下代码生成PDF: public PXAction<PX.Objects.AR.ARInvoice> CreatePDF; [PXButton(CommitChanges = true)] [PXUIField(DisplayName = "Cr
public PXAction<PX.Objects.AR.ARInvoice> CreatePDF;
[PXButton(CommitChanges = true)]
[PXUIField(DisplayName = "Create PDF")]
protected void createPDF()
{
//Report Paramenters
Dictionary<String, String> parameters = new Dictionary<String, String>();
parameters["ARInvoice.DocType"] = Base.Document.Current.DocType;
parameters["ARInvoice.RefNbr"] = Base.Document.Current.RefNbr;
parameters["DocType"] = Base.Document.Current.DocType;
parameters["RefNbr"] = Base.Document.Current.RefNbr;
//Report Processing
PX.Reports.Controls.Report _report = PX.Data.Reports.PXReportTools.LoadReport("EP301009", null);
PX.Data.Reports.PXReportTools.InitReportParameters(_report, parameters,
PX.Reports.SettingsProvider.Instance.Default);
ReportNode reportNode = ReportProcessor.ProcessReport(_report);
//Generation PDF
byte[] data = PX.Reports.Mail.Message.GenerateReport(reportNode, ReportProcessor.FilterHtml).First();
FileInfo file = new FileInfo("report.html", null, data);
//Saving report
UploadFileMaintenance graph = new UploadFileMaintenance();
graph.SaveFile(file);
PXNoteAttribute.AttachFile(Base.Document.Cache, Base.Document.Current, file);
throw new PXRedirectToFileException(file, true);
}
public-PXAction-CreatePDF;
[PXButton(CommitChanges=true)]
[PXUIField(DisplayName=“创建PDF”)]
受保护的void createPDF()
{
//报告参数
字典参数=新字典();
参数[“ARInvoice.DocType”]=Base.Document.Current.DocType;
参数[“ARInvoice.RefNbr”]=Base.Document.Current.RefNbr;
参数[“DocType”]=Base.Document.Current.DocType;
参数[“RefNbr”]=Base.Document.Current.RefNbr;
//报表处理
PX.Reports.Controls.Report _Report=PX.Data.Reports.PXReportTools.LoadReport(“EP301009”,null);
PX.Data.Reports.PXReportTools.InitReportParameters(_report,parameters,
PX.Reports.SettingsProvider.Instance.Default);
ReportNode ReportNode=ReportProcessor.ProcessReport(_report);
//生成PDF
byte[]data=PX.Reports.Mail.Message.GenerateReport(reportNode,ReportProcessor.FilterHtml).First();
FileInfo file=newfileinfo(“report.html”,null,data);
//储蓄报告
UploadFileMaintenance图形=新建UploadFileMaintenance();
graph.SaveFile(文件);
PXNoteAttribute.AttachFile(Base.Document.Cache,Base.Document.Current,file);
抛出新的PXRedirectToFileException(文件,true);
}
我实现的唯一一个单页结果——Acumatica在单击“PDF”按钮时只显示第一页。其他人都失去了
是否可以覆盖Acumatica中的“PDF”按钮行为?报告引擎基于页面,因此您必须使用页面。在一个有限大小的页面上只能容纳有限数量的数据 我建议增加页面大小,以便在单个页面上容纳更多数据。这可以在Acumatica report designer中报告的
PageSettings
属性中完成