# Attribute Composer

> 用您自行组合的工件自身数据填充属性，一次处理整个模块，并在保存前显示每一个新值。

Source: https://widgets.doorsnext.com/zh/widgets/attribute-composer/

- 学科: 内容质量
- 适用于: IBM DOORS Next 模块
- 支持的产品: RM (IBM Engineering Requirements Management DOORS Next (Requirements Management))
- 更改数据
- Keywords: 自动填充属性, 组合属性, 拼接属性值, 将需求文本复制到属性, 批量更新属性, 命名规范, 由属性生成标签
- 版本: 1.15 (发布日期 2026-10-27)
- Vendor: SmarterProcess (https://doorsnext.com, info@smarterprocess.pl)
- 工作流程: 1. 选择目标属性和各组成部分 → 2. 查找工件并组合新值 → 3. 检查当前值和新值 (如有需要: 调整规则后重新查找) → 4. 确认后写入值 → 5. Excel 变更报告

## 它是什么，为何存在
需求项目中的许多属性并不包含新信息：它们只是以固定格式重复工件中已有的内容。由标识符加优先级组成的简短标签、重复标题的题名、带有工件类型的键值，或者为报告和导出准备的需求文本纯文本副本。如今这些字段要么逐个工件手工填写，要么因为没人有时间而一直空着。

Attribute Composer 一次运行即可完成填充。您只需构建一次规则（值的各个组成部分及其顺序），小部件便会把结果写入您选择的属性，作用于模块中的所有工件或仅作用于所选工件，并且在此之前会准确显示每个工件将得到什么。

## 解决的问题
- 需要遵循命名规范（“ID / 优先级 / 名称”）的属性，手工录入时很快就会五花八门。
- 成千上万个工件的字段一直空着，因为逐个填写并不现实。
- 需要把需求文本以纯文本形式放进单独的属性，供导出、报告或外部工具使用。
- 同一数值录入两次，源属性发生变化时副本却永远不会更新。
- 在保存之前无法看到批量更新究竟会写入什么。

## 优势
- **一条规则，整个模块：** 由您决定顺序的各个部分：任意数据类型的属性、名称、标识符、工件类型、作为纯文本的需求文本，以及您自己输入的文本（例如分隔符）。
- **写入前先预览：** 每个工件的当前值与新值并排显示。
- **默认安全：** 除非您要求覆盖，否则只填充为空的目标属性；空结果绝不写入，已经正确的值也不会再次保存。
- **结果整洁：** 空的组成部分会连同其分隔符一起被省略，因此绝不会出现“ID /  / 名称”。
- **可重复使用：** 规则可以命名保存，在相同任务再次出现时重新载入。
- **留存证据：** Excel 变更报告列出每个工件变更前后的值。

## 使用方法
1. 在 DOORS Next 中打开一个模块。在 **Rule**（规则）中单击 **Change**，选择 **Target attribute**（目标属性）：文本属性；值为数字时可选数字属性；值是某个标签时可选枚举属性；也可以是是/否属性、日期属性或工件的名称。
2. 在 **Parts, in order** 下用 **Add attribute** 和 **Add text** 组合值：每个组成部分可以是属性、名称、标识符、工件类型、作为纯文本的需求文本，或自定义文本（例如分隔符）。用箭头调整顺序；组成部分下方的一行显示得到的规则。
3. 保留或取消 **Skip empty parts** 和 **Only fill empty targets**（取消后会覆盖已有值）；如只需更改一种类型，请选择 **Artifact type**，然后单击 **Done**。
4. 在 **Write** 中选择 **Whole module**（整个模块）或 **Selection**（在 DOORS Next 中选中的工件），然后单击 **Find**。列表显示每个将被更改的工件的新值；展开一行可看到属性、当前值和新值，以及 **Show in module**。
5. 单击 **Write**，阅读确认信息后单击 **Write N values**。运行结束后，结果区块显示已写入、原本正确、被跳过和失败的数量；**Log** 可下载 Excel 变更报告，失败的工件可在同一区块中重试。
6. 如需在整个模块上跳过搜索，请不先单击 **Find** 而直接单击 **Write**：确认后，规则将一次性应用于模块中的每个工件，数量在最后给出。

## 须知
- 请始终在变更集中操作：放弃变更集是找回原有数值的唯一方式。
- 枚举按标签写入（多个值以逗号分隔），用户按姓名写入，日期采用“年-月-日”格式。
- 需求文本以纯文本写入：段落、列表项和表格行会变成一行行文本，格式将被去除。
- 已保存的规则属于个人：它们只保存在您自己的浏览器中，不会与同事共享，也不会存储在服务器上。
- 过长的值不会被写入；该上限可在小部件设置中调整。
- 在超大模块上，您可以停止运行、重新加载页面，然后用同一规则从停止处继续。
