gpt4 book ai didi

acumatica - 当我使用 Acumatica 代码在销售订单屏幕上单击自定义操作时,我们如何附加报告 PDF/Excel 文件

转载 作者:行者123 更新时间:2023-12-04 10:02:08 31 4
gpt4 key购买 nike

我们的要求是在销售订单屏幕上创建新操作,当我们单击该自定义操作时,我们将打开电子邮件事件屏幕以在该电子邮件中发送电子邮件,我们希望附加报告 PDF/Excel 文件,而无需单独单击报告操作按钮,但是当我们通过代码单击自定义操作按钮时应该会发生。

当我们单击自定义操作按钮而不是报告操作时,是否可以附加报告文件。

提前致谢。

最佳答案

这可以使用 PXReportToolsPX.SM.FileInfo在您的自定义操作中。正如 Dmitrii Naumov 在评论中指出的那样,the method posted by Joshua Van Hoesen这样做,你只需要设置你需要的报告并设置它期望的参数。

以下是发现此问题的任何人所需的代码:

public class ARInvoiceEntryExtension : PXGraphExtension<ARInvoiceEntry>
{
public PXAction<ARInvoice> attachReport;
[PXUIField(DisplayName = "Attach Report")]
[PXButton]
public virtual IEnumerable AttachReport(PXAdapter adapter)
{
//Report Paramenters
Dictionary<String, String> parameters = new Dictionary<String, String>();
parameters["ARInvoice.DocType"] = Base.Document.Current.DocType;
parameters["ARInvoice.RefNbr"] = Base.Document.Current.RefNbr;

//Report Processing
PX.Reports.Controls.Report _report = PXReportTools.LoadReport("AR641000", null);
PXReportTools.InitReportParameters(_report, parameters,
SettingsProvider.Instance.Default);
ReportNode reportNode = ReportProcessor.ProcessReport(_report);

//Generation PDF
byte[] data = PX.Reports.Mail.Message.GenerateReport(reportNode,
ReportProcessor.FilterPdf).First();

PX.SM.FileInfo file = new PX.SM.FileInfo(reportNode.ExportFileName + ".pdf", null, data);

UploadFileMaintenance graph = new UploadFileMaintenance();
graph.SaveFile(file);
PXNoteAttribute.AttachFile(Base.Document.Cache, Base.Document.Current, file);

return adapter.Get();
}
}

关于acumatica - 当我使用 Acumatica 代码在销售订单屏幕上单击自定义操作时,我们如何附加报告 PDF/Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61771582/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com