我有一个脚本,我可以通过某个属性值过滤模块中的数据。当我循环遍历这些对象时,我现在正在显示infoBox中对象的绝对数量。但是,该脚本显示的数据集不在数据集中。经过进一步调查,我发现额外的绝对数字是整个模块中的每个表。我不能弄清楚为什么当脚本不在过滤的模块数据中时脚本会包含这些表。我甚至尝试在此属性值上手动过滤模块,然后使用"工具 - >编辑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 ".");
}
我还尝试删除了文档,因此它表示"对于bm2中的oObj"相反,但这并没有改变输出。为什么代码给了我不在过滤器中的对象?任何帮助将不胜感激,因为这是我的项目的一个高优先级问题,我自己的想法。
克里斯
答案 0 :(得分:0)
在DOORS 9.6.1 DXL Reference Manual中,您可以看到:
用于文档中的对象
将变量o指定为每个连续的 模块中的对象。 它等同于模块循环中的for对象 除了它包括表头对象,但不包括行标题 对象和细胞。
因此,您必须使用 for module in module ,或者在现有循环中测试隐藏属性 TableType - 这将设置为 TableNone < / strong>对于不属于表格的任何内容,包括表格标题。