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

# 拣货单

> 在每道工序将工单的原材料从仓库库位备料到线边库位，将每一行跟踪到已拣货或缺货，并在 ERP 或车间关闭拣货单。

拣货单告诉仓库人员，在生产开始之前应将哪些工单原材料移到使用点。计划员在 ERP 中生成拣货单；拣货员在 ERP 或 MES 车间处理它们。

## 概览

每一行都指明一种原材料、一个数量、来源库位，以及该工序工作中心的目标线边库位。拣货是把库存**移动**到生产线，绝不消耗它。生产稍后在发料或倒冲该原材料时才消耗它。

拣货由生产驱动，而不是由发货驱动。每一行都关联到具体的工单、工单原材料，以及（通常）工单工序。您不能针对发货单或销售订单拣货：发货单将成品作为独立单据送给客户，而拣货是把原材料和组件备料*到*工单中。

## Alforse 如何决定需要拣什么

拣货单由仍有未备料原材料的**工单工序**生成。对于每道工序，Alforse 会将其原材料与该工序自身线边库位的现有数量进行核对，只列出缺口。

* **由库位决定，而非由记录决定**。Alforse 检查的是**线边库位的实际现有数量**，而不是工单原材料记录碰巧指向的位置。已经在工作中心线边备料的原材料视为已备料。
* **不重复拣货**。已在未取消的拣货单上的工序不会再次出现，因此同一项工作不会被拣两次。

## 生成拣货单

1. 前往**库存管理 → 拣货单**。看板显示在某一位置需要拣货的工单工序；可通过看板旁的设置按钮更改位置。
2. 选择您要备料的工序。
3. 选择**生成拣货单**。这需要有创建库存记录的权限。
4. 使用**查看列表**打开现有拣货单的表格。

如果没有需要备料的内容，看板会显示 *"No operations require picking at this location"*（此位置没有需要拣货的工序）。

## 拣货单的拣货

1. 打开拣货单并选择**开始**。拣货单从“**草稿**”变为“**进行中**”。
2. 逐行拣货。未追踪的原材料按数量拣货；序列号和批次追踪的原材料通过扫描具体批次拣货。
3. 如果某个库位无法满足某一行，将其标记为**缺货**，并输入实际拣到的数量。
4. 所有行都处理完毕后，选择**完成**。

在 **MES 车间**，流程相同：操作员打开分配给他的拣货单，点按“**开始**”，逐行拣货，然后点按“**完成**”。

### 缺货拣货

“**缺货**”行是经确认的有意短缺，而不是错误。拣货员记录实际取到的数量，拣货单会保留缺少内容的记录，而不会像全部到齐那样关闭。

### 仍有未结行时完成

一行在既未完全拣货、也未取消、也不是缺货时，即为未解决。此时**完成**的行为取决于**设置 → 库存管理 → 完成不完整的拣货**：

| 设置 | 设置中的标签 | 结果 |
| - | - | - |
| **warn**（默认） | **警告但允许**（Warn but allow） | 拣货员会看到 *"Finish with material unpicked?"*（物料未拣完，仍要完成吗？），可以选择“**Acknowledge & finish**”（确认并完成）（或**继续拣货**）。拣货单最终为“**部分**”。 |
| **error** | **用错误阻止** | 完成被拒绝（*"Can't finish — still unpicked: …"*，无法完成：仍有未拣项……），直到每一行都已拣货或标记为缺货。 |

## 状态

### 拣货单状态

拣货单从“**草稿**”开始，有人开始后变为“**进行中**”。仅当没有未结行且没有缺货行时**，完成**才会使其变为“**已完成**”；否则变为“**部分**”。“**已取消**”表示放弃该拣货单。

<details>
  <summary>**草稿**</summary>

  已生成并分配；尚未拣任何东西。
</details>

<details>
  <summary>**进行中**</summary>

  已开始（在 ERP 或 MES 车间点击开始）并正在拣货。
</details>

<details open>
  <summary>**已完成**</summary>

  每一行都已完全拣货或已取消后完成。拣货单被锁定。
</details>

<details open>
  <summary>**部分**</summary>

  至少有一个缺货行，或带着已确认的未拣物料完成。与已完成一样被锁定。
</details>

