269 lines
11 KiB
Markdown
269 lines
11 KiB
Markdown
---
|
||
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, wiki-update-poids-PIE-tolerance.md]
|
||
last_updated: 2026-05-13
|
||
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é comme référence
|
||
> pour **tous les calculs du passage PIE** — ratio (étape 2) **et**
|
||
> seuil de tolérance (vérification ci-dessous) — à 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.
|
||
|
||
### Poids de référence pour le seuil de tolérance
|
||
|
||
Le "poids unitaire de l'article" utilisé comme seuil de tolérance suit
|
||
la même règle de priorité que le ratio :
|
||
|
||
| Situation | Poids de référence utilisé |
|
||
|-----------|---------------------------|
|
||
| CstAtt01 renseigné (pesée précédente) | **CstAtt01** (poids unitaire mesuré) |
|
||
| CstAtt01 vide (premier passage PIE) | **Poids ITM** (conversion article) |
|
||
|
||
**Conséquence sur les passages successifs** : après un premier passage
|
||
PIE qui recalibre le poids unitaire (ex. ITM = 10 kg, mesuré = 30 kg),
|
||
le seuil de tolérance au passage suivant sera basé sur 30 kg (CstAtt01).
|
||
Un écart de 20 kg (2 unités au poids ITM d'origine) ne déclenchera pas
|
||
de blocage car il reste inférieur à 1 unité au poids recalibré (30 kg).
|
||
|
||
> Validé par le client (échange Justine BEUTIN / Olivier, mai 2026).
|
||
|
||
### [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 référence, cf. tableau ci-dessus) → 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 de référence** (CstAtt01 si
|
||
renseigné, sinon ITM, par ligne) comme seuil d'alerte. Si l'écart
|
||
total ≥ ce plus petit poids → 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.
|
||
|
||
⚠️ Après un passage PIE qui recalibre fortement le poids (ex. ITM
|
||
10 kg → CstAtt01 30 kg), le seuil de tolérance au passage suivant
|
||
est proportionnellement plus large. C'est le comportement attendu :
|
||
chaque pesée fait foi pour la suivante.
|
||
|
||
## Questions ouvertes
|
||
|
||
- [x] Tolérances : le seuil est dynamique (CstAtt01 > ITM), validé par
|
||
le client (mai 2026). Pas de valeur fixe par type article.
|
||
- [ ] 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 |
|
||
| 2026-05-13 | Arthur | Clarification tolérance CstAtt01 > ITM pour passages PIE successifs (validation client) |
|
||
|
||
## 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 |
|
||
| Échange Justine BEUTIN / Olivier (Limagrain) | Validation client | mai 2026 |
|