0

门版本:9.5.2.1

我会尽量简单地分解它。首先,我将从数据开始。假设我在 DOORS 中有一个模块Module模块包括:

树形结构

假设标题和子标题的对象文本空白,并假设其余3 级对象的对象文本与对象本身的名称相同。例如,Object_1.1.0-1的对象标题为空白,但其对象文本为“ Object_1.1.0-1 ”。

- Module
   - 1 Heading1             // Object Heading: "Heading1"       ; Object Number: 1
   |  - 1.1 Sub-Heading1.1  // Object Heading: "Sub-Heading1.1" ; Object Number: 1.1
   |  |  + Object_1.1.0-1   // Object Heading: ""               ; Object Number: 1.1.0-1
   |  |  + Object_1.1.0-2   // Object Heading: ""               ; Object Number: 1.1.0-2
   |  |  |  .
   |  |  |  .
   |  |  |  .
   |  |  + Object_1.1.0-A   // Object Heading: ""               ; Object Number: 1.1.0-A
   |  |
   |  - 1.2 Sub-Heading1.2  // Object Heading: "Sub-Heading1.2" ; Object Number: 1.2
   |     + Object_1.2.0-1   // Object Heading: ""               ; Object Number: 1.2.0-1
   |     + Object_1.2.0-2   // Object Heading: ""               ; Object Number: 1.2.0-2
   |     |  .
   |     |  .
   |     |  .
   |     + Object_1.2.0-B   // Object Heading: ""               ; Object Number: 1.2.0-B
   |
   - 2 Heading2             // Object Heading: "Heading2"       ; Object Number: 2
      - 2.1 Sub-Heading2.1  // Object Heading: "Sub-Heading2.1" ; Object Number: 2.1
      |  + Object_2.1.0-1   // Object Heading: ""               ; Object Number: 2.1.0-1
      |  + Object_2.1.0-2   // Object Heading: ""               ; Object Number: 2.1.0-2
      |  |  .
      |  |  .
      |  |  .
      |  + Object_2.1.0-C   // Object Heading: ""               ; Object Number: 2.1.0-C
      |
      - 2.2 Sub-Heading2.1  // Object Heading: "Sub-Heading2.1" ; Object Number 2.2
         + Object_2.2.0-1   // Object Heading: ""               ; Object Number: 2.2.0-1
         + Object_2.2.0-2   // Object Heading: ""               ; Object Number: 2.2.0-2
         |  .
         |  .
         |  .
         + Object_2.2.0-D   // Object Heading: ""               ; Object Number: 2.2.0-D

And so on and so forth . . .

属性

*Object Heading and Text*, Version, Data

对象标题和文本似乎是门的东西,所以我不会在这里解释。这里的数据是通用的(实际上,代表不止一个属性)。有些数据适用于某些版本,有些数据适用于其他版本。不同版本的数据可能会交叉,而其他版本的某些数据是互斥的。版本是一个单独的字符串,它用新行“ \n ”分隔不同的版本。所以,让我们假设版本是:

v1\nv2\nv3 . . . v\nvX

或者,以更易读的格式:

v1
v2
v3
 .
 .
 .
vX

更重要的是,一个对象的版本可能是(为了便于阅读,这里用逗号分隔)v1、v2、v3、. . ., vX而另一个可能是v1, v3而另一个可能只是v2。任何可用版本的组合,真的。

问题

在我看来,我正在尝试做的事情应该很容易。不费吹灰之力。举个例子,假设我想应用一个过滤器,我只查看Sub-Heading1.2及其子项,并且只查看Version v3。我在这个主题上尝试了很多变体,但我似乎只能完成其中一个。我成功地隔离了单个部分或单个版本的数据,但我无法同时获得两者。当我为单个部分应用过滤器时,说Sub-Heading1.2及其子项,然后将其与“包含 v3”;我会得到那个部分,但它拒绝只显示v3的那个部分。

在任何编程语言中,a 和 b 和 c 的计算结果为真 IF AND ONLY IF a 和 b 和 c。在我看来,我在 DOORS 中看到的更像(a and b) 或 c

使用如上所述的 DOORS 数据库,如何仅查看给定版本的给定范围内的对象(或对象及其后代)?我知道 DXL 作为一种潜在的解决方案存在,但 GUI 解决方案更可取。

4

1 回答 1

0

你的问题是Include Descendants。此选项专门忽略过滤器。它真正的意思是,“向我展示与我的过滤器匹配的所有内容,以及它们的所有后代”。

使用上面的示例,您想要的过滤器是:

Object Number >= 1.2
and
Object Number < 2 (or maybe 1.3 depending on how you want it)
and
Version includes v3

这将为您提供您正在寻找的东西。一定不要这样做,Include Descendants因为这会否定过滤器中的第二条规则。

祝你好运!

于 2015-06-19T17:59:53.840 回答