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
241 lines
11 KiB
Markdown
241 lines
11 KiB
Markdown
---
|
||
title: "Échantillonnage - Processus de contrôle qualité"
|
||
tags: [picking, échantillonnage, inventaire, qualité, poste, custom, cor, cof]
|
||
status: draft
|
||
standard_ref: concepts/count.md
|
||
jira_refs: [LIM-107, LIM-112]
|
||
confluence_refs: []
|
||
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Jira LIM-107 (lecture directe 2026-07-20)", "Jira LIM-112 (lecture directe 2026-07-20)"]
|
||
last_updated: 2026-07-20
|
||
author: Arthur
|
||
---
|
||
|
||
# Échantillonnage - Processus de contrôle qualité
|
||
|
||
> **Résumé** : processus [CUSTOM] d'échantillonnage pour contrôle qualité,
|
||
> assimilé à un inventaire dans EasyWMS, avec prélèvement sur poste de travail.
|
||
|
||
> **Standard EasyWMS** : → voir [Inventory](../../concepts/count.md)
|
||
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.
|
||
|
||
> **Statut (LIM-112)** : Ouvert. Cette page décrit le **flux complet**
|
||
> (message COR → ordre d'inventaire → assignation stock/poste → process
|
||
> opérateur → COF). Le **contenu de l'étiquette** relève de LIM-107 (cette
|
||
> tâche ne fait que déclencher l'impression au poste).
|
||
|
||
## Contexte projet
|
||
|
||
L'échantillonnage sert au contrôle qualité sur une partie des lots
|
||
produits. Il consiste à prélever environ 200 grammes dans une partie du
|
||
stock sélectionné. Le prélèvement est ensuite analysé pour valider la
|
||
qualité du produit fini.
|
||
|
||
Dans EasyWMS, ce processus est assimilé à un **inventaire** (ordre
|
||
d'inventaire).
|
||
|
||
## Création de l'ordre d'échantillonnage
|
||
|
||
Deux modes de création :
|
||
|
||
| Mode | Origine | Détail |
|
||
|------|---------|--------|
|
||
| Interface ERP | Message **COR** | Spécifie un lot à échantillonner |
|
||
| Manuel | Interface EasyWMS | Choix d'un lot par l'opérateur |
|
||
|
||
L'ordre d'inventaire est créé avec une **priorité 3 (basse)**.
|
||
|
||
[CUSTOM] Un champ texte libre est disponible pour des **consignes**
|
||
rattachées à l'ordre (porté par `CstAtt02` de la ligne d'inventaire - voir
|
||
[AD Customs](../07-admin/ad-customs.md#cstatt-ligne-dordre-dinventaire)).
|
||
|
||
### Mapping du message COR (SAP → WMS)
|
||
|
||
| Balise | Valeur |
|
||
|--------|--------|
|
||
| `Code` | Numéro du lot d'inspection SAP |
|
||
| `Description` | `ECHANTILLONNAGE` (déclencheur de création de l'ordre) |
|
||
| `Priority` | 3 (basse) |
|
||
| `CstAtt01` | Nombre de palettes à inventorier (toujours 4 d'après SAP) |
|
||
| `CstAtt02` | Texte libre de consignes rattaché à l'ordre |
|
||
| `ProductCode` | Code **lot** SAP |
|
||
| `LotCode` | Code **produit** SAP |
|
||
| `Color` / `Source` / `Size` | Propriétaire réel SAP / Description produit / Destination (pays) |
|
||
|
||
> ⚠️ Mapping **inversé** `ProductCode` / `LotCode` : côté SAP,
|
||
> `ProductCode` porte le code **lot** et `LotCode` le code **produit**.
|
||
|
||
## [CUSTOM] Assignation du stock
|
||
|
||
L'assignation diffère selon le mode de création :
|
||
|
||
### Création par interface ERP
|
||
|
||
- Maximum **`CstAtt01` palettes** échantillonnées (valeur du COR, toujours
|
||
4 d'après SAP) ; moins si le stock total n'atteint pas `CstAtt01`.
|
||
- [CUSTOM] Les palettes avec un verrou d'écart de poids (« Production »)
|
||
sont **prioritaires** (vérification simultanée au recomptage).
|
||
- **Prérequis** de chaque palette assignée : allée non bloquée, palette
|
||
rangée, non client, aucune tâche associée au support.
|
||
- **Ordre de sélection** (`OrderByDesc`) : palette bloquée d'abord, puis
|
||
par profondeur (la **moins profonde** en premier).
|
||
|
||
### Création manuelle
|
||
|
||
- Nombre de palettes choisi par l'opérateur (input custom). `CstAtt01` est
|
||
saisissable/éditable après la création de l'inventaire manuel, mais
|
||
**plus une fois l'inventaire lancé**.
|
||
|
||
> **Règle transverse** : un article en cours d'échantillonnage **n'est plus
|
||
> disponible** pour les ordres de sortie (comportement standard d'un
|
||
> inventaire).
|
||
|
||
## Assignation poste de travail
|
||
|
||
- Automatique, à condition que le poste soit ouvert et autorise le
|
||
mode « échantillonnage » (= mode **Inventaire** EasyWMS).
|
||
- L'orchestration passe par le **Mega Job d'assignation PK** (LIM-70), qui
|
||
appelle un sous-workflow dédié (développé dans LIM-112) pour trouver et
|
||
assigner le bon PK. Si le support est un **Big-bag**, sélection d'un PK
|
||
qui l'autorise. Voir
|
||
[Mini jobs d'assignation au PK](job-assignation-pk.md).
|
||
- Si aucun poste paramétré en mode échantillonnage → tâches en attente.
|
||
- Une fois le poste assigné → création des tâches de mouvement.
|
||
|
||
## Processus sur poste de travail
|
||
|
||
```mermaid
|
||
flowchart TD
|
||
ORDRE[Ordre échantillonnage] --> ASSIGN[Assignation stock]
|
||
ASSIGN --> POSTE[Assignation poste auto]
|
||
POSTE --> TACHE[Tâches mouvement créées]
|
||
TACHE --> ARRIVE[Palette arrive sur TP]
|
||
ARRIVE --> VERROU{Verrou « Réception » ?}
|
||
VERROU -->|Oui| RECOUNT[Recomptage]
|
||
VERROU -->|Non| PRELEV[Prélèvement ~200g]
|
||
RECOUNT --> PRELEV
|
||
PRELEV --> ETIQ[Impression étiquette échantillonnage]
|
||
ETIQ --> SCOTCH[Scotch sac ouvert]
|
||
SCOTCH --> FILM[Choix filmage]
|
||
FILM --> EVAC[Évacuation → PIE → stockage]
|
||
EVAC --> NEXT{Palette suivante ?}
|
||
NEXT -->|Oui| ARRIVE
|
||
NEXT -->|Non| FIN[Fin ordre]
|
||
```
|
||
|
||
Les 3 tables de préparation peuvent être occupées simultanément.
|
||
Le processus est démarré et effectué sur **une seule palette à la fois**.
|
||
|
||
### Séquence opérateur
|
||
|
||
1. [CUSTOM] Si verrou « Réception » → recomptage avant échantillonnage
|
||
(à développer en **standalone**, car réutilisé dans plusieurs process)
|
||
2. Prendre une pochette d'échantillonnage vide (hors EasyWMS)
|
||
3. Effectuer un prélèvement dans un des sacs (~200g, hors EasyWMS)
|
||
4. Déposer le prélèvement dans la pochette (hors EasyWMS)
|
||
5. Éditer et imprimer une **étiquette d'échantillonnage** (LIM-107)
|
||
6. Coller l'étiquette sur la pochette (hors EasyWMS)
|
||
7. Scotcher le sac ouvert sur la palette (hors EasyWMS)
|
||
8. [CUSTOM] Choix du programme de filmage depuis une vue spécifique
|
||
9. **Valider la ligne d'inventaire**
|
||
10. Évacuer la palette vers le stockage : l'AGV déplace le conteneur du
|
||
poste vers la table d'entrée ; la palette est filmée ou non avant de
|
||
passer le PIE
|
||
|
||
## Étiquette d'échantillonnage (LIM-107)
|
||
|
||
> **Statut (LIM-107)** : en revue de code.
|
||
|
||
L'étiquette d'échantillonnage (étape 5 ci-dessus) est imprimée au **format
|
||
A5** sur l'**étiqueteuse du poste de travail** (et non sur les étiqueteuses
|
||
automatiques d'expédition), via le **flux inventaire COR/COF** (report
|
||
`CST_RPT_ECHANTILLONAGE`). Voir aussi
|
||
[Flux expédition - Étiquettes par type](../04-outbound/flux-expedition.md#contenu-des-étiquettes-dexpédition-par-type-lim-107).
|
||
|
||
Contenu de l'étiquette :
|
||
|
||
| # | Champ |
|
||
|---|-------|
|
||
| 1 | `ITM.CstAtt01` |
|
||
| 2 | `ITM.CstAtt03` |
|
||
| 3 | `ITM.CstAtt07` |
|
||
| 4 | `ITM.CstAtt08` |
|
||
| 5 | `ITM` - Famille de l'article |
|
||
| 6 | `ProductCode` de la ligne d'inventaire |
|
||
| 7 | `ITM.CstAtt10` |
|
||
| 8 | `Stock` - Attribut taille |
|
||
| 9 | « `_ / _` » laissé vide (complété au stylo par l'opérateur) |
|
||
| 10 | `ITM` - Premier alias différent du code article |
|
||
| 11 | `COR.Code` encodé en 128 |
|
||
| 12 | `COR.Code` |
|
||
|
||
## Passage PIE post-échantillonnage
|
||
|
||
Contrôle identique aux autres processus :
|
||
|
||
- Dimensions max : 1300 × 1100 × 1900 mm
|
||
- Poids max : 1250 kg
|
||
- Étiquette RFID connue
|
||
- État palette bois correct
|
||
|
||
[CUSTOM] Poids de référence recalculé + vérification avec tolérance
|
||
(voir [Contrôle qualité réception](../01-inbound/controle-qualite-reception.md)).
|
||
|
||
Si PIE NOK → rejet vers poste d'origine. Possibilité de forcer le
|
||
passage en cas d'excédent de poids non corrigeable.
|
||
|
||
## Clôture et émission du COF (LIM-112)
|
||
|
||
À la clôture de l'ordre d'inventaire (ou en cas d'**annulation**), le WMS
|
||
émet le message **COF** (WMS → SAP) :
|
||
|
||
| Balise | Description |
|
||
|--------|-------------|
|
||
| `CountCode` | Numéro du lot d'inspection |
|
||
| `Status` | `Closed` (effectué) ou `Cancelled` (annulé) |
|
||
| `UpdateDate` | Date/heure du changement d'état |
|
||
|
||
Le traitement du COF côté SAP est **hors périmètre** (équipes IT Limagrain).
|
||
|
||
## Points d'attention
|
||
|
||
⚠️ L'échantillonnage est un processus d'**inventaire** dans EasyWMS,
|
||
pas un processus de picking - important pour le paramétrage des modes
|
||
de poste.
|
||
|
||
⚠️ Les palettes avec verrou « Production » (écart poids) sont traitées
|
||
en priorité pour optimiser le recomptage.
|
||
|
||
⚠️ La quantité prélevée (~200g) n'est pas déduite du stock dans EasyWMS
|
||
(négligeable par rapport au poids total).
|
||
|
||
⚠️ Des **big-bags** peuvent être présents dans ce process (LIM-112) → le
|
||
poste assigné doit autoriser les big-bags.
|
||
|
||
## Questions ouvertes
|
||
|
||
- [x] ~~Le prélèvement de 200g est-il déduit du stock ou négligé ? (@Nicolas)~~ → **Résolu** (LIM-112) : négligé, non déduit du stock
|
||
- ❓ Programme de filmage exact (@Théo)
|
||
- [x] ~~Format de l'étiquette d'échantillonnage - validé ? (@Justine)~~ → Résolu (LIM-107) : format **A5**, contenu défini (12 champs), report `CST_RPT_ECHANTILLONAGE`, imprimé sur l'étiqueteuse du poste de travail
|
||
- Consignes d'échantillonnage : le mapping COR porte les consignes sur
|
||
`CstAtt02`, mais le commentaire du ticket évoque `CstAtt01` → point à
|
||
confirmer avec le client (mail à faire, @Arthur)
|
||
- Dépendance `CstAtt10` (Stage) côté ITM : requis pour l'étiquette
|
||
d'échantillonnage (LIM-107) ; à vérifier en préprod (@Nicolas) → voir
|
||
[Questions ouvertes](../08-transverse/questions-ouvertes.md)
|
||
|
||
## Historique des modifications
|
||
|
||
| Date | Auteur | Modification |
|
||
|------|--------|--------------|
|
||
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
|
||
| 2026-07-20 | Arthur | LIM-107 (lecture directe) : section « Étiquette d'échantillonnage » (format A5, 12 champs, report `CST_RPT_ECHANTILLONAGE`, impression étiqueteuse poste via flux COR/COF) ; question format d'étiquette résolue ; front matter jira_refs/sources/last_updated |
|
||
| 2026-07-20 | Arthur | LIM-112 (lecture directe, Ouvert) : flux complet - mapping COR (Code/Description/Priority 3/CstAtt01 nb pal/CstAtt02 consignes/ProductCode-LotCode inversés/Color-Source-Size) ; assignation stock refondue (CstAtt01, prérequis palette, OrderByDesc bloquée puis profondeur, éditabilité CstAtt01 manuel) ; règle transverse indisponibilité stock ; orchestration Mega Job PK LIM-70 + sous-workflow + big-bag ; séquence opérateur (recomptage standalone, validation ligne inventaire, AGV→table entrée→PIE) ; nouvelle section « Clôture et émission du COF » ; big-bag confirmé ; 200g non déduit résolu ; 2 questions ouvertes (consignes CstAtt01/02, dépendance CstAtt10 Stage) ; front matter jira_refs +LIM-112/sources/tags |
|
||
|
||
## Références
|
||
|
||
| Source | Type | Date |
|
||
|--------|------|------|
|
||
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
|
||
| [LIM-107](https://easywmsfrance.atlassian.net/browse/LIM-107) | Ticket Jira (étiquettes expédition/échantillonnage, en revue de code) | 2026 |
|
||
| [LIM-112](https://easywmsfrance.atlassian.net/browse/LIM-112) | Ticket Jira (process échantillonnage complet COR→COF, Ouvert) | 2026 |
|