【问题标题】:Acumatica, generic inquery parameters null default value for dropdownAcumatica,通用查询参数 null 下拉列表的默认值
【发布时间】:2018-04-22 06:06:11
【问题描述】:

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

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。我在参数 Default Value 中尝试了 @Null, @null, null ,但它们都不起作用。这些是条件:

在查看查询中:

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

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

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    在处理默认值时,通用查询非常棘手。 如果您无法删除该字段的 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。

    【讨论】:

    • 另一种解决方案是覆盖默认字段
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2021-06-02
    • 2013-10-23
    • 2015-11-05
    相关资源
    最近更新 更多