Suche…


Einführung

In diesem Thema erfahren Sie, wie Sie das Feld Beschreibung der zugehörigen Entität um eine benutzerdefinierte Entität für Aufgaben, Ereignisse und Aktivitäten erweitern.

Hinzufügen von Testarbeitsaufträgen zum Feld Beschreibung der zugehörigen Entität

Angenommen, Sie haben bereits den benutzerdefinierten Bildschirm " Test-Arbeitsaufträge" erstellt , um Test-Arbeitsaufträge in Ihrer Acumatica ERP-Anwendung zu verwalten:

Geben Sie hier die Bildbeschreibung ein

Es gibt bereits NoteID Feld in der erklärt TestWorkOrder DAC, auf dem Test - Arbeitsaufträge Bildschirm verwaltet:

[Serializable]
public class TestWorkOrder : IBqlTable
{
    ...

    #region NoteID
    public abstract class noteID : IBqlField { }
    [PXNote]
    public virtual Guid? NoteID { get; set; }
    #endregion


    ...
}

Die ActivityIndicator Eigenschaft wird für den PXForm Container der obersten Ebene auf " True" PXForm :

<px:PXFormView ID="form" runat="server" ActivityIndicator="true" DataSourceID="ds" Style="z-index: 100" DataMember="ITWO" Width="100%" >

Wenn jedoch eine neue Aufgabe, ein Ereignis oder eine neue Aktivität für einen Testarbeitsauftrag erstellt wird, ist das Steuerelement für die zugehörige Entitätbeschreibung immer leer:

Geben Sie hier die Bildbeschreibung ein

Führen Sie die folgenden Schritte aus, um die Entität Test Work Order zum Selector Related Entity Description hinzuzufügen:

  1. PXNoteAttribute für das Feld PXNoteAttribute on TestWorkOrder.NoteID die Eigenschaft ShowInReferenceSelector auf True, und definieren Sie den BQL-Ausdruck, um die in der Entity- Suche angezeigten Datensätze auszuwählen:

    [PXNote(
        ShowInReferenceSelector = true,
        Selector = typeof(Search<TestWorkOrder.orderNbr>))]
    public virtual Guid? NoteID { get; set; }
    
  1. Dekorieren Sie den TestWorkOrder DAC mit dem PXCacheNameAttribute und dem PXPrimaryGraphAttribute :

    [PXLocalizable]
    public static class Messages
    {
        public const string Opportunity = "Test Work Order";
    }
    
    [Serializable]
    [PXCacheName(Messages.Opportunity)]
    [PXPrimaryGraph(typeof(TestWorkOrderEntry))]
    public class TestWorkOrder : IBqlTable
    {
        ...
    }
    

    Das PXCacheName Attribut definiert den benutzerfreundlichen Namen für den TestWorkOrder DAC ( Test Work Order in diesem Fall), der in der Dropdown-Liste Typ verfügbar ist. Das PXPrimaryGraph Attribut bestimmt die Eingabeseite , wo ein Benutzer zum Bearbeiten eines Testarbeitsauftrages umgeleitet wird, die der Test Arbeitsaufträge Bildschirm in dem gegebenen Beispiel ist.

  2. Dekorieren Sie einige TestWorkOrder Felder mit dem PXFieldDescriptionAttribute . Diese Feldwerte werden zu einer einzelnen Textbeschriftung verkettet, die die referenzierte Testarbeitsreihenfolge im Feld Beschreibung der zugehörigen Entität darstellt :

    ...
    [PXFieldDescription]
    public virtual string OrderNbr { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual String Status { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual string POOrderNbr { get; set; }
    
  3. Definieren Sie die Liste der Spalten, die in der Entitätssuche angezeigt werden, indem Sie eine der folgenden Methoden auswählen:

    ein. Verwenden Sie die PXNoteAttribute.FieldList Eigenschaft (erhält die höchste Priorität):

    public abstract class noteID : IBqlField { }
    [PXNote(
        ShowInReferenceSelector = true,
        Selector = typeof(Search<TestWorkOrder.orderNbr>),
        FieldList = new Type[]
        {
            typeof(TestWorkOrder.orderNbr),
            typeof(TestWorkOrder.orderDate),
            typeof(TestWorkOrder.status),
            typeof(TestWorkOrder.poOrderNbr)
        })]
    public virtual Guid? NoteID { get; set; }
    

    b. Leihen Sie sich die Liste der für die OrderNbr- Suche definierten Spalten aus :

    public abstract class orderNbr : IBqlField { }
    [PXDBString(15, IsKey = true, IsUnicode = true, InputMask = ">CCCCCCCCCCCCCCC")]
    [PXDefault()]
    [PXUIField(DisplayName = "ITWO Nbr.", Visibility = PXUIVisibility.SelectorVisible)]
    [PXSelector(typeof(Search<TestWorkOrder.orderNbr>),
        typeof(TestWorkOrder.orderNbr),
        typeof(TestWorkOrder.orderDate),
        typeof(TestWorkOrder.status),
        typeof(TestWorkOrder.poOrderNbr))]
    [PXFieldDescription]
    public virtual string OrderNbr { get; set; }
    

    c. Alle TestWorkOrder Felder TestWorkOrder , deren Sichtbarkeit auf PXUIVisibility.SelectorVisible :

    ...
    [PXUIField(DisplayName = "ITWO Nbr.", Visibility = PXUIVisibility.SelectorVisible)]
    public virtual string OrderNbr { get; set; }
    
    ...
    [PXUIField(DisplayName = "Order Date", Visibility = PXUIVisibility.SelectorVisible)]
    public virtual DateTime? OrderDate { get; set; }
    
    ...
    [PXUIField(DisplayName = "Status", Visibility = PXUIVisibility.SelectorVisible)]
    public virtual String Status { get; set; }
    
    ...
    [PXUIField(DisplayName = "Purchase Order", Visibility = PXUIVisibility.SelectorVisible)]
    public virtual string POOrderNbr { get; set; }
    

Nachdem Sie die oben genannten 4 Schritte ausgeführt haben, sollte Test Work Orders vollständig durch das Feld Enthält Beschreibung der Entität für Aufgaben, Ereignisse und Aktivitäten unterstützt werden

Geben Sie hier die Bildbeschreibung ein



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow