lint(limagrain): corrections completes Phase 1+2
- Bloquants: mermaid 03-picking/_index reconstitue (archive 11-05), 13 liens vers pages squelette retires, 2 liens recibles (anoxie, application-dictionary) - Conventions: 910 em dashes -> tirets simples, 145 checklists -> puces question, 13 questions resolues barrees - Liens: 9 ancres reparees (slugs GitHub) - Delta: 12 standard_ref remappes, blocs Standard EasyWMS + sections References ajoutes, front matter complete - Glossaire: 15 termes standard deplaces en section rappel avec renvoi - Rapport: limagrain/_lint_report.md (Phase 1 + Phase 2 + re-scan final) - Inclut les pages des sessions precedentes non commitees + CLAUDE.md et consume.log en l'etat
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
---
|
||||
title: "Ordres de sortie — Types et libération"
|
||||
title: "Ordres de sortie - Types et libération"
|
||||
tags: [outbound, OS, SOR, RUT, libération, assignation, FIFO, LOC]
|
||||
status: draft
|
||||
standard_ref: concepts/order-outbound.md
|
||||
jira_refs: []
|
||||
jira_refs: [LIM-109, LIM-110]
|
||||
confluence_refs: ["Expédition - LIMAGRAIN - DEV"]
|
||||
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Expédition - LIMAGRAIN - DEV - Confluence.md", "CR CONSOLIDES REU ERP LIMAGRAIN V1 - CR.md"]
|
||||
last_updated: 2026-05-06
|
||||
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Expédition - LIMAGRAIN - DEV - Confluence.md", "CR CONSOLIDES REU ERP LIMAGRAIN V1 - CR.md", "Jira LIM-109 (lecture directe 2026-07-20)", "Jira LIM-110 (lecture directe 2026-07-20)"]
|
||||
last_updated: 2026-07-20
|
||||
author: Arthur
|
||||
---
|
||||
|
||||
# Ordres de sortie — Types et libération
|
||||
# Ordres de sortie - Types et libération
|
||||
|
||||
> **Résumé** : 4 types d'ordres de sortie chez Limagrain, avec des
|
||||
> comportements de libération, d'assignation et de préparation distincts.
|
||||
@@ -51,6 +51,29 @@ re-certification. Le message d'entrée diffère selon le type.
|
||||
- Chaque OS peut avoir plusieurs **lignes** (article + quantité)
|
||||
- Chaque palette est étiquetée et ordonnancée par **n° STOP**
|
||||
|
||||
## [CUSTOM] Lot obligatoire sur les lignes d'OS (LIM-109)
|
||||
|
||||
> **Statut (LIM-109)** : dev terminé, en attente de déploiement pour test.
|
||||
> Revue de code validée (Maxime, 29/06/2026).
|
||||
|
||||
La création d'un ordre de sortie ou d'une **ligne d'OS** est **interdite si
|
||||
l'attribut logistique lot n'est pas renseigné**. Le lot est indispensable à
|
||||
l'assignation de stock (critère « article/lot SAP », voir
|
||||
[Assignation de stock](#assignation-de-stock)) : une ligne sans lot ne
|
||||
pourrait jamais être servie.
|
||||
|
||||
Le contrôle est posé par une **subscription en Preview** sur l'event de
|
||||
création de ligne d'OS, qui lève une **exception** si le lot est vide. Combiné
|
||||
à `TransactionalLineList = true` (voir
|
||||
[Paramètres ERP](#paramètres-erp-des-sorrut)), le refus est **total** : tout
|
||||
l'import de l'OS est rejeté.
|
||||
|
||||
| Élément AD | Type | Rôle |
|
||||
|------------|------|------|
|
||||
| `CST_OutboundOrderLineCreated_CheckLotRequired_PRE` | Subscription | En **Preview** sur l'event de création de ligne d'OS ; appelle le WF de contrôle. |
|
||||
| `CST_OutboundOrderLineCreated_CheckLotRequired_PRE_PR` | Workflow | Lève une exception si le lot n'est pas renseigné sur la ligne. |
|
||||
| `CST_OutboundOrderLineCreation_MissingLot` | Ressource i18n | Message d'erreur « lot manquant ». |
|
||||
|
||||
## Paramètres ERP des SOR/RUT
|
||||
|
||||
| Paramètre | Valeur | Commentaire |
|
||||
@@ -62,7 +85,7 @@ re-certification. Le message d'entrée diffère selon le type.
|
||||
| CompleteSorList (RUT) | true | SOR absents de la RUT = supprimés |
|
||||
| AllowAssignStockExcess | true | Palettes pleines, jamais de picking partiel |
|
||||
| Limite d'annulation | Statut "Chargé" | Avant = OK, après = refusé |
|
||||
| IgnoreNulls (RUT) | false | — |
|
||||
| IgnoreNulls (RUT) | false | - |
|
||||
|
||||
## Gestion des ruptures SOR Production
|
||||
|
||||
@@ -76,9 +99,63 @@ manuel.
|
||||
|
||||
## Quai recertification
|
||||
|
||||
Pour les SOR de type recertification :
|
||||
`AssignedDockStationCode = "QUAI_RECERTIFICATION"` (quai fictif, renseigné
|
||||
par Limagrain dans le SOR).
|
||||
> **Statut (LIM-110)** : en cours de test client (pré-production). Revue de
|
||||
> code validée (Maxime, 03/07/2026).
|
||||
|
||||
Le quai de recertification (`QUAI_RECERTIFICATION`, code porté par le
|
||||
paramètre `RECERTIFICATION_CODE_QUAI`) est **assigné automatiquement** par le
|
||||
WMS :
|
||||
|
||||
- à la **création** d'un OS de classe RECERTIFICATION
|
||||
(`OutboundOrder_OutboundOrderCreatedEventHandler_PR`) ;
|
||||
- à l'**édition** d'un OS auquel on ajoute la classe RECERTIFICATION (ajout
|
||||
Vincent 09/07/2026).
|
||||
|
||||
Ce quai est **réservé à ce process**. Le **changement manuel** du quai
|
||||
(assignation ou dé-assignation) est **empêché** : les boutons correspondants
|
||||
sont masqués dans la vue `OutboundOrderVList` pour les OS de recertification.
|
||||
|
||||
> **Évolution vs V1** : le quai fictif `QUAI_RECERTIFICATION` était auparavant
|
||||
> renseigné par Limagrain **dans le SOR**. Il est désormais posé
|
||||
> **automatiquement** par le WMS (LIM-110).
|
||||
|
||||
Ce quai n'est **pas** géré par le job d'assignation des images de quai X_EXP
|
||||
(LIM-94), qui **exclut** la classe Recertification (voir
|
||||
[Assignation image de quai](assignation-image-quai.md)).
|
||||
|
||||
### Stratégie d'assignation de stock RECERTIFICATION (LIM-110)
|
||||
|
||||
Une stratégie d'assignation de stock spécifique, **« expédition uniquement des
|
||||
supports complets »**, est forcée pour les OS de classe RECERTIFICATION :
|
||||
|
||||
- La stratégie (code `RECERTIFICATION`) est **toujours désactivée** en
|
||||
configuration : elle n'est jamais choisie par le mécanisme standard.
|
||||
- Lors de l'assignation de stock d'un OS de recertification, le choix est
|
||||
**forcé** sur cette stratégie
|
||||
(`StockAssignProcess_GetStockAssignStrategies_PR`).
|
||||
- Le flag `AllowPick` est **forcé à `false`**
|
||||
(`StockAssignProcess_GetStockToAssignForStrategy_PR`) : supports complets
|
||||
uniquement, pas de picking.
|
||||
- La stratégie est identifiée par une **balise `[XXX]`** dans son code, avec
|
||||
`XXX = RECERTIFICATION_CODE_QUAI` ; la query
|
||||
`CST_StockAssignStrategyV2_Recertification` récupère les stratégies portant
|
||||
ce tag.
|
||||
|
||||
> ⚠️ La description du ticket indique que `RECERTIFICATION_CODE_QUAI` sert
|
||||
> aussi à **identifier les OS de classe recertification** ; à relier au
|
||||
> paramètre `RECERTIFICATION_CODE_CLASSE` (LIM-105) qui porte déjà ce rôle -
|
||||
> voir [questions ouvertes](../08-transverse/questions-ouvertes.md).
|
||||
|
||||
| Élément AD | Type | Rôle |
|
||||
|------------|------|------|
|
||||
| `OutboundOrder_OutboundOrderCreatedEventHandler_PR` | Workflow | À la création d'un OS de recertification, assigne automatiquement le quai (paramètre `RECERTIFICATION_CODE_QUAI`). |
|
||||
| `StockAssignProcess_GetStockAssignStrategies_PR` | Workflow | Filtre les stratégies d'assignation de stock à appliquer pour les OS de recertification. |
|
||||
| `StockAssignProcess_GetLockAndUpdateDetail_PR` | Workflow | Récupère l'`OutboundClassCode`. |
|
||||
| `StockAssignProcess_GetStockToAssignForStrategy_PR` | Workflow | Force `AllowPick = false` pour les ordres de recertification. |
|
||||
| `OutboundOrderVList` | Vue | Masque les boutons d'assignation / dé-assignation de quai pour les OS de recertification. |
|
||||
| `CST_StockAssignStrategyV2_Recertification` | Query | Récupère les stratégies dont le code contient le tag `[code classe recertification]`. |
|
||||
| `OutboundOrder_CreatedEvent` | Subscription | Ajout du paramètre `OutboundClassCode`. |
|
||||
| `RECERTIFICATION_CODE_QUAI` | Paramètre | Code du quai recertification / balise `[XXX]` de la stratégie. Voir [Paramètres projet](../07-admin/parametres-projet.md). |
|
||||
|
||||
## Libération
|
||||
|
||||
@@ -125,12 +202,12 @@ Filtres appliqués :
|
||||
Dans l'ordre de priorité :
|
||||
|
||||
1. **Article/lot SAP + attributs logistiques** spécifiés dans le SOR/RUT
|
||||
2. **Économie de mouvement** (minimum de mouvements) — **prioritaire**
|
||||
2. **Économie de mouvement** (minimum de mouvements) - **prioritaire**
|
||||
3. **FIFO sur 24h** : standard confirmé. Les palettes reçues le même jour
|
||||
ont le même FIFO (heures/minutes ignorées), ce qui permet de prendre
|
||||
la palette la plus accessible dans un canal. Pas de FIFO strict
|
||||
infra-journalier.
|
||||
4. **Pas de FEFO** — la proposition initiale de faire du FEFO sur du stock
|
||||
4. **Pas de FEFO** - la proposition initiale de faire du FEFO sur du stock
|
||||
sans DLC est **abandonnée**. Il n'y a pas de date d'expiration sur les
|
||||
produits. Le FIFO journalier est retenu.
|
||||
5. **Maximum palettes complètes** puis palettes incomplètes (avec picking)
|
||||
@@ -169,7 +246,7 @@ Dans l'ordre de priorité :
|
||||
- [CUSTOM] Stratégie d'assignation excluant les supports multi-lignes
|
||||
(= mono-ref uniquement). Combiné avec AllowAssignStockExcess → shipping
|
||||
sans picking.
|
||||
- Stock assigné directement déposé sur l'image de quai — aucun passage
|
||||
- Stock assigné directement déposé sur l'image de quai - aucun passage
|
||||
poste de travail
|
||||
- Ruptures de stock ne bloquent pas l'expédition. Le client utilise
|
||||
`isCritical` / `isRequired` au niveau SOR.Line si besoin.
|
||||
@@ -179,7 +256,7 @@ Dans l'ordre de priorité :
|
||||
|
||||
- Stock assigné mais **aucune tâche** tant que poste de travail non assigné
|
||||
- Le PK doit être passé en **mode recertif** (par le manager)
|
||||
- Flux détaillé en 11 étapes — voir
|
||||
- Flux détaillé en 11 étapes - voir
|
||||
[Re-certification](flux-expedition.md#re-certification)
|
||||
|
||||
### Messagerie carton
|
||||
@@ -188,7 +265,7 @@ Dans l'ordre de priorité :
|
||||
- Tous les OS de la RUT préparés **simultanément** sur un seul poste
|
||||
- Tri par transporteur (l'opérateur ne dépose que sur une seule palette)
|
||||
- Consolidation sur palette unique avec supports carton identifiés
|
||||
- Pas d'image de quai — emplacement au sol dédié par transporteur
|
||||
- Pas d'image de quai - emplacement au sol dédié par transporteur
|
||||
- [CUSTOM] À l'import du SOR, vérification combo shipping class code +
|
||||
transporteur → si OK, poumon associé automatiquement
|
||||
- Voir [Messagerie carton](flux-expedition.md#messagerie-carton)
|
||||
@@ -211,11 +288,11 @@ Possible depuis EasyWMS avec choix de destination :
|
||||
|
||||
## Points d'attention
|
||||
|
||||
⚠️ La libération automatique est le mode principal — la date est dans le
|
||||
⚠️ La libération automatique est le mode principal - la date est dans le
|
||||
message ERP.
|
||||
|
||||
⚠️ L'assignation spécifie **toujours** les 4 critères (article, lot SAP,
|
||||
propriétaire, statut) — pas d'assignation « ouverte ».
|
||||
propriétaire, statut) - pas d'assignation « ouverte ».
|
||||
|
||||
⚠️ Le FIFO est à la **journée** (palettes du même jour = même rang FIFO),
|
||||
avec l'**économie de mouvement** prioritaire sur le FIFO. Pas de FEFO.
|
||||
@@ -224,7 +301,7 @@ avec l'**économie de mouvement** prioritaire sur le FIFO. Pas de FEFO.
|
||||
possible **un canal dédié par route/STOP**.
|
||||
|
||||
⚠️ Le custom de défragmentation attend que toutes les palettes de picking
|
||||
soient terminées et retournées dans l'ASRS avant de lancer les relocs —
|
||||
soient terminées et retournées dans l'ASRS avant de lancer les relocs -
|
||||
c'est le développement clé du flux outbound.
|
||||
|
||||
## Historique des modifications
|
||||
@@ -234,6 +311,8 @@ c'est le développement clé du flux outbound.
|
||||
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
|
||||
| 2026-05-05 | Arthur | Enrichissement : 5 types OS, FIFO 24h, pas de FEFO, custom défrag, conso OF détaillé, messagerie carton |
|
||||
| 2026-05-06 | Arthur | Ajout classifications, paramètres ERP, ruptures production, quai recertif (CR consolidé) |
|
||||
| 2026-07-20 | Arthur | LIM-109 (lecture directe, attente déploiement test, revue validée 29/06) : section [CUSTOM] Lot obligatoire sur les lignes d'OS (subscription Preview `CST_OutboundOrderLineCreated_CheckLotRequired_PRE` → WF exception si lot vide, ressource `CST_OutboundOrderLineCreation_MissingLot`, refus total via TransactionalLineList) ; front matter jira_refs/sources/last_updated |
|
||||
| 2026-07-20 | Arthur | LIM-110 (lecture directe, pré-production, revue validée 03/07) : refonte section Quai recertification (assignation auto du quai à la création ET à l'édition d'un OS recertif, blocage du changement manuel via OutboundOrderVList, param `RECERTIFICATION_CODE_QUAI`, évolution vs V1 renseigné dans le SOR, exclusion LIM-94) + sous-section Stratégie d'assignation de stock RECERTIFICATION (supports complets uniquement, forcée, toujours désactivée, AllowPick=false, tag `[XXX]`, query `CST_StockAssignStrategyV2_Recertification`) ; table AD ; caveat param QUAI vs CLASSE |
|
||||
|
||||
## Références
|
||||
|
||||
@@ -242,3 +321,5 @@ c'est le développement clé du flux outbound.
|
||||
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
|
||||
| Expédition - LIMAGRAIN - DEV - Confluence | Page ateliers DEV | 2026 |
|
||||
| CR CONSOLIDES REU ERP LIMAGRAIN V1 | CR ateliers interfaçage | 23/02/2026 |
|
||||
| [LIM-109](https://easywmsfrance.atlassian.net/browse/LIM-109) | Ticket Jira (interdire lignes d'OS sans lot - attente déploiement test) | 2026 |
|
||||
| [LIM-110](https://easywmsfrance.atlassian.net/browse/LIM-110) | Ticket Jira (quai recertification auto + stratégie assignation stock - pré-production) | 2026 |
|
||||
|
||||
Reference in New Issue
Block a user