--- title: "Contrôle qualité réception — Vérification poids PIE" tags: [inbound, PIE, poids, verrou, inventaire, qualité] status: draft standard_ref: architecture/galileo-integration.md jira_refs: [LIM-66] confluence_refs: [] sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Réception - LIMAGRAIN - DEV - Confluence.md", LIM-66_Passage_PIE.md] last_updated: 2026-05-12 author: 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](../../architecture/galileo-integration.md) > 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** : si CstAtt01 a déjà une valeur (pesée > précédente), c'est ce poids unitaire qui est utilisé dans les calculs > de ratio à l'étape 2 — à la place du poids théorique ITM. > **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](https://easywmsfrance.atlassian.net/browse/LIM-66) — en revue de code. ### [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 de l'article) → blocage via verrou sur le **support** (pas sur le stock) + alerte SmartUI. ### [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** comme seuil d'alerte. Si l'écart total ≥ poids du plus petit article → blocage + alerte. ### 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) | ### Notification - Création d'une **notification SmartUI** via le circuit classique de notifications basé sur un event (pas d'event custom) - Le verrou est posé sur le **support** (pas sur le stock) - Notification dédiée au rejet générée dans le cas ECART RETOUR ### 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 ## 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 parmi toutes les lignes de stock. ## Questions ouvertes - [ ] Valeurs exactes des tolérances par type article (@Justine) - [ ] Valeur du poids palette bois fixe (PALETTE_US) (@Théo) - [ ] 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 | ## 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](https://easywmsfrance.atlassian.net/browse/LIM-66) | Ticket Jira | 2026 |