Ricerca…


introduzione

In questo argomento imparerai come estendere il campo Descrizione entità correlate con un'entità personalizzata per Attività, Eventi e Attività.

Aggiunta di ordini di lavoro di prova al campo Descrizione entità correlate

Supponiamo che tu abbia già creato la schermata degli ordini di lavoro di prova personalizzati per gestire gli ordini di lavoro di prova nell'applicazione ERP Acumatica:

inserisci la descrizione dell'immagine qui

Esiste già NoteID campo NoteID dichiarato nel DAC TestWorkOrder , gestito nella schermata Test degli ordini di lavoro :

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

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


    ...
}

e la proprietà ActivityIndicator è impostata su True per il contenitore PXForm livello PXForm :

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

Tuttavia, quando viene creata una nuova attività, evento o attività per un ordine di lavoro di prova, il controllo Descrizione entità relativa è sempre vuoto:

inserisci la descrizione dell'immagine qui

Per aggiungere l'entità Ordine di lavoro di prova al selettore Descrizione entità associata , è necessario completare i seguenti passaggi:

  1. Per il campo PXNoteAttribute sul campo TestWorkOrder.NoteID , impostare la proprietà ShowInReferenceSelector su True e definire l'espressione BQL per selezionare i record di dati visualizzati nella ricerca Entity :

    [PXNote(
        ShowInReferenceSelector = true,
        Selector = typeof(Search<TestWorkOrder.orderNbr>))]
    public virtual Guid? NoteID { get; set; }
    
  1. Decora il DAC TestWorkOrder con PXCacheNameAttribute e PXPrimaryGraphAttribute :

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

    L'attributo PXCacheName definisce il nome user-friendly per il DAC TestWorkOrder ( Test Work Order in questo caso), che sarà disponibile nel menu a discesa Type . L'attributo PXPrimaryGraph determina la pagina di ingresso in cui un utente viene reindirizzato per la modifica di un ordine di lavoro di prova, che è la schermata Test degli ordini di lavoro nell'esempio fornito.

  2. Decorare alcuni campi TestWorkOrder con PXFieldDescriptionAttribute . Tali valori di campo saranno concatenati in un'unica etichetta di testo, che rappresenta l'ordine di lavoro di test referenziato nel campo Descrizione entità correlate :

    ...
    [PXFieldDescription]
    public virtual string OrderNbr { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual String Status { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual string POOrderNbr { get; set; }
    
  3. Definire l'elenco di colonne visualizzate nella ricerca Entità scegliendo uno dei seguenti approcci:

    un. Usa la proprietà PXNoteAttribute.FieldList (ottiene la massima priorità):

    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. Prendere in prestito l'elenco di colonne definite per la ricerca 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; }
    

    c. Mostra tutti i campi TestWorkOrder con Visibility impostato su 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; }
    

Dopo aver completato i 4 passaggi sopra, gli ordini di lavoro di prova devono essere pienamente supportati dal campo Descrizione entità correlate su Attività, Eventi e Attività

inserisci la descrizione dell'immagine qui



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow