路线和推/拉规则¶
在 Odoo 中, 路线 使用推/拉规则控制产品在不同位置之间的移动(无论是内部还是外部)。一旦设置好,这些规则可以根据特定条件帮助自动化产品的物流流程。
注解
路线适用于产品、产品类别、运输方式、包装 以及销售订单行。
关于路线和术语¶
在通用仓库中,有收货码头、质量控制区、存储位置、拣货和包装区以及发货码头。所有产品都会经过这些位置。当产品在这些位置之间移动时,每个位置都会触发产品的指定路线和规则。

在此示例中,供应商卡车在收货码头卸下载有订购产品的托盘。操作员随后在收货区扫描产品。根据产品的路线和规则,其中一些产品被送往质量控制区(例如,用于制造过程中的组件产品),而其他产品则直接存储到各自的位置。

以下是一个履行路线的示例。早上,为当天需要准备的所有订单挑选物品。这些物品从存储位置被拣选并移动到靠近包装区域的拣货区。然后,订单被装入各自的盒子,并通过传送带运送到发货码头,准备交付给客户。

拉动规则¶
推送规则用于在产品到达特定的接收位置后立即将其供应到存储位置。
注解
仅当没有已生成产品转移的拉动规则时,才能触发推送规则。
在 一步收货路线 中,该路线使用一个推送规则,当产品到达仓库时,推送规则可以自动将其转移到 存储位置 。不同的推送规则可以应用于不同的产品,从而实现定制化的存储位置。

‘一步收货’路线的推送规则。¶
有关配置规则的更多信息,请跳转至 配置规则部分 。
拉动规则¶
拉取规则根据需求触发产品移动,例如销售订单或 补货需求 。
拉取规则从需求位置反向工作。例如,在 两步交付 路线中,物品从 库存 移动到 输出 ,然后再交付到 客户位置 。拉取规则首先创建从 输出 到客户的转移。如果产品不在 输出 中,则另一个拉取规则会创建从 库存 到 输出 的转移。仓库工作人员随后按相反顺序处理这些转移:先拣货,再发货。

‘两步交付’路线的拉取规则。¶
有关配置规则的更多信息,请跳转至 配置规则部分 。
配置¶
由于 路线 是 推拉规则 的集合,因此 Odoo 可帮助您管理高级路线配置,例如:
管理产品的制造链。
管理每个产品的默认位置。
根据业务需求定义仓库内的路线,例如品控、售后服务或供应商退货。
通过自动生成租赁产品的退货动作,帮助进行租赁管理。
要配置产品的路线,首先,打开 库存 应用程序并转到 配置 –> 设置 。然后,在 仓库 部分中,启用 多步路线 功能并点击 保存 。

注解
启用 多步骤路线 功能时, 存储位置 功能会自动激活。
完成此第一步后,用户可以使用 Odoo 自带的预配置路线,也可以创建自定义路线。
预配置的路线¶
要访问 Odoo 的预配置路线,请转到
。然后,打开仓库表单。在仓库配置选项卡中,用户可以查看仓库预配置的进货路线和出货路线。
还提供一些更高级的路线,例如提货-包装-运输。用户可以选择最适合其业务需求的路线。设置 进货 和 出货 路线后,前往 查看 Odoo 生成的具体路线。

在 路线 页面上,点击一条路线以打开路线表单。在路线表单中,用户可以查看该路线适用于哪些地点。用户还可以将路由设置为仅适用于特定的 公司 。这对于多公司环境很有用;例如,用户可以在 A 国/地区拥有一家公司和仓库,在 B 国/地区拥有第二家公司和仓库。
参见

在路线表单的底部,用户可以查看该路线的具体 规则 。每个 规则 都有一个 操作 、一个 源位置 和一个 目标位置 。

定制路线¶
要创建自定义路线,请前往 创建 。接下来,选择此路线可应用的位置。一条路线可以适用于多个位置的组合。
,然后点击
每个位置的行为不同,因此重要的是仅勾选有用的位置并相应调整每条路线。然后,配置路线的 规则 。
如果路线适用于产品类别,则仍需通过前往 编辑 ,在 物流 部分下设置 路线 。
手动在产品类别表单中设置该路线。然后,选择产品类别并打开表单。接着,点击当将路线应用于产品类别时,路线中配置的所有规则都会应用于该类别中的 每个 产品。如果企业对同一类别中的所有产品都使用直运流程,这会很有帮助。

