2017-11-09 3 views
0

Ich renne bei Gelegenheit. Ich habe eine Liste mit Parametern für diese allgemeine Anfrage. Alle von ihnen arbeiten außer TaxInvoiceStatus:Acumatica, generische Abfrageparameter Null Standardwert für Dropdown

enter image description here

TaxInvoiceStatus hat einen Standardwert Bis:

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; 
     } 
    } 

Also das Problem ist, dass ich einen Standardwert null für TaxInvoiceStatus auf der generischen inquery Seite gesetzt kippe. Ich habe @Null, @null, null in den Parametern Default Value versucht, aber keiner von ihnen hat funktioniert. Das sind Bedingungen:

enter image description here

Und in VIEW INQUERY:

enter image description here

Wie Sie Steuerrechnungsstatus sehen aussteht und filtert sie immer nach Status anhängig.

Ich frage mich auch, ob es für den Benutzer möglich ist, das Feld zu löschen, damit es leer ist.

Antwort

0

Generische Abfrage ist sehr schwierig beim Umgang mit Standardwerten. Wenn Sie den PXDefault für das Feld nicht entfernen können, ist Folgendes möglich:

Erstellen Sie einen benutzerdefinierten DAC, der von YOURDAC beteiligt ist.

Entfernen Sie auf Ihrem benutzerdefinierten DAC das PXDefault-Attribut nur für Ihr Statusfeld.

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; 
     } 
    } 
    ........ 

} 
  • dann Ihre neue benutzerdefinierte DAC auf dem GI verwenden.
+0

Eine andere Lösung wäre das Überschreiben von Feldfehlern – user3857731

Verwandte Themen