# 条件分支

URL: https://docs.ones.cn/ones-project/automation-management/configure-an-automation-rule/conditional-branches

# 简介

条件分支页面用于在自动化规则中创建 If / Else-if / Else 结构。你可以在这里为不同对象配置判断条件，使系统仅在命中指定条件时继续执行当前分支；如果条件不满足，则进入后续分支或 Else 分支，完成更灵活的流程控制。

# 配置条件分支

你可以在规则编辑器中添加并配置条件分支。

1. 进入规则编辑器的 配置流程。
2. 在右侧 添加流程 中选择 条件分支。
3. 选择分支类型，例如 属性。
4. 配置 属性、判断条件 和 值。
5. 保存当前分支。
6. 在该分支下继续添加动作、条件判断或其他流程。
条件分支会在自动化规则中新增一个流程分支。只有满足条件时，系统才会执行该分支中的后续流程。

# 支持的分支类型

当前支持以下分支类型：

| 分支类型 | 功能描述 |
| --- | --- |
| 属性 | 根据触发当前自动化规则的工作项属性进行判断。 |
| 关联工作项 | 根据关联工作项的存在情况、完成情况或属性条件进行判断。 |
| 父层级工作项 | 根据父层级工作项的存在情况或属性条件进行判断。 |
| 子层级工作项 | 根据子层级工作项的存在情况、完成情况或属性条件进行判断。 |

# 常见判断方式

条件分支中的判断方式会随字段类型变化，常见包括：

- 等于
- 不等于
- 包含
- 不包含
- 为空
- 不为空
- 大于等于
- 小于等于
- 介于
具体可选的判断方式，会根据所选分支类型、字段类型和层级关系动态变化。

# 属性分支

当你选择 属性 作为条件分支类型时，系统会根据触发自动化规则的工作项属性判断是否执行当前分支。

1. 在 条件分支 中选择 属性。
2. 选择需要判断的属性。
3. 选择判断条件。
4. 输入或选择目标值。
5. 保存当前分支。
该分支支持以下能力：

- 根据触发工作项的属性值进行判断。
- 条件配置方式与系统中其他位置的筛选器保持一致。
- 系统会将满足筛选条件视为满足执行条件。

# 关联工作项分支

当你选择 关联工作项 作为条件分支类型时，系统会根据关联工作项的情况判断是否执行当前分支。

1. 在 条件分支 中选择 关联工作项。
2. 按需选择一个或多个 关联关系描述。
3. 选择判断方式。
4. 如需按属性判断，继续补充筛选条件。
5. 保存当前分支。
该分支支持以下能力：

- 支持多选关联关系描述。
- 如果关联关系描述留空，则默认以全部关联工作项作为判断范围。
- 支持以下判断方式：

| 判断方式 | 说明 |
| --- | --- |
| 为空 | 指定的关联工作项不存在。 |
| 不为空 | 指定的关联工作项存在。 |
| 都已完成 | 指定范围内的关联工作项均已完成。 |
| 任意关联工作项的属性满足特定条件 | 只要任意一个关联工作项满足条件，即命中当前分支。 |
| 所有关联工作项的属性满足特定条件 | 只有全部关联工作项都满足条件，才命中当前分支。 |

# 父层级工作项分支

当你选择 父层级工作项 作为条件分支类型时，系统会根据父层级工作项的存在情况或属性条件判断是否执行当前分支。

1. 在 条件分支 中选择 父层级工作项。
2. 选择一个 层级结构。
3. 根据层级关系类型选择判断方式。
4. 如需按属性判断，继续补充筛选条件。
5. 保存当前分支。
不同层级关系类型支持的判断方式如下：

| 层级关系类型 | 支持的判断方式 |
| --- | --- |
| 一对多 | 为空、不为空、属性满足特定条件 |
| 多对多 | 为空、不为空、任意一条父层级工作项的属性满足特定条件、所有父层级工作项的属性满足特定条件 |

# 子层级工作项分支

当你选择 子层级工作项 作为条件分支类型时，系统会根据子层级工作项的存在情况、完成情况或属性条件判断是否执行当前分支。

1. 在 条件分支 中选择 子层级工作项。
2. 选择一个 层级结构。
3. 按需选择一个或多个 子工作项类型。
4. 选择判断方式。
5. 如需按属性判断，继续补充筛选条件。
6. 保存当前分支。
该分支支持以下能力：

- 支持选择一个层级结构。
- 支持多选子工作项类型。
- 如果子工作项类型留空，则默认以全部子工作项作为判断范围。
- 支持以下判断方式：

| 判断方式 | 说明 |
| --- | --- |
| 为空 | 指定范围内不存在子层级工作项。 |
| 不为空 | 指定范围内存在子层级工作项。 |
| 都已完成 | 指定范围内的子层级工作项均已完成。 |
| 任意子层级工作项的属性满足特定条件 | 只要任意一个子层级工作项满足条件，即命中当前分支。 |
| 所有子层级工作项的属性满足特定条件 | 只有全部子层级工作项都满足条件，才命中当前分支。 |

# 配置 Else-if 和 Else

你可以在已创建的条件分支中继续补充 Else-if 和 Else 逻辑，用于处理多条判断路径和兜底逻辑。

1. 进入已创建的 条件分支。
2. 使用 添加 Else-if 分支 增加新的判断路径。
3. 配置 Else-if 分支的判断条件。
4. 在 Else 分支下继续 添加流程。
5. 保存当前配置。
配置说明：

- If：当首个条件命中时，执行对应分支。
- Else-if：当上一个条件未命中时，继续判断新的条件。
- Else：当所有前置条件均未命中时，执行兜底逻辑。

# 删除条件分支

删除条件分支时，系统会同时删除该分支下的整个流程结构。

1. 在规则编辑器中找到目标 条件分支。
2. 执行删除操作。
3. 确认删除后，系统会一并移除该分支中的其他流程配置。
注意事项：

- 删除条件分支会同时移除该流程分支中的动作、条件判断、Else-if 和 Else 分支等所有内容。
- 此操作不可撤销，请在删除前确认是否需要保留分支中的其他配置。
