2017-10-31 9 views
0

으로 표시됩니다. 조회 필드 인 FieldVerifying 또는 FieldUpdating 이벤트 처리기에 오류가 발생하면 설명 대신 조회 값의 ID 만 표시됩니다. 조회 필드에서 PXSetPropertyException을 throw하면 ID가

Error field

오류 던져

(아래 참조) 매우 간단하다. TField는 내 메서드에 generic을 통해 제공되는 IBqlField입니다.

throw new PXSetPropertyException<TField>(Message.WarehouseDoesntMatchShipTo, PXErrorLevel.Error); 

빨간색으로 설명을 표시하는 방법이 있습니까?

답변

1

예외를 발생시키기 전에 새 값을웨어 하우스 CD 문자열 값으로 설정하십시오. 귀하의 예제에서 INSite에 대한 질의가 필요합니다. 당신은 오래된 창고 CD 값을 원하는 경우에

단지 row.SiteID

protected virtual void SOLine_SiteID_FieldVerifying(PXCache sender, PXFieldVerifyingEventArgs e) 
{ 
    var row = (SOLine)e.Row; 
    if (row == null) 
    { 
     return; 
    } 

    INSite inSite = PXSelect<INSite, Where<INSite.siteID, Equal<Required<INSite.siteID>>>>.Select(this, e.NewValue); 
    e.NewValue = inSite?.SiteCD; 
    throw new PXSetPropertyException($"Invalid Warehouse {inSite?.SiteCD}", PXErrorLevel.Error); 
} 
에 PXSelect에 사용 된 값을 변경 (사용자 전에 값을 변경하려 시도)