2008-10-07 4 views
4

제발 누군가가 제가 일괄 광기를 이해하도록 도와 줄 수 있습니까?클래스 ID에서 Axapta 클래스 이름을 어떻게 식별 할 수 있습니까?

약 50 개의 배치 작업이있는 Axapta 3.0 구현을 디버깅하려고합니다. 일괄 처리 클래스의 대부분은 description() 메서드를 구현하지 않으므로 일괄 처리 양식 (기본 >> 문의 >> 일괄 처리 목록)을 보면 설명 필드가 비어 있습니다. 일괄 그룹시작 시간 등을 볼 수 있지만 실제로 호출되는 클래스를 알 수는 없습니다.

배치 표는 클래스의 ID 속성을 식별 ClassNum라는 숨겨진 필드가 포함되어 있습니다. 누가 ID에서 해당 클래스를 찾을 수 있는지 말해 줄 수 있습니까? 범인을 확인하면 설명을 추가 할 수 있습니다.

표준을 사용하여 시도했습니다. 은 AOT에서 작동하지만 찾지는 못합니다.

모든 의견을 환영합니다.

많은 감사, 마이크

답변

7

제이의 대답은 두 가지 포괄적 인 솔루션을 제공합니다.

난 그냥 글로벌 클래스 ClassId2Name 같은 일이 단순히 가질 수 있도록한다는 것을 발견했습니다 :이 작업을 수행하는

display str Classname() 
{ 
    return ClassId2Name(this.ClassNum);  
} 
+0

참고 : classnum == 0 인 경우 빈 문자열이 표시됩니다. –

2

이어야 두 가지 방법, 당신은 DictClass 클래스를 사용할 수 있습니다 :

display ClassName className() 
{ 
    DictClass dictClass = new DictClass(this.ClassNum); 
    ; 
    if(dictClass!=null) 
     return dictClass.name(); 
    return ''; 
} 

또는 UtilIdElements 테이블 사용 :

display ClassName className() 
{ 
    UtilIdElements utilIdElements; 
    ; 
    select utilIdElements where utilIdElements.id==this.ClassNum && utilIdElements.recordType==UtilElementType::Class; 
    if(utilIdElements) 
     return utilIdElements.name; 
    return ''; 
} 
을 0
관련 문제