수색…


사용자가 엔터티 데이터를 입력하도록 요구하는 오류 표시

사용자가 필요한 모든 정보를 입력하지 않아 비즈니스 프로세스를 완료 할 수없는 경우가 종종 발생합니다.

이 상황의 예는 누락 된 고객 주소가있는 드롭 - 쉽 주문을 만들려고 할 때입니다.

UX 베스트 프랙티스에 따르면 시스템은 사용자에게 친숙해야하며 사용자에게 상황을 알릴뿐만 아니라 문제 해결을 안내해야합니다. 우리가 아는 것처럼 시스템은 이미 TSetup 테이블에 레코드가 없을 때 PXSetup<TSetup>.Current 의해 활성화 된 유사한 메커니즘을 가지고 있습니다. PXSetupNotEnteredException 을 throw 해 내부적으로 구현됩니다.

최근에는이 예외에 새로운 기능이 추가되어 응용 프로그램 개발자가 다시 구성해야하는 엔터티에 대한 링크와 함께 오류를 발생시킬 수 있습니다.

INSite erroneousSite = PXSelect<
    INSite,
    Where<
        INSite.siteID, Equal<Current<SOCreateFilter.siteID>>, 
        And<INSite.active, Equal<True>, 
        And<Where<INSite.addressID, IsNull, Or<INSite.contactID, IsNull>>>>>>
    .SelectSingleBound(this, new object[] { e.Row });

if (erroneousSite != null)
{
    throw new PXSetupNotEnteredException<INSite, INSite.siteCD>(
        Messages.WarehouseWithoutAddressAndContact, 
        erroneousSite.SiteCDlnk, 
        erroneousSite.SiteCDinf);
}

결과는 다음과 같이 사용자에게 표시됩니다.

오류 페이지 모양

  • 첫 번째 유형 매개 변수로 PXSetupNotEnteredException 은 기본 그래프 링크가 생성 될 엔티티 유형을 허용합니다.

  • 두 번째 유형 매개 변수는 링크를 생성하는 데 사용되는 레코드의 키 필드를 나타냅니다. 위의 예에서웨어 하우스 엔티티에 대한 탐색은 CD 키로 수행됩니다.

  • 첫 번째 생성자 인수는 오류 메시지의 형식 문자열입니다. 해당 내부 자리 표시 자의 번호 매기기는 1로 시작해야합니다. 즉 The Multiple Warehouses feature and the Transfer order type are activated in the system, in this case an address and a contact must be configured for the '{1}' warehouse.

  • 두 번째 생성자 인수는 두 번째 일반 매개 변수로 지정된 키 필드의 값입니다. 이 예에서 생성되는 링크는 /IN204000.aspx?siteCD=erroneousSite.SiteCDlnk 입니다.

  • 세 번째 생성자 인수는 오류 메시지에 표시되는 사람이 읽을 수있는 값입니다. ...in this case an address and a contact must be configured for the 'erroneousSite.SiteCDinf' warehouse.



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