2017-04-19 9 views
0

모듈의 데이터를 특정 속성 값으로 필터링하는 스크립트가 있습니다. 그런 다음이 객체를 반복 할 때, 지금은 infoBox에 객체의 절대 수를 표시하고 있습니다. 그러나 스크립트는 데이터 세트에없는 오브젝트의 절대 수를 표시합니다. 추가 조사를 통해 여분의 절대 수치가 전체 모듈의 각 테이블에 대한 것임을 발견했습니다. 필자는 필터링 된 모듈 데이터에없는 경우 스크립트가 이러한 테이블을 포함하는 이유를 알 수 없습니다. 나는이 속성 값에 대해 모듈을 수동으로 필터링하려고 시도했다가 "Tools -> Edit DXL"을 사용하여 결과 항목을 반복하고 여전히 포함되지 않은 표의 숫자를 표시합니다. 왜 그랬을까요? 다음은 내 코드입니다 : 나는 또한 대신 "oObj에 대한 BM2에서 할"라고 있도록 문서 캐스트를 제거하는 시도DOORS 필터링 된 데이터 세트를 통해 반복되는 DXL 문제

bm2 = moduleVar 
Filter fltr = contains(attribute "RCR_numbers", sRCRNum, false); 
filtering on; 
set(bm2, fltr); 
for oObj in document(bm2) do { 
    absNum = oObj."Absolute Number"; 
    infoBox("Object #" absNum "."); 
} 

, 그러나 이것은 출력을 변경하지 않습니다. 왜 코드가 필터에없는 객체를 제공합니까? 이 프로젝트가 내 우선 순위 문제이기 때문에 도움을 주시면 대단히 감사하겠습니다. 크리스

+0

처음 4 줄의 코드 만 실행하면 (예 : 필터 만 설정하고 계산하지는 않음) 예상하는 개체 세트가 표시됩니까? –

+0

예. 개체가 있어야합니다 (예 : 테이블이 없음). – Chris

+0

질문을 올바르게 이해할 수 있는지 확실하지 않지만 perms "void showTables (bool)"및 "void tableContents (bool)"를 사용하여 모듈의 표시 설정을 변경해야 할 수도 있습니다. – Mike

답변

0

DOORS 9.6.1 DXL Reference Manual 당신이 볼 수 있습니다 : 개체에 대한

을 문서에

모듈의 각 연속 객체로 변수 (을)를 지정합니다. 모듈 루프에있는 객체의 경우 과 동일하지만 테이블 헤더 객체을 포함하지만 행 머리글 객체 및 셀은 포함하지 않습니다.

그래서, 당신은 모듈에 개체에 대한 를 사용해야하거나 또는 기존의 루프 내 숨겨진 속성 TABLETYPE 테스트 - 이것은 아무것도 TableNone로 설정됩니다 테이블의 일부가 아닙니다 , 테이블 헤더 포함.