以单页PDF格式从Acumatica获取报告

以单页PDF格式从Acumatica获取报告,pdf,acumatica,Pdf,Acumatica,我正在尝试以单页PDF格式获取Acumatica报告。 (无论是从报表屏幕还是由自定义代码生成的PDF,多页都可以正常工作) 所有报告和组在“保持一致”设置中均为“真”。 我尝试将此作为报告屏幕,或尝试使用以下代码生成PDF: public PXAction<PX.Objects.AR.ARInvoice> CreatePDF; [PXButton(CommitChanges = true)] [PXUIField(DisplayName = "Cr

我正在尝试以单页PDF格式获取Acumatica报告。 (无论是从报表屏幕还是由自定义代码生成的PDF,多页都可以正常工作) 所有报告和组在“保持一致”设置中均为“真”。 我尝试将此作为报告屏幕,或尝试使用以下代码生成PDF:

    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
属性中完成