过程画面上的自定义打印发票操作

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

我正在尝试在我的新流程屏幕上显示打印发票操作,该操作指向以客户参考Nbr为参数的新自定义报告。有关如何开始的任何帮助?

acumatica
1个回答
1
投票

在Acumatica中,重定向到另一个页面(指向新的自定义报告)是通过抛出重定向异常来完成的。要重定向到报告页面,您应该使用的异常是“PXReportRequiredException”。

使用参数启动自定义报告的代码:

    public PXAction<Customer> printInvoice;

    [PXUIField(DisplayName = "Print Invoice", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]
    public virtual IEnumerable PrintInvoice(PXAdapter adapter)
    {
        Customer customer = [fetch desired customer record here];

        if (customer != null && customer.RefNbr != null)
        {
            // Add your report parameters to a Dictionary<string, string> collection.
            // The dictionary key is the parameter name as shown in the report editor.
            // The dictionary value is the value you assign to that parameter.
            Dictionary<string, string> parameters = new Dictionary<string, string>();
            parameters["RefNbr"] = customer.RefNbr;

            // Provide your custom report ReportID
            string reportID = "AR641000";

            // Provide a title name for your report page
            string reportName = "Customer Invoice"

            // Redirect to report page by throwing a PXReportRequiredException object 
            throw new PXReportRequiredException(parameters, reportID, reportName);
        }

        return adapter.Get();
    }

您可以在Acumatica报表设计器的Schema Builder对话框的Parameters选项卡中查找参数名称:enter image description here

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