流程屏幕上的自定义打印发票操作

时间:2018-08-31 14:14:52

标签: acumatica

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

1 个答案:

答案 0 :(得分: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 Report Designer的“ Schema Builder”对话框的“ Parameters”选项卡中查找参数名称: enter image description here