如何重置IBM DOORS模块中的Object Identifier(ID)属性以优化文档逻辑
如何重新排列IBM DOORS模块中的对象标识符(ID)标签
我需要重置(重新排列)IBM DOORS模块中的所有Object Identifier(ID)标签。继承了一份原有文档,希望更新ID标签以提升文档的逻辑连贯性。我清楚每个ID与数据库相关联,只是想优化ID标签的组织方式。
原有状态
| ID | Content |
|---|---|
| Req-55 | Content A |
| Req-57 | Content B |
| Req-14 | Content C |
期望状态
| ID | Content |
|---|---|
| Req-01 | Content A |
| Req-02 | Content B |
| Req-03 | Content C |
可行实现方法
1. 自定义属性替代原生ID
原生Object ID是数据库级关联的,无法修改,但可以创建自定义属性作为显示用的逻辑ID:
- 打开目标模块,点击属性 > 新建属性
- 设置属性名称(比如
Logical ID),类型选字符串或整数 - 按模块内对象的顺序,手动或批量赋值(比如
Req-01、Req-02) - 在模块视图中隐藏原生ID列,只显示自定义的
Logical ID列
2. DXL脚本批量生成逻辑ID
如果对象数量多,手动赋值效率低,用DXL脚本批量生成连续ID:
// 遍历模块内所有对象,按顺序生成格式化的Logical ID Object o int counter = 1 for o in current module do { // 需提前创建名为"Logical ID"的字符串属性 string newID = "Req-" + (counter < 10 ? "0" : "") + stringOf(counter) o."Logical ID" = newID counter++ } save module
- 打开DOORS的DXL编辑器,粘贴脚本
- 选中目标模块后运行,自动按对象顺序生成逻辑ID
3. 利用层级编号配置视图
如果模块有层级结构,可结合层级编号生成逻辑ID:
- 打开模块的视图 > 列设置,添加层级编号列
- 自定义层级编号格式(比如前缀
Req-,按扁平顺序编号) - 隐藏原生ID列,将层级编号列作为对外显示的逻辑ID
注意:所有方法均基于自定义属性或视图配置,不会修改数据库关联的原生Object ID,避免破坏模块的关联关系、链接和历史记录。
内容的提问来源于stack exchange,提问作者nanoeng
相关产品推荐
相关产品推荐

