我正在尝试在新流程屏幕上执行打印发票操作,该操作指向以客户参考Nbr为参数的新自定义报告。关于如何开始的任何帮助?
答案 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”选项卡中查找参数名称: