Null Reference Exception из кода Acumatica при попытке создать отчет PDF - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь отобразить отчет в формате PDF и создать объект FileInfo, но при попытке отобразить отчет в коде Acumatica возникает некоторая нулевая ссылка.

Вот мой код:

        //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.

Спасибо

1 Ответ

0 голосов
/ 21 апреля 2020

Разобрался, что-то не так, когда есть ветвь под арендатором. Это тестовый экземпляр, поэтому я удалил все ветви.

...