acumatica
Ampliación de la lista de entidades apoyadas por tareas, eventos y actividades
Buscar..
Introducción
En este tema, aprenderá cómo ampliar el campo Descripción de entidad relacionada con una entidad personalizada para tareas, eventos y actividades.
Agregar órdenes de trabajo de prueba al campo de descripción de entidad relacionada
Supongamos que ya ha creado la pantalla de órdenes de trabajo de prueba personalizadas para administrar las órdenes de trabajo de prueba en su aplicación Acumatica ERP:
Ya NoteID campo NoteID declarado en el DAC de TestWorkOrder , administrado en la pantalla de órdenes de trabajo de prueba :
[Serializable]
public class TestWorkOrder : IBqlTable
{
...
#region NoteID
public abstract class noteID : IBqlField { }
[PXNote]
public virtual Guid? NoteID { get; set; }
#endregion
...
}
y la propiedad ActivityIndicator se establece en True para el contenedor PXForm nivel PXForm :
<px:PXFormView ID="form" runat="server" ActivityIndicator="true" DataSourceID="ds" Style="z-index: 100" DataMember="ITWO" Width="100%" >
Sin embargo, cuando se crea una nueva tarea, evento o actividad para una orden de trabajo de prueba, el control Descripción de la entidad relacionada está siempre vacío:
Para agregar la entidad Orden de trabajo de prueba al selector Descripción de entidad relacionada , debe completar los siguientes pasos:
Para el
PXNoteAttributeen el campo TestWorkOrder.NoteID, establecerShowInReferenceSelectorpropiedad en True y definir la expresión BQL para seleccionar registros de datos que se muestran en las operaciones de búsqueda Entidad:[PXNote( ShowInReferenceSelector = true, Selector = typeof(Search<TestWorkOrder.orderNbr>))] public virtual Guid? NoteID { get; set; }
Decore el DAC de
TestWorkOrdercon elPXCacheNameAttributey elPXPrimaryGraphAttribute:[PXLocalizable] public static class Messages { public const string Opportunity = "Test Work Order"; } [Serializable] [PXCacheName(Messages.Opportunity)] [PXPrimaryGraph(typeof(TestWorkOrderEntry))] public class TestWorkOrder : IBqlTable { ... }El atributo
PXCacheNamedefine el nombre fácil de usar para elTestWorkOrderDAC ( Orden de trabajo de prueba en este caso), que estará disponible en el menú desplegable Tipo . El atributoPXPrimaryGraphdetermina la página de entrada donde se redirige al usuario para editar una orden de trabajo de prueba, que es la pantalla de Órdenes de trabajo de prueba en el ejemplo dado.Decore algunos campos de
TestWorkOrdercon elPXFieldDescriptionAttribute. Esos valores de campo se concatenarán en una sola etiqueta de texto, que representa la orden de trabajo de prueba referenciada dentro del campo Descripción de la entidad relacionada :... [PXFieldDescription] public virtual string OrderNbr { get; set; } ... [PXFieldDescription] public virtual String Status { get; set; } ... [PXFieldDescription] public virtual string POOrderNbr { get; set; }Definir la lista de columnas que se muestran en las operaciones de búsqueda Entidad por la elección de uno de los enfoques siguientes:
a. Use la propiedad
PXNoteAttribute.FieldList(obtiene la prioridad más alta):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; }segundo. Pida prestada la lista de columnas definidas para la búsqueda 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. Mostrar todos los campos de
TestWorkOrdercon la visibilidad establecida enPXUIVisibility.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; }
Después de completar los 4 pasos anteriores, las Órdenes de Trabajo de Prueba deben ser totalmente compatibles con el campo Descripción de la Entidad Relacionada en Tareas, Eventos y Actividades


