> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 生命周期与下达

> 变更通知如何经过五个阶段，实施锁定冻结了什么，重新打开和取消如何工作，以及通知到达“完成”时下达究竟改变了什么。

变更通知的各个阶段就是它的下达工作流：工程师起草变更，团队评审，下达则把变更应用到生效的方法和物料上。本页面向所有编写、评审或下达变更通知的人。

## 概览

变更通知一次只前进一个阶段，不能跳过阶段。另有两条旁路：

* **取消**会在任何未结束的阶段关闭通知，且不下达任何内容。
* **重新打开**会回退一步：从**实施**回到**工程完成**，或从**已取消**回到**草稿**。

## 阶段

<details>
  <summary>**Draft**</summary>

  编写中。你选择受影响的物料，为每个物料指定变更类型并编辑其草稿方法。不会向任何人发送通知。
</details>

<details>
  <summary>**Start**</summary>

  工程工作正在进行；负责人和所有行动任务的负责人都会收到通知。
</details>

<details>
  <summary>**Engineering Complete**</summary>

  设计编辑结束，变更等待实施评审。静默阶段。
</details>

<details open>
  <summary>**Implementation**</summary>

  下达在此发生。工程内容被锁定，并出现\*\*"下达"\*\*，让你审核每个物料的差异并应用。到达此阶段会被通知。
</details>

<details>
  <summary>**Done**</summary>

  变更已下达。此后通知是只读的历史记录；到达此阶段会被通知。
</details>

<details>
  <summary>**Cancelled**</summary>

  在任何未结束的阶段，通过标题中的\*\*"取消"**放弃，且不下达任何内容。与**"完成"**一样为只读，但**"重新打开"**可把它带回**"草稿"\*\*。
</details>

### 谁会收到通知

| 转换 | 通知 |
| - | - |
| 到**"开始"**、**"实施"**或**"完成"** | 负责人和每位行动任务负责人 |
| 到**"工程完成"** | 无人 |

执行转换的人不会收到自己操作的通知。没有负责人且没有分配任务的通知会静默推进。

### 已关闭、已取消和已删除

* **"完成"**是永久的。所有编辑器都变为只读。
* **"已取消"**同样被锁定，但不会丢失任何内容：每个受影响物料的草稿都会保留，**"重新打开"**可把通知带回**"草稿"**以继续工作。
* **删除**通知是破坏性的选项。它会丢弃每个受影响物料的草稿以及该通知创建的所有新物料，因此不会留下任何孤立内容。

## 实施会冻结工程内容

通知到达**实施**时，其工程内容变为只读。工作流字段仍可编辑，以便团队继续协调推广。

| 区域 | 在实施阶段的状态 |
| - | - |
| 受影响物料列表（添加或移除物料） | 已冻结 |
| 每个受影响物料的变更类型 | 已冻结 |
| 暂存的**物料清单**和**工序清单**草稿 | 已冻结 |
| 切换设置：取代模式、停用日期、后继生效日期 | 已冻结 |
| **变更原因**和**变更说明** | 已冻结 |
| 行动任务（添加、完成、跳过、重新排序、删除） | 可编辑 |
| 负责人、到期日、优先级、类别 | 可编辑 |

灰显的控件只是一部分：服务器本身也会拒绝对冻结字段的写入。因此，来自过期浏览器标签页的保存会失败，并提示 *"This change notice is being implemented, so its changes are locked. Reopen it to make changes."*（此变更通知正在实施，其更改已锁定。请重新打开后再进行更改。）

NOTE

**冻结期间仍可评审。**

只有写入会被拒绝。**更改**汇总、每个受影响物料的差异和影响面板在实施阶段仍然完全可读。

## 重新打开

到达实施之后需要更改工程内容？在 **⋮** 菜单中选择**重新打开**。Alforse 会把通知移回**工程完成**，并解锁受影响的物料、切换设置和叙述字段；草稿、差异和任务原封不动地保留。对已取消的通知执行同样的操作，则把它带回**草稿**。

在草稿、开始或工程完成阶段不提供重新打开，因为那里没有冻结任何内容。

HEADS UP

**完成是终态：不能从完成重新打开。**

只能在\*\*"实施"**（尚未下达任何内容）或**"已取消"**（从未下达过任何内容）时重新打开。**"完成"\*\*的通知已经启用了新的方法版本，让新物料可见并写入了取代关系，下游的 MRP 和获取方法都依赖这三者。撤销会把生效的计划决策从人们脚下抽走，因此不提供。如需进一步修改，请新建变更通知；已下达的方法和物料会成为它的基线。

## 影响面板

受影响物料列表旁边是**影响**面板。它回答“这个零件用在哪里？”，为每个受影响的物料给出一棵树，涵盖工单、工单物料、方法物料、采购订单、收货单、报价、问题、维护和装配说明。

NOTE

**影响仅供参考，绝不会阻止下达。**

它的作用是在你确认之前展示影响范围，而不是充当闸门；无论其中有什么，下达都会继续进行。面板自己的说明文字也是这样写的：*"Where the affected items are used across the system. Informational — nothing here blocks releasing."*（受影响的物料在系统中的使用位置。仅供参考，这里没有任何内容会阻止下达。）

## 审核更改，然后下达

