Acumatica,泛型inquery参数null下拉列表的默认值

时间:2017-11-09 09:46:57

标签: acumatica

偶尔会遇到这种情况。我有这个通用查询的参数列表。所有这些都在TaxInvoiceStatus之外工作:

enter image description here

TaxInvoiceStatus有一个默认值Pending:

    public abstract class taxInvoiceStatus : PX.Data.IBqlField
    {
    }
    protected int? _TaxInvoiceStatus;
    [PXDBInt()]
    [PXUIField(DisplayName = "TaxInvoice Status")]
    [PXDefault(ExtStatus.Pending)]
    [PXIntList(
        new int[]
        {
            ExtStatus.Pending,
            ExtStatus.Rejected,
            ExtStatus.Confirmed,
            ExtStatus.Initial,
            ExtStatus.Corrected,
            ExtStatus.Canceled,
            ExtStatus.WaitingApprove,
            ExtStatus.ApprovedByVendor

        },
        new string[]
        {
            "Pending",
            "Rejected",
            "Confirmed",
            "Initial",
            "Corrected",
            "Canceled",
            "Waiting Approve",
            "Approved By Vendor"

        })]
    public virtual int? TaxInvoiceStatus
    {
        get
        {
            return this._TaxInvoiceStatus;
        }
        set
        {
            this._TaxInvoiceStatus = value;
        }
    }

所以问题是我无法在通用查询页面上为TaxInvoiceStatus设置默认值null。我在参数默认值中尝试了@ Null,@ null,null,但它们都没有工作。这些是条件:

enter image description here

在VIEW INQUERY中:

enter image description here

正如您所见,税务发票状态为待定状态,并且始终按待处理状态对其进行过滤。

此外,我想知道用户是否可以清除该字段,以便将其清空。

1 个答案:

答案 0 :(得分:0)

在处理默认值时,通用查询非常棘手。 如果您无法删除该字段的PXDefault,您可以做的一件事是:

创建一个继承自YOURDAC的自定义DAC。

在自定义DAC上,仅删除“状态”字段的PXDefault属性。

public class CUSTOMDAC: YOURDAC
{
         .....

    public abstract class taxInvoiceStatus : PX.Data.IBqlField
    {
    }
    protected int? _TaxInvoiceStatus;
    [PXDBInt()]
    [PXUIField(DisplayName = "TaxInvoice Status")]
    //[PXDefault(ExtStatus.Pending)]
    [PXIntList(
        new int[]
        {
            ExtStatus.Pending,
            ExtStatus.Rejected,
            ExtStatus.Confirmed,
            ExtStatus.Initial,
            ExtStatus.Corrected,
            ExtStatus.Canceled,
            ExtStatus.WaitingApprove,
            ExtStatus.ApprovedByVendor

        },
        new string[]
        {
            "Pending",
            "Rejected",
            "Confirmed",
            "Initial",
            "Corrected",
            "Canceled",
            "Waiting Approve",
            "Approved By Vendor"

        })]
    public virtual int? TaxInvoiceStatus
    {
        get
        {
            return this._TaxInvoiceStatus;
        }
        set
        {
            this._TaxInvoiceStatus = value;
        }
    }
    ........

 }
  • 然后在GI上使用新的自定义DAC。