Filter DOORS DXL问题在过滤数据集中循环

Filter DOORS DXL问题在过滤数据集中循环,filter,ibm-doors,Filter,Ibm Doors,我有一个脚本,在这个脚本中,我根据某个属性值过滤模块中的数据。现在,当我在这些对象中循环时,我在一个信息框中显示对象的绝对数量。但是,脚本显示的对象绝对数量不在数据集中。经过进一步调查,我发现额外的绝对数是整个模块中每个表的绝对数。我不明白为什么脚本会包含这些表,而这些表不在过滤后的模块数据中。我甚至尝试手动过滤该属性值上的模块,然后使用“工具->编辑DXL”循环遍历结果项,它仍然显示未包含的表的数字。为什么会这样? 这是我的密码: bm2 = moduleVar Filter fltr = c

我有一个脚本,在这个脚本中,我根据某个属性值过滤模块中的数据。现在,当我在这些对象中循环时,我在一个信息框中显示对象的绝对数量。但是,脚本显示的对象绝对数量不在数据集中。经过进一步调查,我发现额外的绝对数是整个模块中每个表的绝对数。我不明白为什么脚本会包含这些表,而这些表不在过滤后的模块数据中。我甚至尝试手动过滤该属性值上的模块,然后使用“工具->编辑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 ".");
}
我还尝试删除文档强制转换,因此它改为“for oObj in bm2 do”,但这不会改变输出。为什么代码给我的对象不在过滤器中?任何帮助都将不胜感激,因为这是我的项目的一个高度优先的问题,我自己也没有想法

Chris

在中,您可以看到:

对于文档中的对象

将变量o指定为每个连续变量 模块中的对象它相当于模块循环中的for对象, 但它包括表头对象,但不包括行表头 物体或细胞


因此,您必须对模块中的对象使用,或者在现有循环中测试隐藏属性TableType——对于不属于表的任何内容,包括表头,这将设置为TableNone

如果您只运行前四行代码(即,只设置过滤器,但不进行计数),您是否看到了预期的对象集?是的,我看到了应该存在的对象(即没有表格)。不确定我是否正确理解您的问题,但您可能必须使用perms“void showTables(bool)”和“void tableContents(bool)”更改模块的显示设置