同样的行为也适用于仓库。如果路线可以应用于 仓库 ,则所选仓库内符合路线规则条件的所有转移都将遵循该路线。

如果路线适用于 销售订单行 ,情况则大致相反。创建报价单时必须手动选择路线。如果某些产品需要经过不同的路线,这会很有用。
请记住,在报价单/销售订单上切换 路线 列的可见性。然后,可以在报价单/销售订单的每一行中选择路线。

最后,还有一些可以应用于产品的路线。这些工作或多或少类似于产品类别:一旦选择,必须在产品表单上手动设置路线。
要为产品设置路线,请前往 库存 标签,在 操作 部分下选择 路线 。
并选择目标产品。然后,转到
重要
必须为路线设置规则,路线才能正常工作。
规则¶
规则在路线表单中定义。首先,前往 编辑 ,在 规则 部分下点击 添加一行 。
并打开目标路线表单。然后,点击
可用规则触发各种操作。除了 Odoo 提供的 推送 和 拉取 规则外,还有其他规则可用。每个规则都有一个 操作 :
从某处拉取 :此规则由特定位置对产品的需求触发。需求可能来自已验证的销售订单或需要特定组件的制造订单。当目标位置出现需求时,Odoo 会生成拣货单以满足该需求。
推送至某处 :此规则由某些产品到达定义的源位置触发。当用户将产品移动到源位置时,Odoo 会生成拣货单以将这些产品移动到目标位置。
拉取与推送 :此规则允许在上述两种情况下生成拣货单。这意味着当特定位置需要产品时,会从前一个位置创建转移以满足需求。这会在前一个位置产生需求,并触发规则以满足该需求。一旦第二个需求得到满足,产品将被推送到目标位置,所有需求均得到满足。
采购 :当目标位置需要产品时,会创建报价请求以满足需求。
制造 :当源位置需要产品时,会创建制造订单以满足需求。

还必须在规则中定义 操作类型 。这决定了根据规则生成哪种类型的拣货单。
如果规则的 操作 设置为 从某处拉取 或 拉取与推送 ,则必须设置 供应方法 。 供应方法 定义了在源位置发生的情况:
从库存中提取 :产品从源位置的可用库存中提取。
触发另一规则 :系统尝试找到一条库存规则,将产品带到源位置。忽略可用库存。
从库存中提取,若无库存则触发另一规则 :产品从源位置的可用库存中提取。如果没有可用库存,系统会尝试找到一条规则将产品带到源位置。
示例流程¶
在此示例中,我们将使用自定义的 拣货 - 包装 - 发货 路线,通过高级自定义路线尝试完整流程。
首先,快速查看路线的规则及其供应方法。共有三条规则,均为 从某处拉取 规则。每条规则的 供应方法 如下:
从库存中提取 :当 仓库/包装区 需要产品时,会创建 拣货单 (从 仓库/库存 到 仓库/包装区 的内部转移),以满足需求。
触发另一规则 :当 仓库/输出区 需要产品时,会创建 包装单 (从 仓库/包装区 到 仓库/输出区 的内部转移),以满足需求。
触发另一规则 :当 合作伙伴位置/客户 需要产品时,会从 仓库/输出区 创建 发货单 以满足需求。

这意味着,当客户订购设置了 拣货-包装-发货 路线的产品时,会创建一个发货单以完成订单。

注解
如果多个转移的源文档是同一销售订单,则状态可能不同。如果列表中的前一个转移尚未完成,状态将为 等待其他操作 。

为了准备交货单,输出区域需要包装产品,因此需要从包装区域进行内部转移。

显然,包装区要有待包装的产品。所以,需发起一次内部调货,然后员工才可以从仓库集货。

正如文档介绍中所述,流程的最后一步(对于此路线,即发货单)是首先被触发的,然后依次触发其他规则,直到到达流程的第一步(在此处为从库存到包装区的内部转移)。现在,所有内容都已准备好处理,以便客户可以收到订购的商品。
在此示例中,当所有规则被触发且转移完成后,产品将交付给客户。
