# 条件判断

URL: https://docs.ones.cn/on-premises/7.33/product-manual/ones-project/automation-management/configure-an-automation-rule/conditional-judgments

## 简介

条件校验页面用于在当前流程中增加一次拦截判断。你可以在这里为当前工作项或相关对象配置判断条件，只有条件满足时，系统才会继续执行后续流程；如果条件不满足，则当前流程直接结束。在流程分支中使用时，不满足条件会终止当前分支的后续执行。

## 配置条件校验

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

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. 保存当前节点。
该对象支持以下能力：

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

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

## 生效逻辑

条件校验会在当前流程中执行一次拦截判断。

生效逻辑如下：

- 如果条件满足，系统继续执行下一个流程。
- 如果条件不满足，系统终止当前流程。
- 如果当前节点位于某个流程分支中，条件不满足时，系统会终止当前分支的后续流程。
条件校验不会像条件分支一样生成多条执行路径，而是用于控制当前路径是否继续向后执行。
