偶尔会遇到这种情况。我有这个通用查询的参数列表。所有这些都在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。我在参数默认值中尝试了@ Null,@ null,null,但它们都没有工作。这些是条件:
在VIEW INQUERY中:
正如您所见,税务发票状态为待定状态,并且始终按待处理状态对其进行过滤。
此外,我想知道用户是否可以清除该字段,以便将其清空。
答案 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;
}
}
........
}