[Acumatica代码中的空引用异常,尝试生成报告PDF时

问题描述 投票:0回答:1

我正在尝试呈现报告PDF并创建FileInfo对象,但是当我尝试呈现报告时,Acumatica Code中会引发一些空引用错误。

这是我的代码:

        //Report Paramenters
        Dictionary<string, string> parameters = new Dictionary<string, string>()
        {
            {"BiopsyRefNumber", bioRefNbr}
        };

        PX.Reports.Controls.Report report = PXReportTools.LoadReport(reportId, null);
        PXReportTools.InitReportParameters(report, parameters, SettingsProvider.Instance.Default);
        ReportNode reportNode = ReportProcessor.ProcessReport(report);
        IRenderFilter renderFilter = ReportProcessor.GetRenderer(ReportProcessor.FilterPdf);


        Guid? fileGuid = Guid.Empty;
        using (StreamManager mgr = new StreamManager())
        {
            renderFilter.Render(reportNode, null, mgr);
            var file = new FileInfo(Guid.NewGuid(), fileName, null, mgr.MainStream.GetBytes());

            UploadFileMaintenance uploadGraph = PXGraph.CreateInstance<UploadFileMaintenance>();
            uploadGraph.SaveFile(file);
            fileGuid = file.UID;
        }

并且在renderFilter.Render()处,使用以下堆栈跟踪得到了空引用异常

   at PX.Data.Reports.PXSettingProvider.get_Company()
   at PX.Reports.Render.Pdf.PdfReport.Render(Stream stream)
   at PX.Reports.Render.Pdf.PdfRenderer.PX.Reports.Data.IRenderFilter.Render(ReportNode report, Hashtable deviceInfo, StreamManager sm)
   at MY CODE

SettingsProvider的工作方式是否有问题?令人沮丧的是,我在2019R1的客户端上做了同样的事情,由于某种原因,它在2020R1中对我失败。

谢谢

acumatica
1个回答
0
投票

弄清楚,当租户下有一个分支时,出现了某些故障。这是一个测试实例,所以我删除了所有分支。

© www.soinside.com 2019 - 2024. All rights reserved.