lint(standard): corrections completes mode standard
- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md, en-tete section Limagrain conserve) - Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian) - Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues), 1 reciblee (manuel de reten) - related: tenseflow -> tense-flow, pie -> mechanical-elements, group.md retire (doublon shipping) - Registre: compteur global 122 -> 131 pages - Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie) - Aucun fichier limagrain/ modifie (cloisonnement)
This commit is contained in:
+50
-50
@@ -52,10 +52,10 @@ The putaway strategy engine is the core of location search. Two complementary st
|
||||
|
||||
Each strategy (both types) is composed of four elements:
|
||||
|
||||
1. **Criterion** — Conditions that the container or stock must satisfy for the strategy to be a candidate (source, container type, stock properties, item classification, etc.)
|
||||
2. **Rule** — Conditions that the destination location must satisfy (location type, zone, aisle, height, mixing restrictions, etc.)
|
||||
3. **Restrictions** — Mixing constraints that determine which combinations of items/attributes/owners are allowed in the same location or channel
|
||||
4. **Sorting** — Preference ordering of valid locations (by distance, coordinates, fill level, item affinity, etc.)
|
||||
1. **Criterion** - Conditions that the container or stock must satisfy for the strategy to be a candidate (source, container type, stock properties, item classification, etc.)
|
||||
2. **Rule** - Conditions that the destination location must satisfy (location type, zone, aisle, height, mixing restrictions, etc.)
|
||||
3. **Restrictions** - Mixing constraints that determine which combinations of items/attributes/owners are allowed in the same location or channel
|
||||
4. **Sorting** - Preference ordering of valid locations (by distance, coordinates, fill level, item affinity, etc.)
|
||||
|
||||
Strategies are sequenced: if criteria for strategy N are not met, strategy N+1 is evaluated. The sequence continues until a location is found or all strategies are exhausted.
|
||||
|
||||
@@ -63,33 +63,33 @@ Strategies are sequenced: if criteria for strategy N are not met, strategy N+1 i
|
||||
|
||||
The web UI exposes the strategy engine through two tabs : **Critères** and **Règles**.
|
||||
|
||||
**Sequence management.** Strategies are ordered by **sequence number** — lower = higher priority. The list view exposes **"Augmenter séquence"** / **"Diminuer séquence"** buttons to adjust priorities. The **last-sequence strategy must be a catch-all** (any item, any available location), otherwise the engine may exhaust the list and return no proposal to the operator.
|
||||
**Sequence management.** Strategies are ordered by **sequence number** - lower = higher priority. The list view exposes **"Augmenter séquence"** / **"Diminuer séquence"** buttons to adjust priorities. The **last-sequence strategy must be a catch-all** (any item, any available location), otherwise the engine may exhaust the list and return no proposal to the operator.
|
||||
|
||||
**Onglet Critères** — "Rechercher un emplacement pour" offers :
|
||||
**Onglet Critères** - "Rechercher un emplacement pour" offers :
|
||||
|
||||
| Option | Description |
|
||||
|---|---|
|
||||
| Conteneur client | Client (outbound) containers only |
|
||||
| Conteneur vide | Empty containers |
|
||||
| Profil de stockage | Only items with the specified putaway profile — ⚠️ *if an item has a profile, only profile-matching strategies apply to it* |
|
||||
| Profil de stockage | Only items with the specified putaway profile - ⚠️ *if an item has a profile, only profile-matching strategies apply to it* |
|
||||
| Conteneur ou stock | Loose stock or any container |
|
||||
|
||||
The **"Stock libre"** checkbox restricts the strategy to loose stock (containers excluded). Below, a **Stock** section filters on : stock status, supplier, ABC rotation, item type, owner, hazard codes. The **Station d'origine** block is used for robotic installations.
|
||||
|
||||
**Onglet Règles — "Rechercher un emplacement"** exposes two UI-specific controls not named in the pipeline above :
|
||||
**Onglet Règles - "Rechercher un emplacement"** exposes two UI-specific controls not named in the pipeline above :
|
||||
|
||||
| Parameter | Values |
|
||||
|---|---|
|
||||
| **Mode de stockage** | N'importe quel / Conteneur uniquement / Stock Libre uniquement |
|
||||
| **Valable si** | Emplacement vide ou avec stock / Avec stock uniquement / Canal vide uniquement / Canal avec stock uniquement |
|
||||
|
||||
Remaining rule fields match *Stage 6* above (rack type, specific location, X/Y coordinates, side 0=gauche/1=droite, height min/max, max weight, **Article assigné** — PDL-like assigned-location search, type/aisle, zone, min/max temperature, entrepôt annexe).
|
||||
Remaining rule fields match *Stage 6* above (rack type, specific location, X/Y coordinates, side 0=gauche/1=droite, height min/max, max weight, **Article assigné** - PDL-like assigned-location search, type/aisle, zone, min/max temperature, entrepôt annexe).
|
||||
|
||||
> Crossdocking locations live in the crossdocking sub-warehouse : if the strategy leaves `entrepôt annexe` empty, the engine considers both the main and the crossdocking sub-warehouses.
|
||||
|
||||
**Onglet Règles — "Appliquer restrictions"** checkboxes : `Appliquer restrictions`, `Articles combinés`, `Mélanger des conversions`, `Combiner attributs logistiques`, `Utiliser jours de mélange`, `Mélanger types de conteneurs`, `Rangement partiel de stock`.
|
||||
**Onglet Règles - "Appliquer restrictions"** checkboxes : `Appliquer restrictions`, `Articles combinés`, `Mélanger des conversions`, `Combiner attributs logistiques`, `Utiliser jours de mélange`, `Mélanger types de conteneurs`, `Rangement partiel de stock`.
|
||||
|
||||
**Onglet Règles — "Order locations"** mirrors *Stage 7* sorting. Recommended default for manual warehouses : `Coord X ASC` (seq 1), `Coord Y ASC` (seq 2).
|
||||
**Onglet Règles - "Order locations"** mirrors *Stage 7* sorting. Recommended default for manual warehouses : `Coord X ASC` (seq 1), `Coord Y ASC` (seq 2).
|
||||
|
||||
### Activation, Deactivation, and Editing
|
||||
|
||||
@@ -104,7 +104,7 @@ A strategy takes effect only after explicit **activation**. To modify an existin
|
||||
|
||||
## Location Search Pipeline (Putaway Strategies)
|
||||
|
||||
### Stage 1 — Filter valid strategies by criteria
|
||||
### Stage 1 - Filter valid strategies by criteria
|
||||
|
||||
EasyWMS filters all enabled strategies for the warehouse against five criterion groups:
|
||||
|
||||
@@ -121,7 +121,7 @@ EasyWMS filters all enabled strategies for the warehouse against five criterion
|
||||
|
||||
**Stock criteria:** supplier, status (inbound/outbound), expired stock flag.
|
||||
|
||||
### Stage 2 — Obtain valid aisles
|
||||
### Stage 2 - Obtain valid aisles
|
||||
|
||||
EasyWMS selects accessible aisles reachable by route from the container/stock's current location (direct or indirect routes). For **automatic aisles**, aisles that have exceeded the configured percentage of free locations for relocation are excluded to prevent blocking outbound movements.
|
||||
|
||||
@@ -129,7 +129,7 @@ Occupancy calculation differs by location structure:
|
||||
- **APS (depth control):** counts valid depths per container type vs. occupied depths
|
||||
- **Rack (position control):** counts valid positions per container type vs. occupied positions (considering mask blocking even for unoccupied positions that have tasks)
|
||||
|
||||
### Stage 3 — Aisle balancing (automatic warehouses, containers only)
|
||||
### Stage 3 - Aisle balancing (automatic warehouses, containers only)
|
||||
|
||||
When enabled via parameter `BALANCE_AISLE`, EasyWMS balances load across valid aisles using the formula:
|
||||
|
||||
@@ -141,7 +141,7 @@ Default weights: X=5, Y=1, Z=7 (configurable with expiry date). The aisle with t
|
||||
|
||||
For multi-reference containers, the item with the largest quantity (base UoM) is used for balancing.
|
||||
|
||||
### Stage 4 — Apply restrictions
|
||||
### Stage 4 - Apply restrictions
|
||||
|
||||
Location restrictions (configured globally, independent of strategies) discard candidate locations where two incompatible items/item-types would be co-located. Restrictions are applied only when the strategy rule has "Use restrictions" checked.
|
||||
|
||||
@@ -156,7 +156,7 @@ Location restrictions (configured globally, independent of strategies) discard c
|
||||
|
||||
Restrictions can be scoped to a specific sub-warehouse. They must be enabled and referenced in the strategy to take effect.
|
||||
|
||||
### Stage 5 — Filter valid locations (physical/logical checks)
|
||||
### Stage 5 - Filter valid locations (physical/logical checks)
|
||||
|
||||
From remaining candidates, EasyWMS applies a hard validity checklist:
|
||||
|
||||
@@ -169,7 +169,7 @@ From remaining candidates, EasyWMS applies a hard validity checklist:
|
||||
|
||||
Route validity is also checked: there must be a station route from the container/stock's current station to the candidate location's station. For equipment-based searches, maximum reachable height and work area access are additionally validated.
|
||||
|
||||
### Stage 6 — Apply strategy rule filters
|
||||
### Stage 6 - Apply strategy rule filters
|
||||
|
||||
The strategy rule further filters candidate locations by:
|
||||
|
||||
@@ -194,7 +194,7 @@ The strategy rule further filters candidate locations by:
|
||||
|
||||
Empty locations are always valid regardless of mixing configuration.
|
||||
|
||||
### Stage 7 — Sort locations by preferences
|
||||
### Stage 7 - Sort locations by preferences
|
||||
|
||||
Valid locations are sorted according to the strategy's configured preferences (in priority order):
|
||||
|
||||
@@ -214,7 +214,7 @@ Valid locations are sorted according to the strategy's configured preferences (i
|
||||
| Proximity relocation | Move to closest location (same-aisle relocations only) |
|
||||
| APS3D level ↑↓ | APS3D aisle level (if APS3D module installed) |
|
||||
|
||||
### Stage 8 — Select optimal location and create task
|
||||
### Stage 8 - Select optimal location and create task
|
||||
|
||||
EasyWMS selects the top-ranked location and creates a **Location task** to move the container/stock there. For traced containers, the task targets the base container of the trace hierarchy.
|
||||
|
||||
@@ -247,24 +247,24 @@ Channel strategies group equivalent containers (same type + height + stock refer
|
||||
|
||||
### Channel strategy configuration (SmartUI)
|
||||
|
||||
Channel filling strategies are set up under `Configuration → Stratégies de remplissage de canaux`. Unlike standard putaway strategies, **channel strategies are not sequenced** — the WMS picks the first eligible strategy in the list. Because of this, criteria must be narrow enough to distinguish between strategies.
|
||||
Channel filling strategies are set up under `Configuration → Stratégies de remplissage de canaux`. Unlike standard putaway strategies, **channel strategies are not sequenced** - the WMS picks the first eligible strategy in the list. Because of this, criteria must be narrow enough to distinguish between strategies.
|
||||
|
||||
**EasyS prerequisite.** Racks must be typed as `APS`, `Push Back`, `Dynamic Push Back`, or `Multi-Compact`. Without one of these rack types, the `EmptyChannels_ForContainer` query returns nothing and channel search returns empty. Each location must also declare a **number of authorized containers** — the WMS uses this to compute channel capacity.
|
||||
**EasyS prerequisite.** Racks must be typed as `APS`, `Push Back`, `Dynamic Push Back`, or `Multi-Compact`. Without one of these rack types, the `EmptyChannels_ForContainer` query returns nothing and channel search returns empty. Each location must also declare a **number of authorized containers** - the WMS uses this to compute channel capacity.
|
||||
|
||||
**Two mandatory criteria fields:**
|
||||
|
||||
| Field | Purpose |
|
||||
|---|---|
|
||||
| **Postes sources à considérer** | Source stations from which a container becomes eligible. If the equipment's current station is not in this list, the strategy does not apply — even if the container otherwise matches. |
|
||||
| **Postes sources à considérer** | Source stations from which a container becomes eligible. If the equipment's current station is not in this list, the strategy does not apply - even if the container otherwise matches. |
|
||||
| **Stations à considérer pour les supports candidats** | Buffer stations used to count containers to be placed. Example: if only `RECEPTION` is listed, the WMS searches other eligible containers at `RECEPTION` and looks for a channel with enough capacity to hold them all. |
|
||||
|
||||
**Rule fields** filter destination candidates: storage zones (prioritised), putaway preferences, min/max location height, total weight of candidate containers, **Utiliser l'équilibrage des allées** (boolean — reuses the aisle balance configured on standard putaway strategies).
|
||||
**Rule fields** filter destination candidates: storage zones (prioritised), putaway preferences, min/max location height, total weight of candidate containers, **Utiliser l'équilibrage des allées** (boolean - reuses the aisle balance configured on standard putaway strategies).
|
||||
|
||||
**Reservation timeout.** The **Paramétrage du temps de réservation** field sets the maximum reservation lifetime; expired reservations are dropped automatically.
|
||||
|
||||
**Reservation view.** `Entrepôt → Réservations` shows, per reservation: originating strategy, destination location, item, owner, **remaining containers** on the reservation, PLC height type.
|
||||
|
||||
> ⚠️ Reservations are created **at putaway time only** — there is no background job reserving channels based on existing stock. A candidate container triggers the search and reserves a channel for itself + all buffer peers at that moment.
|
||||
> ⚠️ Reservations are created **at putaway time only** - there is no background job reserving channels based on existing stock. A candidate container triggers the search and reserves a channel for itself + all buffer peers at that moment.
|
||||
|
||||
## Putaway Flow by Object Type
|
||||
|
||||
@@ -293,7 +293,7 @@ Similar flow to container putaway, but:
|
||||
|
||||
### Cutting Stock Putaway (RFT)
|
||||
|
||||
Cutting stock (items sold/stored by length/stretch) requires total-quantity handling — stretches cannot be split. Three modes:
|
||||
Cutting stock (items sold/stored by length/stretch) requires total-quantity handling - stretches cannot be split. Three modes:
|
||||
1. **Select then locate**: choose the stretch, confirm/enter destination
|
||||
2. **Guided unload**: system proposes destination for each stretch in sequence
|
||||
3. **Manual unload**: enter destination to unload all equipment stock at once
|
||||
@@ -358,8 +358,8 @@ Strategy coverage expected per rack type (Mecalux France defaults):
|
||||
|
||||
**Double-depth racks:**
|
||||
- Ascending height + Rotation + Stock balancing
|
||||
- Avoid product mixing — causes relocations during picking
|
||||
- Avoid logistic-attribute / quantity mixing — depends on shipping logic
|
||||
- Avoid product mixing - causes relocations during picking
|
||||
- Avoid logistic-attribute / quantity mixing - depends on shipping logic
|
||||
|
||||
**>2-depth (APS) channels:**
|
||||
- Ascending height + Rotation + Balancing
|
||||
@@ -369,16 +369,16 @@ Strategy coverage expected per rack type (Mecalux France defaults):
|
||||
|
||||
### Empty-location headroom
|
||||
|
||||
**Standard value: 5%** empty locations — required for relocation work and flow variation absorption. Lower values starve the relocation and defragmentation jobs.
|
||||
**Standard value: 5%** empty locations - required for relocation work and flow variation absorption. Lower values starve the relocation and defragmentation jobs.
|
||||
|
||||
### Double-depth layout patterns (EasyS)
|
||||
|
||||
Two rack configurations for double-depth (TK / miniload):
|
||||
|
||||
- **Case #1** (most common at Mecalux France) — best for **mono-product supports**: rotation zones split by front / rear face (several supports with the same article live in the TK)
|
||||
- **Case #2** — best for **multi-product supports**: reduces picking-time relocations without pre-emptive defragmentation (an item never lives in two supports at once)
|
||||
- **Case #1** (most common at Mecalux France) - best for **mono-product supports**: rotation zones split by front / rear face (several supports with the same article live in the TK)
|
||||
- **Case #2** - best for **multi-product supports**: reduces picking-time relocations without pre-emptive defragmentation (an item never lives in two supports at once)
|
||||
|
||||
Choose the pattern **before** running rotation class setup — switching costs a full re-slotting.
|
||||
Choose the pattern **before** running rotation class setup - switching costs a full re-slotting.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -393,35 +393,35 @@ Choose the pattern **before** running rotation class setup — switching costs a
|
||||
|
||||
**No valid location found (automatic warehouse):** Rejection task generated. Container goes to rejection station. Common causes: all aisles at relocation % limit, no route between current station and any candidate location, weight exceeded everywhere.
|
||||
|
||||
**Aisle balancing blocks putaway:** Aisle is chosen by balance formula but has no valid location (e.g., full or incompatible). System does not fall back to other aisles for that strategy — next strategy in sequence is tried instead. Ensure next strategy has adequate coverage.
|
||||
**Aisle balancing blocks putaway:** Aisle is chosen by balance formula but has no valid location (e.g., full or incompatible). System does not fall back to other aisles for that strategy - next strategy in sequence is tried instead. Ensure next strategy has adequate coverage.
|
||||
|
||||
**Container stuck in equipment:** Container loaded on equipment but operator ended session without locating. Container remains in equipment indefinitely. Resolve via manual relocation from the equipment management view.
|
||||
|
||||
**Picking dedicated location not proposed:** Item has no PDL created yet, or PDL is for different logistic attributes. Either create a PDL for the correct attributes, or ensure strategy sequence 1 (assigned location) handles this item.
|
||||
|
||||
**Cutting stock putaway fails validation:** Operator entered partial quantity instead of full stretch quantity. Cutting stock requires total-quantity entry — reject partial entries at the RFT.
|
||||
**Cutting stock putaway fails validation:** Operator entered partial quantity instead of full stretch quantity. Cutting stock requires total-quantity entry - reject partial entries at the RFT.
|
||||
|
||||
## Interface Paths
|
||||
|
||||
| Interface | Path |
|
||||
|---|---|
|
||||
| RFT — container/loose stock putaway | Menu "Putaway" → "Containers/Loose stock" or "Containers" |
|
||||
| RFT — stock putaway | Menu "Location" → "Containers/Loose stock" or "Stocks" |
|
||||
| Web — putaway strategies | "Configuration" → "Putaway strategies" |
|
||||
| Web — aisle balancing | "Putaway strategies" → "Configuration" → "Aisle Balance" |
|
||||
| Web — restrictions | "Configuration" → "Restrictions" |
|
||||
| Web — channel filling strategies | "Configuration" → "Stratégies de remplissage de canaux" |
|
||||
| Web — channel reservations | "Entrepôt" → "Réservations" |
|
||||
| RFT - container/loose stock putaway | Menu "Putaway" → "Containers/Loose stock" or "Containers" |
|
||||
| RFT - stock putaway | Menu "Location" → "Containers/Loose stock" or "Stocks" |
|
||||
| Web - putaway strategies | "Configuration" → "Putaway strategies" |
|
||||
| Web - aisle balancing | "Putaway strategies" → "Configuration" → "Aisle Balance" |
|
||||
| Web - restrictions | "Configuration" → "Restrictions" |
|
||||
| Web - channel filling strategies | "Configuration" → "Stratégies de remplissage de canaux" |
|
||||
| Web - channel reservations | "Entrepôt" → "Réservations" |
|
||||
|
||||
## Related
|
||||
|
||||
- [Container (LPN)](container.md) — the primary object being putaway; types, lock types, and weights are key strategy criteria
|
||||
- [Reception](reception.md) — putaway typically follows reception; containers can be placed directly from reception
|
||||
- [Replenishment](replenishment.md) — replenishment reuses the putaway strategy engine to move stock to picking dedicated locations
|
||||
- [Location](location.md) — location types (rack, APS, compact, dynamic, pushback) determine which strategy type applies
|
||||
- [Stock](stock.md) — stock status and logistic attributes are criteria and restrictions in putaway strategies
|
||||
- [GALILEO Integration](../architecture/galileo-integration.md) — how TMS drives physical execution of putaway tasks
|
||||
- [Galileo Simulation](../operations/galileo-simulation.md) — EasyS setup for double-depth racks, PLC Types, reject routes
|
||||
- [Task](task.md) — putaway generates Putaway tasks; automatic warehouse also uses Approach tasks for Pick & Pass
|
||||
- [Product / Item](product-item.md) — putaway profile on the item links strategies; hazard, temperature, and ABC classification feed strategy criteria
|
||||
- [Defragmentation](defragmentation.md) — rotation defragmentation reuses putaway strategies to relocate containers to their optimal ABC zone
|
||||
- [Container (LPN)](container.md) - the primary object being putaway; types, lock types, and weights are key strategy criteria
|
||||
- [Reception](reception.md) - putaway typically follows reception; containers can be placed directly from reception
|
||||
- [Replenishment](replenishment.md) - replenishment reuses the putaway strategy engine to move stock to picking dedicated locations
|
||||
- [Location](location.md) - location types (rack, APS, compact, dynamic, pushback) determine which strategy type applies
|
||||
- [Stock](stock.md) - stock status and logistic attributes are criteria and restrictions in putaway strategies
|
||||
- [GALILEO Integration](../architecture/galileo-integration.md) - how TMS drives physical execution of putaway tasks
|
||||
- [Galileo Simulation](../operations/galileo-simulation.md) - EasyS setup for double-depth racks, PLC Types, reject routes
|
||||
- [Task](task.md) - putaway generates Putaway tasks; automatic warehouse also uses Approach tasks for Pick & Pass
|
||||
- [Product / Item](product-item.md) - putaway profile on the item links strategies; hazard, temperature, and ABC classification feed strategy criteria
|
||||
- [Defragmentation](defragmentation.md) - rotation defragmentation reuses putaway strategies to relocate containers to their optimal ABC zone
|
||||
|
||||
Reference in New Issue
Block a user