> ## 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.

# 检验与抽样

> 在收到的货物通过 AQL 或固定抽样方案之前先予搁置，用检验模板和带气球标注的 FAI 图纸定义检查内容，并记录所用量具。

来料检验会让收到的货物在其样本按抽样方案检查完毕之前不进入库存。质量工程师设置方案和模板；检验员在**质量 → 检验 → 检验**下记录结果，并对每个批次判定接受或拒绝。

关于质量模块的整体介绍，请参阅[质量](https://docs.alforse.com/zh/docs/reference/quality.md)。

## 来料检验如何运作

1. 为已分配收货检验计划的物料过账一张收据。
2. Alforse 创建一个检验批次，将收到的数量置于**搁置**状态，并根据计划计算样本量。
3. 检验员为每个抽样单元记录结果。
4. 检验员接受或拒绝该批次。此后库存才会被释放。

### 每个收货行一个批次

检验以**批次**为单位：每个收货行对应一次检验。收货时，批次会对解析后的计划做一次快照，包括样本量、接收数、拒收数、标准和代码字母。因此，之后对计划的修改绝不会改变已存在的批次。

HEADS UP

**被搁置的库存不算在手库存**

对于设有收货检验计划的物料，已过账收据的追踪实体会被设为**搁置**而非可用。货物已经收到，但在批次被接受或个别抽样单元通过之前，没有人可以销售或消耗它们。

### 哪些物料需要检验

当物料被分配了**收货（Receipt）**用途的检验计划时，就需要检验。你在物料的**质量**标签页中的**检验计划分配**里进行分配（“每个检验流程由哪个单据驱动”）。

检验的源单据是**收据**或**工单工序**。本页的接受和拒绝处置适用于收货批次；工单工序批次在车间处置。参见[质量](https://docs.alforse.com/zh/docs/reference/quality.md)。

## 批次状态

| 状态 | 触发时机 | 对批次库存的影响 |
| - | - | - |
| **待处理** | 收据过账。尚无样本。 | 所有追踪实体处于**搁置**状态；无一可用。 |
| **进行中** | 记录了第一个样本。检验持续到样本量被覆盖，每个单元都标记为通过或失败。 | 仍然搁置。 |
| **已通过** | 检验员**接受**批次。 | 从未被抽样的实体变为可用。已通过的抽样单元保持可用，失败的保持已拒绝。 |
| **失败** | 检验员**拒绝**批次。 | 批次中的每个实体都变为已拒绝。可自动提出一个问题。 |
| **部分** | 部分处置，适用于只有一部分合格的批次。 | 已放行的单元被释放；其余仍保持搁置。 |

已通过、失败和部分都是终态：批次一旦进入其中之一，即被锁定。

在数据中，这些状态表现为 `inspectionStatusType` 的值（`apps/erp/app/modules/quality/quality.models.ts`）：`Pending`、`In Progress`、`Passed`、`Failed`、`Partial`。只有处置才会产生后三者。记录完所有样本后，批次仍保持开放，直到有人选择**接受批次**或**拒绝批次**。

## 检验批次

### 记录样本

你记录的每个结果就是批次上的一个样本。所有物料使用同一个弹窗；序列号物料只多一步用于识别单元。

| 追踪类型 | 样本记录的内容 |
| - | - |
| **序列号** | 扫描或选择具体的追踪实体，然后记录通过或失败。 |
| **批次**、**库存**、**非库存** | 仅记录通过或失败，`trackedEntityId` 保持为空，因为没有可扫描的单个单元（`inspectionSampleValidator`）。 |

### 接受或拒绝批次

`InspectionView.tsx` 根据已记录的结果启用处置按钮：

| 按钮 | 何时可用 |
| - | - |
| **接受批次** | 已检数量达到样本量，且失败数不超过**接收数**。如果计划包含特性，每个特性都必须在各自的接收数内达到各自的样本量。 |
| **拒绝批次** | 失败数超过接收数，或某个特性达到其拒收数。对于明显不良的批次，无需抽样完成即可拒绝。 |

处置会设定最终状态。

### 拒绝会带来什么

* **非追踪的库存批次**还会产生一笔抵销性的负库存调整。这类数量没有可将其从在手库存中排除的单实体状态，因此由调整将其扣除。
* **创建问题。**拒绝对话框提供**打开 NCR 进行 MRB 处置**以及问题类型选择器，从而自动打开一个问题。问题如何处理直至关闭，参见[质量](https://docs.alforse.com/zh/docs/reference/quality.md)。

## 抽样方案

每个批次都需要一个样本量，以及接受或拒绝的规则。两者都来自检验计划上的**抽样规则**，并在收货时按批量解析：

* 计划带有一条**默认抽样**规则。
* 每个特性可以沿用它（**继承文档默认值**），也可以用自己的方案类型覆盖。

### 方案类型

方案类型定义在 `apps/erp/app/modules/quality/samplingStandards.ts` 的 `samplingPlanTypes` 中。

| 方案类型 | 存储为 | 样本量 | 接受 / 拒绝 |
| - | - | - | - |
| **检查全部** | `All` | 整个批次 | 0 个缺陷接受，1 个拒绝 |
| **检查前 N 个** | `First` | 从批次开头起的固定数量（**样本量**） | 接受 0，拒绝 1 |
| **百分比** | `Percentage` | 批次的一定比例（**批次百分比**），向上取整并以批量为上限 | 接受 0，拒绝 1 |
| **AQL** | `AQL` | 取自 ANSI/ASQ Z1.4 或 ISO 2859-1 的表 | 取自同样的表 |

前三种是零缺陷规则；只有 **AQL** 使用统计接收表。编辑规则时，弹窗会实时显示批量、样本、Ac、Re 和字母的**预览**。

### AQL 方案如何解析

AQL（可接受质量限，Acceptable Quality Limit）表示你愿意视为可接受的缺陷率。为了将 AQL 方案转换成具体数字，`samplingStandards.ts` 中的 `resolveSamplingPlan` 接收方案、批量和公司标准，并执行两次查表：

1. **批量到代码字母。**一张批量区间表按所选**检验水平**给出 A 到 R 的代码字母。通常默认是 II 级。I 级和 III 级在样本量与置信度之间权衡，S1 到 S4 是样本较小的特殊水平（`inspectionLevels`）。
2. **代码字母、AQL 和严格度到抽样方案。**代码字母和 AQL 选定表中的一个单元格，给出样本量 `n`、**接收数** `Ac`（仍可通过的最大缺陷数）和**拒收数** `Re`。严格度决定使用哪张表：**正常**、**加严**（更严格，用于供应商质量下滑时）或**放宽**（`inspectionSeverities`）。

可选的 AQL 值是十二个标准档位 `0.065, 0.1, 0.15, 0.25, 0.4, 0.65, 1.0, 1.5, 2.5, 4.0, 6.5, 10.0`（`standardAqlValues`）。所有 Z1.4 和 ISO 2859-1 表都是 `samplingStandards.ts` 中的常量。对于 Alforse 提供的方案，ISO 2859-1 的单元格与 Z1.4 的相同，因此两个标准目前共用同一套表。

NOTE

**批次会复制方案**

收货时，Alforse 会把解析出的数值复制到检验上：`sampleSize`、`acceptanceNumber`、`rejectionNumber`、`codeLetter`，以及方案的 AQL、水平和严格度。之后对方案的修改只影响以后的批次，绝不影响已在码头等待的批次。

### 公司设置

有两项检验设置适用于整个公司，位于**设置 → 质量**下：

| 设置 | 效果 |
| - | - |
| **抽样标准** | `ANSI_Z1_4` 或 `ISO_2859_1`。按公司设置一次，而非按方案设置。 |
| **检验：要求不同检验员**（`enforceInspectionFourEyes`） | 记录样本的人不能是对批次做处置的人。 |

## 检验模板

抽样回答的是检验*多少个*单元；**检验模板**回答的是每个单元上*检查什么*。模板是一份有序的步骤列表，每个步骤的**类型**决定向检验员索取什么（`apps/erp/app/modules/shared/shared.models.ts` 中的 `procedureStepType`）。

| 步骤类型 | 要求检验员 |
| - | - |
| **任务** | 按说明执行。不存储任何值，因此行为类似检查清单的一行。 |
| **测量** | 以设定的**计量单位**输入尺寸读数；可选的最小/最大范围定义可接受的值。 |
| **值** | 输入任意数字或文本。无需单位。 |
| **复选框** | 勾选以表示通过或确认。 |
| **时间戳** | 记录执行该步骤的时间。 |
| **人员** | 记录执行人。 |
| **列表** | 从已定义的一组选项中选择（`listValues`）。 |
| **文件** | 附加文件，例如照片、扫描件或证书。 |
| **检验** | 引用一个嵌套的检验。 |

`quality.models.ts` 中的 `qualityDocumentStepValidator` 强制执行三条规则：

* **测量**步骤未设置计量单位时无法保存。
* **列表**步骤必须提供一个或多个选项，且选项不能为空。
* 如果 `minValue` 和 `maxValue` 都已填写，最大值不得低于最小值。

## 带气球标注图纸的 FAI

首件检验（FAI）和尺寸签认在图纸本身上进行。**检验文档**是零件的 PDF 图纸，上面带有编号的**气球**；每个气球标记一个要检查的特性（`quality.models.ts` 中的 `inspectionDocumentValidator` 和 `balloonFeatureValidator`）。

### 气球字段

| 字段 | 必填 | 含义 |
| - | - | - |
| `balloonNumber` | 是 | 图纸上特性旁印出的编号，检验员据此读取。 |
| `description` | 是 | 特性，例如孔径、孔位或表面粗糙度。 |
| `nominalValue` | 否 | 目标值。 |
| `tolerancePlus` / `toleranceMinus` | 否 | 值可高于和低于标称值多少。 |
| `unitOfMeasureCode` | 否 | 标称值和公差的单位。 |

### 气球的行为

* **位置：**一个气球属于某一页 PDF 的某一区域。其坐标被归一化到 0–1 范围，因此缩放绝不会使其移位。
* **步骤类型：**气球沿用 `procedureStepType` 集合，因此带气球的特性可以是测量、复选框或任何其他步骤类型。
* **自动检测：**Alforse 可以自行在图纸上找到气球，并将每个检测到的区域转换为特性。
* **保存：**对气球、其几何形状及其特性的修改在一次保存中存储。

检验计划位于**质量 → 检验 → 检验计划**。

### 量具

如需指定某种[量具](https://docs.alforse.com/zh/docs/reference/calibration.md)，请在计划编辑器中填写该特性的**量具类型**列。该列留空则接受任何量具。

检验期间，每个特性都有一个**量具**单元格：

* **可选项：**仅限有效量具；如果特性指定了类型，则仅限该类型的量具。
* **顺序：**最近在同一工作中心使用过的量具排在最前；每次收货都使用同一份共享列表。
* **存储：**每个批次和特性对应一个量具，并带有记录时的时间戳。
* **校准：**超出校准期的量具会被标记，但仍允许记录。之后停用某个量具，不会将其从它测量过的批次中移除。

## 相关内容

**质量**

整体质量模块，以及来料检验在其中的位置。

[Open](https://docs.alforse.com/zh/docs/reference/quality.md)

**问题与 NCR**

被拒绝的批次所提出的问题，以及如何将其关闭。

[Open](https://docs.alforse.com/zh/docs/reference/quality.md)

**校准**

量具、量具类型和校准状态。

[Open](https://docs.alforse.com/zh/docs/reference/calibration.md)

**车间（MES）**

操作员所见的过程检验步骤。

[Open](https://docs.alforse.com/zh/docs/reference/mes.md)


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