수색…


소개

이 항목에서는 작업, 이벤트 및 활동에 대한 사용자 지정 엔터티가있는 관련 엔터티 설명 필드를 확장하는 방법을 학습합니다.

관련 엔터티 설명 필드에 테스트 작업 순서 추가

Acumatica ERP 애플리케이션에서 테스트 작업 주문을 관리하기 위해 맞춤 작업 테스트 주문 화면을 이미 만들었다 고 가정 해 보겠습니다.

여기에 이미지 설명을 입력하십시오.

TestWorkOrder DAC에 이미 선언 된 NoteID 필드가 Test Work Orders 화면에서 관리됩니다.

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

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


    ...
}

ActivityIndicator 속성이 최상위 PXForm 컨테이너에 대해 True 로 설정됩니다.

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

그러나 테스트 작업 지시를 위해 새 작업, 이벤트 또는 활동이 만들어지면 관련 엔터티 설명 컨트롤은 항상 비어 있습니다.

여기에 이미지 설명을 입력하십시오.

관련 작업 설명 선택기에 작업 순서 테스트 엔티티를 추가하려면 다음 단계를 완료해야합니다.

  1. TestWorkOrder.NoteID 필드의 PXNoteAttribute 에 대해 ShowInReferenceSelector 속성을 True로 설정하고 BQL 식을 정의하여 엔터티 조회에 표시되는 데이터 레코드를 선택합니다.

    [PXNote(
        ShowInReferenceSelector = true,
        Selector = typeof(Search<TestWorkOrder.orderNbr>))]
    public virtual Guid? NoteID { get; set; }
    
  1. 장식 TestWorkOrder 와 DAC를 PXCacheNameAttributePXPrimaryGraphAttribute :

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

    PXCacheName 특성은 TestWorkOrder DAC (이 경우 Test Work Order)의 사용자 친숙한 이름을 정의하며,이 형식Type 드롭 다운에서 사용할 수 있습니다. PXPrimaryGraph 특성은 테스트 작업 주문을 편집하기 위해 사용자가 리디렉션되는 입력 페이지를 결정합니다.이 페이지는 주어진 예제의 작업 주문 테스트 화면입니다.

  2. PXFieldDescriptionAttribute 사용하여 일부 TestWorkOrder 필드를 장식하십시오. 해당 필드 값은 관련 엔터티 설명 필드 내의 참조 된 테스트 작업 순서를 나타내는 단일 텍스트 레이블로 연결됩니다.

    ...
    [PXFieldDescription]
    public virtual string OrderNbr { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual String Status { get; set; }
    
    ...
    [PXFieldDescription]
    public virtual string POOrderNbr { get; set; }
    
  3. 아래 접근법 중 하나를 선택하여 엔티티 조회에 표시되는 열 목록을 정의하십시오.

    에이. 우선 순위가 가장 높은 PXNoteAttribute.FieldList 속성을 사용합니다.

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

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

    기음. VisibilityPXUIVisibility.SelectorVisible 설정된 모든 TestWorkOrder 필드 표시 :

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

위의 4 단계를 완료 한 후에는 작업, 이벤트 및 활동의 관련 개체 설명 필드에서 작업 지시 테스트를 완벽하게 지원해야합니다.

여기에 이미지 설명을 입력하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow