- 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
15 KiB
title, tags, status, standard_ref, jira_refs, confluence_refs, sources, last_updated, author
| title | tags | status | standard_ref | jira_refs | confluence_refs | sources | last_updated | author | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Contrôle qualité réception - Vérification poids PIE |
|
draft | architecture/galileo-integration.md |
|
|
2026-07-20 | Arthur |
Contrôle qualité réception - Vérification poids PIE
Résumé : mécanisme [CUSTOM] de contrôle de poids au passage PIE avec calcul de tolérance par type article, application automatique de verrous et mise à jour du poids unitaire.
Standard EasyWMS : → voir GALILEO Integration Ce qui suit documente les spécificités Limagrain par rapport au standard.
Contexte projet
Chez Limagrain, chaque passage au PIE déclenche une vérification de poids qui sert d'inventaire permanent par pesée. Ce mécanisme s'applique à tous les processus (réception production, extérieure, retour, picking, regroupement, échantillonnage).
Contrôles au PIE
Le PIE effectue les contrôles suivants :
| Contrôle | Critère de validation |
|---|---|
| Étiquette RFID | Connue (détectable) |
| Hauteur | ≤ 1900 mm |
| Largeur | ≤ 1100 mm |
| Longueur | ≤ 1300 mm |
| Poids | ≤ 1250 kg |
| État palette bois | Correct (lames TK ne doivent pas toucher le bois, pas de ski manquant) |
Les erreurs sont configurables par type dans easyS - possibilité d'envoyer vers différentes destinations selon le type d'erreur (station error type). Exemple : scotch qui dépasse → station de reconditionnement, palette vraiment non conforme → rejet complet.
Formule de calcul du poids
Étape 1 - Poids des lignes de stock
Poids lignes de stock = Poids total mesuré − Poids théorique support (PALETTE_US)
Étape 2 - Répartition au prorata entre lignes de stock
Le poids mesuré est réparti au prorata entre les différentes lignes de stock.
Source du poids théorique (par ordre de priorité) : ancienne pesée (champ « Poids » de la ligne de stock), puis poids conversion ITM (champ « Poids théorique » de la ligne de stock).
Formules :
Ratio = Poids théorique de la ligne / Poids théorique total de toutes les lignes
Poids réel de la ligne = Poids lignes de stock × Ratio
Exemple : 5 lignes d'article A (ITM = 2 kg), 1 ligne d'article B (ITM = 40 kg). Poids théorique total = (5 × 2) + (1 × 40) = 50 kg. Poids mesuré au PIE = 60 kg (hors palette bois).
| Article | Poids théorique | Ratio | Poids réel calculé |
|---|---|---|---|
| A (× 5) | 2 kg (ITM) | 20 % | 2,4 kg par ligne |
| B (× 1) | 40 kg (ITM) | 80 % | 48 kg |
| Total | 50 kg | 100 % | 60 kg |
Étape 3 - Mise à jour du poids unitaire (CstAtt01)
Le CstAtt01 de chaque ligne de stock est mis à jour avec le poids unitaire mesuré :
Poids unitaire mesuré = Poids réel de la ligne / Quantité de la ligne
| Donnée | Champ WMS |
|---|---|
| Poids unitaire mesuré | CstAtt01 de la ligne de stock |
| Poids réel pesé (total) | Champ standard « poids balance » du support |
| Poids réel de la ligne | Champ « Poids réel » de la ligne de stock |
Priorité CstAtt01 (répartition uniquement) : si CstAtt01 a déjà une valeur (pesée précédente), c'est ce poids unitaire qui est utilisé pour la répartition au prorata (étape 2), à la place du poids ITM.
⚠️ Mise à jour 19/06/2026 : cette priorité ne s'applique plus au seuil de tolérance. La détection d'écart utilise désormais toujours le poids ITM théorique (voir section suivante). L'idée d'utiliser CstAtt01 comme seuil (validée client en mai 2026) a été abandonnée : une pesée très erronée fixerait un CstAtt01 aberrant qui fausserait le seuil des passages suivants.
Mise à jour du stock : OUI - le poids calculé est stocké dans CstAtt01 de la ligne de stock. Mise à jour de l'ITM : NON - le poids théorique de la fiche article reste inchangé. Raison : le poids varie en fonction de la production (début/fin de prod), chaque pesée est unique.
Le poids est quand même appliqué et recalculé, même en cas de blocage (verrou).
Vérification de la tolérance et blocage
Ref. LIM-66 - en cours de test client (pré-production).
Poids de référence pour le seuil de tolérance
⚠️ Décision finale (19/06/2026) : le seuil de tolérance utilise toujours le poids unitaire ITM théorique (conversion article), quel que soit l'état de CstAtt01.
| Situation | Poids de référence pour le seuil |
|---|---|
| Premier passage PIE et passages suivants | Poids ITM (conversion article) |
Historique de la décision : une première approche (mai 2026, validée client) prévoyait un seuil dynamique basé sur CstAtt01 (dernier poids mesuré) si renseigné, sinon ITM. Elle a été abandonnée le 19/06/2026 : si une pesée très erronée fixe un CstAtt01 aberrant, comparer les pesées suivantes à ce seuil fausserait la détection. Le seuil est donc revenu au poids théorique ITM, stable et fiable.
Note
: CstAtt01 reste calculé et mis à jour à chaque pesée (étape 3) et sert à la répartition au prorata, mais plus au seuil de tolérance.
[CUSTOM] Palettes mono-référence
Condition de blocage : si l'écart de poids correspond à un écart d'une ligne de stock (article manquant ou en trop → écart ≥ poids unitaire ITM de l'article) → blocage via verrou sur le support (pas sur le stock).
[CUSTOM] Palettes multi-références - seuil d'alerte
Pour les palettes contenant plusieurs articles différents, le système utilise le plus petit poids unitaire ITM parmi toutes les lignes de stock comme seuil d'alerte. Si l'écart total ≥ ce plus petit poids → blocage.
Verrous appliqués
Deux verrous possibles selon le flux :
| Verrou | Flux | Comportement post-PIE |
|---|---|---|
| HORS TOLERANCE | Tous sauf retour client | La palette entre quand même dans l'ASRS malgré le verrou |
| ECART RETOUR | Retour client uniquement | La palette est refusée et envoyée en rejet (destination gérée par EasyS) |
Gestion de l'erreur
- La notification SmartUI custom envisagée initialement a été
abandonnée (barrée dans la spec). Le custom
PIE_EventHandler_CheckToleranceWeight_PRredirige vers l'erreur de poids standard EasyWMS en cas de dépassement de tolérance. - Le verrou est posé sur le support (pas sur le stock)
- Le flux de rejet PIE (toutes causes : dimension, poids, étiquette, palette bois), avec renvoi au poste de travail d'origine, est documenté dans Flux de rejet PIE (LIM-114). Il remplace l'approche « poumon au sol + notification SmartUI ».
Comportement selon le flux (détail)
| Processus | Verrou appliqué | Action |
|---|---|---|
| Réception production | HORS TOLERANCE | Stockage ASRS avec verrou |
| Réception extérieure/intersite | HORS TOLERANCE | Stockage ASRS avec verrou |
| Retour client (InboundType=1) | ECART RETOUR | Rejet (pas de stockage ASRS) |
| Picking | HORS TOLERANCE | Stockage avec verrou, recomptage sur poste |
| Regroupement | HORS TOLERANCE | Stockage avec verrou, recomptage sur poste |
| Échantillonnage | HORS TOLERANCE | Stockage avec verrou, recomptage sur poste |
Dans tous les cas, le poids est quand même appliqué et recalculé.
[CUSTOM] Type ZSIZ - Ajustement automatique
Si le type d'article est ZSIZ (semi-fini calibré / big-bag), un message d'ajustement de stock est envoyé vers SAP via WSC contenant le poids réel de la HU, indépendamment de la tolérance.
Gestion du timing avec le REF :
- Problématique : au moment du PIE, l'ERP ne connaît peut-être pas encore la palette (REF pas encore envoyé)
- Solution : chaque palette présente dans un REF est flaguée dans le WMS. Si palette connue de l'ERP → transaction d'écart de poids immédiate. Si palette inconnue → flag de l'écart, puis à l'envoi du REF, un event déclenche la transaction
- Le flag d'écart de poids est inclus dans le fichier LOC envoyé à SAP
[SIMULATION] Poids théorique en l'absence de poids Galileo (LIM-108)
Statut (LIM-108) : en cours de test client (pré-production). Mode de fonctionnement temporaire pour la simulation.
Lors du passage au PIE, le poids n'est pas toujours descendu dans l'event Galileo si la palette n'est pas créée au PIE (simple passage par la station). Dans ce cas, un mode simulation permet de récupérer le poids théorique du conteneur et de l'utiliser à la place du poids de l'event Galileo.
Ce mode est gouverné par le toggle CST_SimulatePIEScale (voir
Paramètres projet - Toggles) :
quand il est actif, le WMS vérifie si l'event PIE porte un poids ; sinon il
substitue le poids théorique du conteneur. Sans poids récupéré, les règles
de poids (formule, tolérance) s'appliquent
ensuite normalement.
Implémentation technique (AD customs)
| Élément AD | Type | Rôle |
|---|---|---|
CST_PIE_ApplyWeightRules_PR |
Workflow | Applique les contrôles et opérations liés au poids au passage PIE. Corrigé (LIM-108, Maxime 18/06/2026) suite à un changement de version. |
PIE_EventHandler_CheckInvalidWeightWithScale_PR |
Workflow | [SIMULATION, LIM-108] Si CST_SimulatePIEScale actif : vérifie si l'event porte un poids ; sinon récupère le poids théorique du conteneur et l'utilise. |
PIE_EventHandler_CheckToleranceWeight_PR |
Workflow | Contrôle de tolérance ; redirige vers l'erreur de poids standard en cas de dépassement |
CST_SimulatePIEScale |
Toggle | [SIMULATION, LIM-108] Active la simulation du poids d'event PIE. |
CST_StockView |
Entité | Affiche le CstAtt01 avec le bon type décimal |
CST_Stocks_ForView |
Query | Query de l'entité CST_StockView |
StockVList |
View | Affichage du CstAtt01 (poids unitaire mesuré) |
Gestion des verrous
Consultation
Vue « Entrepôt → Verrous conteneur » :
- Verrou appliqué par conteneur
- Date d'application
- Possibilité de débloquer (lever le verrou)
Impact sur l'expédition
Un verrou empêchant l'expédition bloque l'assignation du stock à un ordre de sortie. Le verrou « Réception » déclenche un recomptage obligatoire avant tout processus suivant (picking, regroupement, échantillonnage).
[CUSTOM] Dérogation poids
Pour les processus de regroupement et échantillonnage, si la palette a un excédent de poids non corrigeable, l'opérateur peut depuis son poste de travail autoriser la palette à passer le PIE même si hors tolérance.
Post-traitements
- Réception production : ASO et ASK désactivés
- Les messages post-PIE ne sont pas générés pour le flux production
Points d'attention
⚠️ Le contrôle poids s'applique à chaque passage PIE - une palette peut passer le PIE plusieurs fois (réception → picking → restockage).
⚠️ Le poids est porté par le stock (CstAtt01 de la ligne), pas par la fiche article ITM - chaque pesée est unique.
⚠️ Les palettes avec verrou « Réception » sont prioritaires dans l'assignation de stock pour l'échantillonnage (permet de combiner recomptage + échantillonnage).
⚠️ Verrou posé sur le support (pas sur le stock) - différent du comportement standard.
⚠️ Pour les palettes multi-références, le seuil d'alerte est le plus petit poids unitaire ITM parmi toutes les lignes de stock.
⚠️ Le seuil de tolérance est basé sur le poids ITM théorique (fixe), pas sur CstAtt01 (décision 19/06/2026). CstAtt01 sert uniquement à la répartition au prorata et à l'inventaire par pesée, et n'influence plus la détection d'écart.
⚠️ [SIMULATION, LIM-108] Le repli sur le poids théorique du conteneur
(toggle CST_SimulatePIEScale) est un mode temporaire de simulation :
il ne doit pas rester actif quand les palettes sont réellement créées et
pesées au PIE.
Questions ouvertes
- Résolu (19/06/2026) - Tolérances : le seuil est finalement basé sur le poids ITM théorique (fixe). L'approche dynamique CstAtt01 > ITM (validée client mai 2026) a été abandonnée.
- Ouvert - Envoi d'un STV ou non lors de l'ajustement de stock pour mettre à jour le poids (@Vincent)
- Ouvert - Valeur du poids palette bois fixe (PALETTE_US) (@Théo)
- Ouvert - Poids variable : vérifier si le standard gère la capture de poids avec poids moyen activé (@Nicolas)
Historique des modifications
| Date | Auteur | Modification |
|---|---|---|
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
| 2026-05-05 | Arthur | Enrichissement : prorata, multi-ref, verrou support, ZSIZ timing |
| 2026-05-12 | Arthur | LIM-66 : verrous HORS TOLERANCE / ECART RETOUR, CstAtt01 poids unitaire, comportement post-PIE |
| 2026-05-13 | Arthur | Clarification tolérance CstAtt01 > ITM pour passages PIE successifs (validation client) |
| 2026-07-16 | Arthur | LIM-66 : abandon du seuil CstAtt01 → retour au poids ITM théorique (décision 19/06) ; notification SmartUI abandonnée (redirection erreur standard) ; ajout éléments AD ; statut pré-production ; point ouvert STV ; rejet ECART RETOUR → LIM-114 |
| 2026-07-20 | Arthur | LIM-108 (lecture directe, pré-production) : section [SIMULATION] repli sur poids théorique du conteneur quand l'event Galileo PIE ne porte pas de poids (palette non créée au PIE), toggle CST_SimulatePIEScale, WF PIE_EventHandler_CheckInvalidWeightWithScale_PR ; note correction CST_PIE_ApplyWeightRules_PR (changement de version) ; point d'attention mode temporaire ; front matter jira_refs/sources/last_updated |
Références
| Source | Type | Date |
|---|---|---|
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
| Réception - LIMAGRAIN - DEV - Confluence | Page ateliers DEV | 2026 |
| LIM-66 | Ticket Jira (PIE poids/verrous - pré-production) | 2026 |
| LIM-108 | Ticket Jira (simulation poids PIE - pré-production) | 2026 |
| LIM-114 | Ticket Jira (flux de rejet PIE) | 2026 |
| Échange Justine BEUTIN / Olivier (Limagrain) | Validation client (approche mai 2026, révisée 19/06) | mai 2026 |