2017-07-21 3 views

Antwort

0

Sie könnten versuchen, in PXProjection zu suchen, wo die Spalten als die Felder innerhalb der Projektionsklasse definiert sind. PXProjection ist wie eine SQL-Ansicht als DAC in Acumatica. Suchen Sie einfach die Acumatica-Quelle für PXProjection und Sie sollten viele Beispiele finden. Beachten Sie, dass innerhalb der Klasse BqlField für jede "Spalte" festgelegt werden muss, damit der Prozess weiß, welchem ​​table.field-Feld Ihr Projektionsfeld zugeordnet ist.

Schnell beitreten PXprojection unten. In diesem Beispiel wird nur 1 Spalte im DAC vorhanden sein und es wird auf APRegister.docType

[PXProjection(typeof(Select2<APRegister, 
     InnerJoin<APInvoice, On<APInvoice.docType, Equal<APRegister.docType>, 
      And<APInvoice.refNbr, Equal<APRegister.refNbr>>>, 
     InnerJoin<APPayment, On<APPayment.docType, Equal<APRegister.docType>, 
      And<APPayment.refNbr, Equal<APRegister.refNbr>>>>>, 
     Where<APRegister.docType, Equal<APDocType.quickCheck>, 
      Or<APRegister.docType, Equal<APDocType.voidQuickCheck>>>>), Persistent = true)] 
[Serializable] 
public partial class APQuickCheck : APRegister 
{ 
    #region DocType 
    public new abstract class docType : PX.Data.IBqlField 
    { 
    } 
    [PXDBString(3, IsKey = true, IsFixed = true, BqlField = typeof(APRegister.docType))] 
    [PXDefault(APDocType.QuickCheck)] 
    [APQuickCheckType.List()] 
    [PXUIField(DisplayName = "Type", Visibility = PXUIVisibility.SelectorVisible, Enabled = false)] 
    [PXFieldDescription] 
    public override String DocType 
    { 
     get 
     { 
      return this._DocType; 
     } 
     set 
     { 
      this._DocType = value; 
     } 
    } 
    #endregion 
} 
abgebildet