2017-03-22 7 views
0

바우처 거래 문의로 작업하면서 GeneralJournalEntry 테이블에 사용자 정의 필드를 추가했습니다.문의 양식에 필드를 추가 할 때 오류가 발생했습니다.

이 필드를 조회 양식에 추가하려고하면 올바르게 추가되고 (드롭 다운으로 렌더링 됨) 값을 입력하거나 드롭 다운 목록에서 하나를 선택할 수 있습니다. 이러한 클래스에 대한 수정이되지 않습니다

SysDictType object not initialized. 


(S)\Classes\SysTableRelation\getDictFieldID - line 7 
(S)\Classes\SysTableRelation\findRelation - line 41 
(C)\Classes\SysLookup\lookupTableRelation - line 13 
(C)\Classes\SysLookup\lookupRange - line 133 
(C)\Forms\SysQueryForm\Data Sources\Range\Fields\RangeValue\Methods\lookup - line 36 
(C)\Classes\FormStringControl\PerformDBLookup 
(C)\Classes\FormStringControl\lookup 
(C)\Forms\SysQueryForm\Designs\DesignList\RangeValue\Methods\lookup - line 27 

하고, 나는 그렇게 생각하는 나에게 이어질 것이 아무것도 찾을 수 없습니다 : 와일드 카드 문자 (*)에 넣어, 내가 스택 추적 오류가 발생합니다 이 필드에는 와일드 카드가 잘못되었습니다.

답변

1

이 문제는 \SysTableRelation\getDictFieldID 행의 필드 EDT를 dictType = new SysDictType (sysDictField.typeId()) 행으로 사용하기 때문에 발생합니다.

필드에 EDT를 추가하여 수정했습니다.

+0

예, 궁극적으로 다른 수정으로 인해 일부 작업에서 문제가 발생했으며 EDT가 누락되면 범인이 발생했습니다 – tsweatt

0

나는 모든 것을/sync'd로 컴파일하지 않았거나 AOS를 다시 시작해야한다고 생각합니다. 당신은 디버거와 함께 이것을 디버깅 할 수 있어야합니다. 당신은 스택 추적의 상단의 코드를 보면

, 그것은 코드의이 비트를 참조 것 :

dictType = new SysDictType(sysDictField.typeId()); 
if(dictType.arraySize() > 1) // <--This is the error...that it's not initialized 

내가 그 다음을 초기화되어 있지 않은 경우 것으로, 내 의견을 추가 어디에서 볼 수 위의 행이 dict 유형을 작성하지 못했음을의 L합니다. sysDictField 그러나 typeId()을 반환하는 데 문제가 없습니다.

\Classes\SysTableRelation\getDictFieldID - line 7에 중단 점을 넣고 문제가 무엇인지 확인하십시오. 나는 그저 환경이 작동하고 일부 컴파일/재시작이 수정 될 것이라고 의심하고있다.