在整个编写过程中，概览上的**更改**卡片会为每个受影响的物料显示只读差异；未改动的物料显示 *"No changes yet."*（尚无更改。）

1. 把通知推进到**"实施"**。

2. 选择**"下达"**。**"下达变更通知"**对话框会重复每个物料的差异作为最后检查，标题为 *"Review each item's changes, then confirm — releasing can't be undone."*（审核每个物料的更改，然后确认；下达无法撤销。）

3. 确认。Alforse 按[下达做了什么](#what-release-does)所述应用变更。

### 差异比较什么

每个差异的基线是该物料草稿所复制自的方法；编辑后的草稿与它对照，分为四个部分：

| 部分 | 内容 |
| - | - |
| **物料清单** | 所有被添加、移除或修改的 BoM 行，逐字段比较。 |
| **工序清单** | 所有被添加、移除或修改的工序，包括其步骤、参数和工具。 |
| **属性** | 每个已更改的物料列一行，如名称、说明、计量单位、跟踪类型或补货系统。 |
| **供应商零件** | 对于外购的修订、替换零件或新零件，列出[该行上的供应商](https://docs.alforse.com/zh/docs/reference/change-orders/change-types.md#supplier-parts-on-a-purchased-line)，含零件编号、单价、最小订购量、订购倍数、换算系数和采购单位。 |

供应商行的表现因变更类型而异。修订会继承其来源修订版的供应商，因此差异只显示新增、编辑和移除。替换零件或新零件起初没有供应商，所以你添加的每一个都列为新增。

NOTE

**差异是精确的，因为草稿是真实的。**

不存在可能失去同步的单独影子副本。你编辑的是真正的草稿方法，差异只是把它与其所复制自的生效方法并排对照。你在评审中看到的，正是将要生效的内容。

## 下达做了什么

确认之后，Alforse 按每个受影响物料的[变更类型](https://docs.alforse.com/zh/docs/reference/change-orders/change-types.md)分别处理：

| 步骤 | 适用对象 | 效果 |
| - | - | - |
| 1. 激活草稿方法 | 每个受影响的物料 | 草稿成为**启用**版本；旧的启用版本被**归档**，即作为历史保留而不是删除。 |
| 2. 显示新物料 | 修订、替换零件、新零件 | 该通知创建的物料生效，并标记变更通知 id。版本没有新物料。 |
| 3. 写入取代关系 | 修订、替换零件 | 旧物料按该受影响物料的切换设置被新物料取代。新零件没有前身，因此不会取代任何内容。 |

关于切换设置如何分阶段引入变更，参见[取代与切换](https://docs.alforse.com/zh/docs/reference/change-orders/supersession.md)。

Alforse 会先下达新零件物料，再处理其他内容，这样草稿 BoM 指向新合并零件的父装配件，会发现该零件已经启用。最后一个受影响物料处理完之后，通知切换为**"完成"**。

NOTE

**下达是幂等的，而不是一个大事务。**

清除物料草稿上的变更通知 id，就是把该物料标记为已下达。因此再次运行会跳过已完成的物料，从第一个仍待处理的物料继续。把通知移到\*\*"完成"**使用针对**"实施"\*\*状态的比较并交换，这可以防止两个同时进行的下达把变更应用两次。

## 同一零件上的并行变更通知

一个零件可以同时被两份变更通知修订。每份通知都起草自己的方法版本，Alforse 会避开冲突的版本号，使草稿互不覆盖。第二份通知下达时，会在第一份之上成为启用版本，而第一份被归档为历史。两边的工作都得以保留，你也永远不必解决合并冲突。

## 权限

编辑变更通知（包括使用**重新打开**）需要 `parts` 更新权限。

## 故障排除

| 症状 | 原因 | 处理 |
| - | - | - |
| *"This change notice is being implemented, so its changes are locked. Reopen it to make changes."*（此变更通知正在实施，其更改已锁定。请重新打开后再进行更改。） | 通知处于**"实施"**，工程内容已冻结。 | 在 **⋮** 菜单中选择**重新打开**，在**"工程完成"**阶段进行编辑，然后再次推进到实施。不会丢失任何内容。 |
| 任务、负责人、到期日或优先级在实施阶段无法保存 | 这些字段没有被冻结，因此原因不是锁定。 | 检查你的权限，或通知是否已经关闭。 |
| *"This change notice is closed, so its changes are read-only."*（此变更通知已关闭，其更改为只读。） | 通知处于**"完成"**或**"已取消"**。 | 在**"完成"**时，新建变更通知。在**"已取消"**时，选择**"重新打开"**回到**"草稿"**。 |
| 没有**"下达"**操作 | 下达仅在**"实施"**阶段出现。 | 逐阶段把通知推进到实施。 |
| **⋮** 菜单中没有**重新打开** | 重新打开仅在**"实施"**和**"已取消"**出现。 | 在草稿、开始或工程完成阶段没有冻结任何内容；在**"完成"**无法重新打开。 |

## 相关内容

**取代与切换**

下达的修订版如何在下游分阶段生效。

[Open](https://docs.alforse.com/zh/docs/reference/change-orders/supersession.md)

**创建变更通知**

发起变更通知并选择受影响的物料。

[Open](https://docs.alforse.com/zh/docs/reference/change-orders/creating.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.