7496aafe64
- 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
326 lines
16 KiB
Markdown
326 lines
16 KiB
Markdown
---
|
|
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: [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", "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
|
|
|
|
> **Résumé** : 4 types d'ordres de sortie chez Limagrain, avec des
|
|
> comportements de libération, d'assignation et de préparation distincts.
|
|
|
|
> **Standard EasyWMS** : → voir [Order Outbound](../../concepts/order-outbound.md)
|
|
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.
|
|
|
|
## Contexte projet
|
|
|
|
L'expédition chez Limagrain couvre des flux variés : commandes clients
|
|
(palettes et messagerie), approvisionnement production (OF), et
|
|
re-certification. Le message d'entrée diffère selon le type.
|
|
|
|
## Types d'ordres de sortie
|
|
|
|
| Type | Message ERP | Passage poste travail | Destination |
|
|
|------|-------------|----------------------|-------------|
|
|
| Commande client | RUT « Client » | Si picking nécessaire | Image de quai |
|
|
| Messagerie palette | RUT « Client » | Si picking nécessaire | Image de quai |
|
|
| Conso OF hors recertification | SOR « Production » | Non | Image de quai direct |
|
|
| Conso OF avec recertification | SOR « Recertification » | Oui | Route virtuelle → réception ASN |
|
|
| Messagerie carton | RUT « Messagerie » | Oui | Emplacement au sol dédié |
|
|
|
|
## Classification (OutboundClassCode)
|
|
|
|
| OutboundClassCode | Usage | AccountCode |
|
|
|-------------------|-------|-------------|
|
|
| PRODUCTION | Flux vers l'ancien magasin / M2I | PRODUCTION |
|
|
| RECERTIFICATION | Flux vers postes de travail SRS | PRODUCTION |
|
|
| CLIENT | Commandes clients | CLIENT |
|
|
|
|
## Structure RUT / SOR
|
|
|
|
- **RUT** = image camion, peut contenir **plusieurs OS** (même camion).
|
|
Un seul message contenant : Route → SorList → Lignes (pas de fichiers
|
|
RUT + SOR séparés)
|
|
- **SOR** = commande de sortie de marchandise (1 ou plusieurs palettes)
|
|
- 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 |
|
|
|-----------|--------|-------------|
|
|
| OutboundType | 0 (Customer) | Même pour production |
|
|
| Priorité par défaut | 3 (Basse) | Échelle : 0=Urgente → 4=Très basse |
|
|
| AutoReleaseDate | PlannedShippingDate - 48h | Si < 48h → date passée = libération immédiate |
|
|
| TransactionalLineList | true | Tout ou rien (refus total si erreur) |
|
|
| 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 | - |
|
|
|
|
## Gestion des ruptures SOR Production
|
|
|
|
SAP ne connaît pas la répartition stock entre ASRS et autres entrepôts.
|
|
Beaucoup de lignes seront en rupture (affichage rouge = **normal et attendu**).
|
|
Le WMS prépare ce qu'il peut, SAP supprime le résiduel 3-4 jours plus tard
|
|
via un DELETE complet du SOR.
|
|
|
|
Pas de SOF en phase 1 pour la production. Détection des manquants = mode
|
|
manuel.
|
|
|
|
## Quai recertification
|
|
|
|
> **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
|
|
|
|
### Libération automatique (mode principal)
|
|
|
|
La date/heure de libération est descendue dans l'interface SOR ou RUT.
|
|
EasyWMS vérifie périodiquement et libère quand la date est atteinte.
|
|
|
|
Séquence :
|
|
|
|
1. Vérification date → date atteinte
|
|
2. Statut → « Libéré »
|
|
3. Assignation stock par ligne
|
|
4. Génération tâches expédition/prélèvement
|
|
5. Statut → « En préparation » ou « En rupture de stock »
|
|
|
|
### Libération manuelle
|
|
|
|
Depuis l'écran « Ordres de sortie » → sélection → « Libérer ». Possible
|
|
uniquement si statut « En attente », « En préparation » ou « En rupture ».
|
|
|
|
### Priorité
|
|
|
|
- Priorité définie à la création (dans le SOR/RUT)
|
|
- Modifiable dans EasyWMS avant libération (si libération manuelle)
|
|
- Par défaut : ordre de réception (FIFO de création)
|
|
|
|
## Assignation de stock
|
|
|
|
### Sélection du stock valide
|
|
|
|
Filtres appliqués :
|
|
|
|
1. Article (lot SAP) + attributs logistiques (article Limagrain, propriétaire
|
|
Limagrain, statut de stock) correspondent à la ligne demandée
|
|
2. Stock **et** conteneur sans verrou empêchant l'expédition
|
|
3. Stock pas dans une allée bloquée
|
|
4. Emplacement sans erreur d'extraction/dépose
|
|
5. Stock non déjà assigné à un autre OS
|
|
6. Stock sans tâche d'un autre processus
|
|
|
|
### Stratégie d'assignation
|
|
|
|
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**
|
|
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
|
|
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)
|
|
|
|
> ⚠️ **Attention unités** : certains semi-finis calibrés (ZSIZ) sont gérés
|
|
> en kilos, d'autres en big bags. Vérifier que la quantité complète est
|
|
> cohérente avec l'unité de réception. À valider avec le client.
|
|
|
|
## Comportement post-assignation par type
|
|
|
|
### Commande client / Messagerie palette
|
|
|
|
- Palettes complètes / picking terminées → [CUSTOM] tâche de
|
|
**défragmentation** vers zone de stockage d'expédition dans l'ASRS.
|
|
Ne se déclenche que si **toutes** les palettes clientes sont « terminées »
|
|
(palettes de picking retournées dans l'ASRS) ET qu'aucun quai n'est
|
|
associé à l'OS.
|
|
- Palettes picking → **pas de tâche** tant qu'un poste de travail n'est
|
|
pas assigné
|
|
- Voir [Zones stockage](../02-stockage/zones-stockage.md)
|
|
|
|
> **Explication du CUSTOM défrag** : en standard, le mode « Expédition
|
|
> uniquement » ne reloc pas les palettes de picking (ordonnancement STOP
|
|
> faux). Le mode « Picking et expédition » reloc toutes les palettes y
|
|
> compris celles à picker, ce qui casse l'ordonnancement quand on les
|
|
> ressort. Le custom attend que toutes les palettes de picking soient
|
|
> pickées et rangées dans l'ASRS avant de lancer les relocs par STOP.
|
|
|
|
> **Note** : si un quai est déjà assigné et l'OS libéré, le WMS peut
|
|
> sortir les palettes dans le bon ordre des STOP sans défragmentation
|
|
> préalable, via de la reloc standard.
|
|
|
|
### Consommation OF hors recertification
|
|
|
|
- `AllowAssignStockExcess` à `true` dans la SOR.Line
|
|
- [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
|
|
poste de travail
|
|
- Ruptures de stock ne bloquent pas l'expédition. Le client utilise
|
|
`isCritical` / `isRequired` au niveau SOR.Line si besoin.
|
|
- Voir [Flux spécifiques expédition](flux-expedition.md#consommation-of-hors-recertification)
|
|
|
|
### Consommation OF avec recertification
|
|
|
|
- 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
|
|
[Re-certification](flux-expedition.md#re-certification)
|
|
|
|
### Messagerie carton
|
|
|
|
- Stock assigné mais aucune tâche tant que poste non assigné
|
|
- 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
|
|
- [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)
|
|
|
|
## Gestion des reliquats
|
|
|
|
Si stock insuffisant pour une ligne :
|
|
|
|
- Ligne → statut « rupture de stock » (affichage rouge)
|
|
- Reste de la commande peut être expédié (expédition partielle)
|
|
- Clôture manuelle de la commande obligatoire
|
|
- Si stock redevient disponible avant clôture → peut être préparé
|
|
|
|
## Création manuelle d'OS
|
|
|
|
Possible depuis EasyWMS avec choix de destination :
|
|
|
|
- Table de préparation sur un poste de travail
|
|
- Image de quai
|
|
|
|
## Points d'attention
|
|
|
|
⚠️ 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 ».
|
|
|
|
⚠️ 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.
|
|
|
|
⚠️ Les palettes d'expédition sont stockées dans la zone défrag avec si
|
|
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 -
|
|
c'est le développement clé du flux outbound.
|
|
|
|
## Historique des modifications
|
|
|
|
| Date | Auteur | Modification |
|
|
|------|--------|--------------|
|
|
| 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
|
|
|
|
| Source | Type | Date |
|
|
|--------|------|------|
|
|
| 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 |
|