Sök…


Introduktion

I det här ämnet kommer du att lära dig att utöka fältet Beskrivning av relaterad enhet med en anpassad enhet för uppgifter, händelser och aktiviteter.

Lägga till testarbetsorder i det relaterade fältets beskrivningsfält

Låt oss säga att du redan har skapat den anpassade skärmen Test Work Orders för att hantera testarbetsorder i din Acumatica ERP-applikation:

ange bildbeskrivning här

Det finns redan NoteID fält deklarerat i TestWorkOrder DAC, som hanteras på skärmen Test Work Orders :

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

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


    ...
}

och ActivityIndicator egenskapen är inställd på True för den högsta PXForm behållaren:

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

Men när ny uppgift, händelse eller aktivitet skapas för en testarbetsordning är kontrollen för närliggande enhet alltid tom:

ange bildbeskrivning här

För att lägga till Test Work Order- enheten i väljaren Relaterad enhetbeskrivning, ska du utföra följande steg:

  1. För PXNoteAttribute TestWorkOrder.NoteID , ställ ShowInReferenceSelector egenskapen till True och definiera BQL-uttryck för att välja dataposter som visas i Entity- sökningen:

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

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

    Den PXCacheName attribut definierar användarvänligt namn för TestWorkOrder DAC (testarbete för i detta fall), som kommer att vara tillgängliga i typ rullgardinsmenyn. PXPrimaryGraph bestämmer ingångssidan där en användare omdirigeras för att redigera en testarbetsordning, vilket är skärmen Testarbetsorder i det givna exemplet.

  2. Dekorera några TestWorkOrder fält med PXFieldDescriptionAttribute . Dessa fältvärden kommer att sammanlänkas till en enda textetikett, som representerar den refererade testarbetsordningen i fältet Relaterad enhetbeskrivning :

    ...
    [PXFieldDescription]
    public virtual string OrderNbr { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual String Status { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual string POOrderNbr { get; set; }
    
  3. Definiera listan med kolumner som visas i Entity- sökningen genom att välja en av metoderna nedan:

    a. Använd egenskapen PXNoteAttribute.FieldList (får högsta prioritet):

    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. Låna listan med kolumner definierade för OrderNbr- sökning:

    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. Visa alla TestWorkOrder fält med synlighet inställd på 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; }
    

När du slutfört 4 stegen ovan, bör testarbete Orders vara fullt stöd av närstående rättssubjekt fältet Beskrivning på uppgifter, händelser och aktiviteter

ange bildbeskrivning här



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow