Я пытаюсь отобразить отчет в формате 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.
Спасибо