Szukaj…


Wprowadzenie

W tym temacie dowiesz się, jak rozszerzyć pole Opis podmiotu powiązanego o encję niestandardową dla zadań, zdarzeń i działań.

Dodawanie testowych zleceń pracy do pola opisu podmiotu powiązanego

Załóżmy, że utworzyłeś już niestandardowy ekran Testuj zlecenia pracy do zarządzania testowymi zleceniami pracy w aplikacji Acumatica ERP:

wprowadź opis zdjęcia tutaj

Jest już NoteID pole zadeklarowane w TestWorkOrder DAC, udało się na ekranie zleceń Test:

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

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


    ...
}

a właściwość ActivityIndicator jest ustawiona na True dla kontenera PXForm najwyższego poziomu:

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

Jednak po utworzeniu nowego zadania, zdarzenia lub działania dla testowego zlecenia pracy kontrola Opis jednostki powiązanej jest zawsze pusta:

wprowadź opis zdjęcia tutaj

Aby dodać encję Testuj zlecenie pracy do selektora Opis jednostki powiązanej , wykonaj następujące czynności:

  1. W polu PXNoteAttribute na TestWorkOrder.NoteID ustaw właściwość ShowInReferenceSelector na True i zdefiniuj wyrażenie BQL, aby wybrać rekordy danych wyświetlane w wyszukiwaniu encji :

    [PXNote(
        ShowInReferenceSelector = true,
        Selector = typeof(Search<TestWorkOrder.orderNbr>))]
    public virtual Guid? NoteID { get; set; }
    
  1. Udekoruj DAC TestWorkOrder za pomocą PXCacheNameAttribute i PXPrimaryGraphAttribute :

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

    Atrybut PXCacheName określa przyjazną dla użytkownika nazwę dla DAC TestWorkOrder (w tym przypadku testowego zlecenia pracy ), który będzie dostępny w menu rozwijanym Typ . Atrybut PXPrimaryGraph określa stronę wejściową, na której użytkownik jest przekierowywany w celu edycji testowego zlecenia pracy, którym jest ekran Testowych zleceń pracy w podanym przykładzie.

  2. Udekoruj niektóre pola TestWorkOrder za pomocą PXFieldDescriptionAttribute . Te wartości pól zostaną połączone w pojedynczą etykietę tekstową reprezentującą referencyjne zlecenie pracy testowej w polu Opis podmiotu powiązanego :

    ...
    [PXFieldDescription]
    public virtual string OrderNbr { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual String Status { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual string POOrderNbr { get; set; }
    
  3. Zdefiniuj listę kolumn wyświetlanych w wyszukiwaniu encji , wybierając jedną z poniższych metod:

    za. Użyj właściwości PXNoteAttribute.FieldList (otrzymuje najwyższy priorytet):

    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. Pożycz listę kolumn zdefiniowanych dla wyszukiwania OrderNbr :

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

    do. Pokaż wszystkie pola TestWorkOrder z widocznością ustawioną na 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; }
    

Po wykonaniu 4 powyższych kroków testowe zlecenia pracy powinny być w pełni obsługiwane w polu Opis podmiotu powiązanego w zadaniach, zdarzeniach i działaniach

wprowadź opis zdjęcia tutaj



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow