Files
mcp-wms-wiki/wiki/limagrain/01-inbound/controle-qualite-reception.md
T
arthur 7496aafe64 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
2026-07-20 12:56:42 +02:00

15 KiB
Raw Blame History

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
inbound
PIE
poids
verrou
inventaire
qualité
draft architecture/galileo-integration.md
LIM-66
LIM-108
LIM-114
FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx
Réception - LIMAGRAIN - DEV - Confluence.md
LIM-66_Passage_PIE.md
wiki-update-poids-PIE-tolerance.md
Jira LIM-108 (lecture directe 2026-07-20)
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_PR redirige 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