我想在报告参数中填充“客户”列表。我记得我们可以使用类似=Report.GetFieldSchema('ARPayment.CustomerID')
的东西。但是,我要填充此列表,或者说要根据某些条件过滤此列表。
谁能建议我该怎么做?我可以在Acumatica报告Desinger参数中做到这一点吗?
答案 0 :(得分:0)
如果您要讨论的是为报表表单中的参数过滤选择器控件的弹出窗口:
我认为这些是根据使用的DAC字段进行过滤的。在您的情况下,这将是“ ARPayment.CustomerID”:
public class ARPayment : ARRegister, IInvoice, ICCPayment, IApprovable, IApprovalDescription
{
#region CustomerID
public new abstract class customerID : PX.Data.IBqlField
{
}
[CustomerActive(Visibility = PXUIVisibility.SelectorVisible, Filterable = true, TabOrder = 2)]
[PXRestrictor(typeof(Where<Customer.status, Equal<CR.BAccount.status.active>,
Or<Customer.status, Equal<CR.BAccount.status.oneTime>,
Or<Customer.status, Equal<CR.BAccount.status.hold>,
Or<Customer.status, Equal<CR.BAccount.status.creditHold>>>>>), Messages.CustomerIsInStatus, typeof(Customer.status), ReplaceInherited = true)]
[PXUIField(DisplayName = "Customer", TabOrder = 2)]
[PXDefault()]
public override Int32? CustomerID
{
get
{
return this._CustomerID;
}
set
{
this._CustomerID = value;
}
}
#endregion
[…]
}
您可以提供另一个具有不同PXRestrictor子句的DAC来过滤客户。我认为在全局范围内重新定义“ ARPayment.CustomerID” DAC字段也可以工作,但是它的副作用是更改使用该字段的选择器过滤器。
如果您要查找的是在单个参数(例如,传递值数组的单个参数)中将多个值传递给报表,这是我所无法直接理解的,因此需要变通方法,例如传递多个值说明如下: https://www.timrodman.com/augforums/acumatica-report-designer/multiple-values-for-a-parameter/