<details>
  <summary>**已取消**</summary>

  已放弃。它被锁定，其行不再阻止重新生成这些工序的拣货单。
</details>

### 行状态

<details>
  <summary>**待处理**</summary>

  尚未拣货；仍未结。
</details>

<details open>
  <summary>**已拣货**</summary>

  拣货数量已移到线边库位。
</details>

<details>
  <summary>**缺货**</summary>

  拣到的少于所需数量，且已确认短缺。
</details>

<details>
  <summary>**已取消**</summary>

  该行的需求被取消，不再计为未结。
</details>

### 已关闭的拣货单与重新打开

“**已完成**”、“**部分**”或“**已取消**”的拣货单被锁定：不能再拣货或取消拣货**。重新打开仅限 ERP。**请使用拣货单表头上的**重新打开**，这需要库存删除权限。MES 会告诉操作员改从 ERP 重新打开拣货单，因此已定稿的拣货不能在工位上返工，而无需办公室签核。

## 拣货对库存的影响

拣货是一次**转移**。过账一次拣货会写入两条平衡的物料分类账分录：在仓库来源库位记负数，在该工序的线边库位记等量的正数。总现有数量不会下降；它只是转移到使用点。

Alforse 还会把工单原材料重新指向线边库位。生产稍后倒冲或发出该原材料时，会从拣货放置它的位置领取。

| 原材料 | 过账的作用 |
| - | - |
| 未追踪 | 过账一对转移分录，并将该行标记为“**已拣货**”。 |
| 序列号或批次 | 还会记录一次追踪实体移动，使确切的批次可全程追溯。拣一个批次的一部分会将其**拆分**：拣出的数量移到线边，其余部分作为新批次留在原处。 |

NOTE

**库位可以变为负数**

拣货只移动库存，不会先检查可用性，因此库位的现有数量可能变为负数，这与发货和发料相同。Alforse 让车间继续工作并在事后对账，而不是阻止生产。

### 取消拣选与退回剩余物料

**取消拣选**会冲回转移，将仓库来源恢复为消耗点，并使该行回到“**待处理**”。

生产未消耗的已拣物料会自动从线边库位退回仓库，因此备好的库存绝不会滞留在生产线上。**设置 → 库存管理 → 返回未使用的已拣货原材料**设定何时发生：

| 选项 | 剩余物料何时退回 |
| - | - |
| **在工作完成时**（默认） | 整个工单完成时。 |
| **在操作完成时** | 每道工序一完成（Done）即退回。 |

## 权限

| 操作 | 需要 |
| - | - |
| 生成拣货单 | 库存创建 |
| **开始**（从草稿）、**完成**（从进行中） | 库存更新 |
| **取消拣货单** | 拣货单开始后可用 |
| **重新打开** | 库存删除，且状态不是草稿 |
| **删除拣货单** | 库存删除、**员工**角色，以及“**草稿**”状态 |

## 故障排查

| 现象 | 原因 | 解决办法 |
| - | - | - |
| *"This picking list is closed. Reopen it to make changes."*（此拣货单已关闭。请重新打开以进行更改。） | 拣货单为已完成、部分或已取消。 | 在 ERP 中重新打开它（库存删除权限）。 |
| *"Tracked items must be picked via the scan flow"*（被追踪的物料必须通过扫描流程拣货） | 序列号或批次追踪的行是按数量拣货的。 | 扫描该行上的具体批次。 |
| *"No lineside destination is set for this line"*（此行未设置线边目的地） | 工作中心没有线边存储单元。 | 在工作中心上配置线边存储单元。 |
| *"Can't finish — still unpicked: …"*（无法完成：仍有未拣项……） | 完成不完整的拣货设置为 **error**。 | 拣货、取消该行或将其标记为缺货，或将设置切换为 **warn**。 |
| 拣货单以“部分”完成 | 它有缺货行，或在物料未拣完的情况下确认了完成。 | 在 ERP 中重新打开它以拣完其余部分。 |

## 相关内容

**库存与位置**

拣货在其间移动的库位，以及它过账到的分类账。

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

**工单**

工序、原材料，以及消耗备好库存的倒冲。

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

**发货单**

将成品发送给客户，即拣货所不属于的出库流程。

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


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