Files
mcp-wms-wiki/wiki_old_13-05-2026/limagrain/03-picking/.fuse_hidden0000003500000013
T
2026-05-20 09:41:27 +02:00

308 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Picking sur poste de travail — Expédition client"
tags: [picking, poste, expédition, ordonnancement, MOV, PCK]
status: draft
standard_ref: concepts/picking.md
jira_refs: [LIM-82]
confluence_refs: []
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Expédition - LIMAGRAIN - DEV - Confluence.md", "LIM-82 LOT2.2 [PICKING] Ordonnancement des tâches de picking PS PK.md", "REU PICKING SEQUENCAGE 11-05-2026 - Analyse comparative notes + AF + devops.md"]
last_updated: 2026-05-12
author: Arthur
---
# Picking sur poste de travail — Expédition client
> **Résumé** : processus [CUSTOM] de picking sur poste de travail pour
> les commandes client, avec ordonnancement par espèce, règles de picking
> négatif et contraintes physiques.
> **Standard EasyWMS** : → voir [Picking](../../concepts/picking.md)
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.
## Contexte projet
Le picking chez Limagrain se fait sur les postes de travail automatisés
(pas de picking mobile en allée). Les palettes source et les palettes
de préparation sont acheminées par AGV sur les tables de préparation (TP).
> **Note** : cette page décrit le picking tel que défini dans l'AF V1.5.
> Le projet a depuis évolué vers un modèle « picking combinatoire »
> (CR V3.0, 4 jobs, CstAtt) qui sera documenté séparément.
## Déclenchement
Le picking est déclenché pour les commandes client (RUT type « Client »)
quand des palettes incomplètes sont nécessaires (la quantité demandée
ne correspond pas à des palettes complètes).
Prérequis : un **poste de travail assigné** (auto ou manuellement).
## [CUSTOM] Ordonnancement des palettes au poste
Une fois le poste assigné, les palettes arrivent dans cet ordre :
### Tri par espèce et gerbabilité
1. **Espèce Maïs** toujours en premier (pas la variété mais l'espèce)
2. Puis espèce avec la **plus grande quantité** dans la commande
3. Si égalité → **article/lot le plus lourd** en base de palette
**Mapping Espèce → stack (gerbabilité)** : le maïs = stack 0 (le plus
lourd/stable, donc en base). [CUSTOM] Gestion en **async sur l'ITM** pour
calculer la gerbabilité automatiquement à la création de l'article. Tri
des tâches de picking dans le workflow `StackerCrane_SortTasks_PR`.
### ~~Séparation par traitement commercial~~ SUPPRIMÉ (réu. 11/05/2026)
~~Pas de mélange entre articles avec traitement et sans traitement
sur une même palette fille.~~
**Décision** : `CONTROLE_TRAITEMENT_COMMERCIAL = false`. L'entrepôt
Limagrain ne fait pas de bio, pas de raison de maintenir cette
contrainte. Paramètre réactivable si besoin futur.
> Voir [Séquençage TK → PS — Arbitrage](sequencage-tk-ps.md#arbitrage-des-contradictions-reu-11052026)
> pour le détail de l'analyse comparative.
## [CUSTOM] Règle du picking négatif
**Deux conditions cumulatives** (réu. 11/05/2026) :
1. La quantité à prélever dépasse le **seuil fiche article** (défaut
55%, paramétrable par article via "Complete quantity percent excess
for negative picking")
2. Le **poids unitaire du sac ≥ 7 kg** (raison : instabilité palette si
gros sacs ramenés sur petits sacs)
Si les deux conditions sont remplies → **picking négatif** : au lieu de
déplacer les sacs à expédier, déplacer les sacs qui **retourneront en
stock** (moins de mouvements physiques).
Si l'une des deux conditions n'est pas remplie → picking direct
classique.
> Le picking négatif est **prioritaire sur Maïs first** et toutes les
> autres règles de tri (confirmé par Olivier, réu. 11/05/2026).
> Voir [Séquençage TK → PS](sequencage-tk-ps.md#critère-1--picking-négatif-en-premier).
## [CUSTOM] Calcul équivalent palette (pro rata Bag/pal)
Pour déterminer si une palette est « pleine », calcul en **pro rata
Bag/pal** (réu. 11/05/2026, remplace la logique DevOps "Bag/pal max") :
```
Équivalent palette d'un sac = 1 ÷ Bag/Pal de son lot
```
Le calcul est additif et gère nativement des lots avec des Bag/pal
différents sur une même palette :
```
Exemple :
15 sacs lot Bag/pal 20 + 10 sacs lot Bag/pal 75
= 15/20 + 10/75
= 0,75 + 0,133
= 88,3% → il reste ~12% de place
```
Seuil cible : **~95%** de remplissage (marge de sécurité).
Poids max palette : **1 250 kg** (AF fait foi, corrige 1 200 kg du
DevOps).
## [CUSTOM] Verrou « HORS TOLERANCE » — Recomptage
Si la palette source porte le verrou « HORS TOLERANCE » → recomptage
demandé avant le picking (inventaire).
- Si stock restant suffisant après inventaire → assignation maintenue
(workflow `OnStockAdjust` recalcule uniquement si nécessaire — ne casse
pas la tâche en cours)
- Si plus assez de stock → réassignation ailleurs + retrait verrou
## [CUSTOM] Algorithme de répartition des palettes sur les TP
Logique combinatoire complète gérant tous les cas :
- Picking négatif et enchaînement de pickings négatifs
- Ordonnancement par espèce
- Terminer une palette pleine avant d'en entamer une autre
- Cadencement des buffers devant les postes de picking
- Pas de mélange de traitement commercial (via famille d'article)
- **Contrainte** : l'opérateur ne doit **pas déplacer de sacs d'une table
à l'autre** (sacs lourds)
**Table du milieu** : toujours occupée soit par une palette de picking
négatif, soit par une palette vide de dépôt. Quand la palette de
prélèvement est vidée, l'opérateur la remet manuellement sur une pile
de palettes vides à proximité.
> Prévoir un process sans picking négatif pour les cas où c'est rarement
> utilisé (ou monter le seuil, ex : 70% au lieu de 50%).
## Processus de préparation
### Arrivée des palettes (toujours un poste 3 TP)
- Première palette au **centre** si picking négatif proposé, sinon sur
un côté
- Si une palette est sur un côté et qu'on propose du picking négatif →
prévenir l'opérateur de déplacer la palette au centre
- La palette client revient **toujours** au centre
- Pas de prépa sur 6 TP en simultané
### Picking
1. Palette source arrive sur une TP
2. Palette destination (vide ou en cours) sur une autre TP
3. Opérateur prélève les sacs (ou sacs retour si picking négatif)
4. ~~[CUSTOM] Message MOV envoyé à SAP~~ **ANNULÉ** (décision client)
5. Avant évacuation : choix filmage (CstData transmis à Galileo).
Possibilité de choisir « pas de filmage ».
6. Évacuation palette → PIE → contrôle poids → stockage/expédition
## [CUSTOM] Ordonnancement des tâches PS → PK (LIM-82)
Détail du cadencement des palettes depuis les postes de sortie (PS)
vers les postes de picking (PK). Toutes les tâches de picking se font
sur les tables élévatrices des PK.
### Règles de priorité
1. **Picking négatif toujours en premier** — une seule palette à la fois
pour ce process, toujours déposée sur la **table du centre**
2. **Picking classique ensuite** — jusqu'à **2 palettes simultanées** au
PK, déposées sur les **tables latérales**
3. Le WMS peut envoyer **1 palette picking négatif + 1 palette picking
classique** en même temps (pour compléter la palette post-picking
négatif)
4. Le nombre de palettes de prélèvement au PK ne dépasse **jamais 2**
### Picking négatif — Détail
À chaque tâche de picking négatif :
- Un **nouveau code SSCC** est généré pour la palette où l'excédent de
stock est déposé
- Une **étiquette RFID** est imprimée pour cette nouvelle palette
- La palette de picking négatif va toujours au **centre** du PK
### Cadencement des buffers
Les palettes non encore nécessaires au PK sont dirigées vers les
**zones d'attente** (buffers ES_X) s'il y a de la place disponible. Le
WMS **privilégie la sortie des palettes de picking négatif** vers les
buffers.
À chaque palette arrivant au PS, celui-ci vérifie s'il existe d'autres
tâches du même OS avec une **séquence plus faible** :
- Si oui → palette envoyée au **buffer ES_X** (attente)
- Si non → palette envoyée directement au **PK**
### Cas d'exemple — 10 tâches (3 négatif, 7 classique)
1. Le WMS envoie **2 palettes** vers le PK : 1 picking négatif + 1
picking classique
2. Les **8 autres** palettes sont dirigées vers les zones d'attente
(priorité aux palettes de picking négatif)
3. L'opérateur réalise le picking négatif → impression étiquette
SSCC/RFID pour la nouvelle palette
4. L'opérateur réalise le picking classique → stock déposé sur la
palette du milieu
5. Si la palette client n'est pas pleine → le WMS apporte une nouvelle
palette de picking classique
6. L'opérateur déclare la palette client **pleine** → le WMS apporte la
2ᵉ palette de picking négatif
7. Si le picking classique précédent est **en cours** (tâche partielle)
→ pas de nouvelle palette classique. Sinon → 2ᵉ palette classique
envoyée au PK
Voir aussi [Séquençage TK → PS](sequencage-tk-ps.md) pour le
mécanisme amont de tri des tâches entre les transstockeurs et les
postes de sortie, et [Placement PS → PK](placement-ps-pk.md) pour
l'algorithme de choix de table (ping-pong, buffers, évacuation).
## Information passage conteneur client
Le passage en conteneur client est visible dans le **LOC** envoyé
toutes les 5 minutes à SAP (flag « client » = true). Voir
[Flux ERP outbound](../04-outbound/flux-erp-outbound.md#communication-erp--loc--détails).
## Étiquetage
### Cas standard (non MII ou MII mono lot)
- 1 étiquette RFID pour la palette physique bois
### Cas MII multi lots
- 1 étiquette HU RFID pour la palette physique (HU mère)
- 1 étiquette HU sans RFID par ligne de stock (HU fille / intercalaire)
- Impression auto à chaque nouvelle palette (RFID) et à chaque article
(intercalaire)
- Basé sur la **classe de commande**
## Contraintes opérateur (hors EasyWMS)
Règles non gérées par le système mais à respecter :
1. Palette ne doit pas excéder **1,90 m** (sinon rejet PIE)
2. Palette ne doit pas excéder **1 250 kg** (sinon rejet PIE, AF fait foi)
3. Pas de gerbage de palette
4. Disposition d'intercalaires entre couches
## Calcul poids de référence (post-picking)
Pour les palettes multi-lignes de stock :
```
Poids réf = Σ (Poids_unité_ligne_i × quantité_ligne_i) + poids_palette_bois
```
Contrôle PIE identique aux autres processus (voir
[Contrôle qualité réception](../01-inbound/controle-qualite-reception.md)).
## Points d'attention
⚠️ Le picking négatif (seuil 55% ET poids ≥ 7 kg) est une règle métier
custom — les deux conditions sont cumulatives (réu. 11/05/2026).
⚠️ L'ordonnancement espèce → quantité → poids est géré par EasyWMS
(pas un choix opérateur).
⚠️ Le message MOV est **ANNULÉ** (décision réunion client).
⚠️ Le verrou HORS TOLERANCE déclenche un recomptage mais ne casse pas
l'assignation si le stock restant est suffisant.
⚠️ L'algorithme de répartition TP est le « gros morceau » custom du
picking — gestion combinatoire de tous les cas.
## Questions ouvertes
- [x] ~~Programme de filmage exact~~ → 8 programmes documentés (A→H)
- [ ] Gestion du picking négatif dans l'interface opérateur (@Nicolas)
- [x] ~~Process sans picking négatif — seuil à 70% au lieu de 50%~~ →
Tranché : seuil paramétrable par article (défaut 55%) + condition
poids ≥ 7 kg (réu. 11/05/2026)
- [x] ~~Traitement commercial — séparation palette~~ → Supprimé
(`CONTROLE_TRAITEMENT_COMMERCIAL = false`, réu. 11/05/2026)
## Historique des modifications
| Date | Auteur | Modification |
|------|--------|--------------|
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
| 2026-05-05 | Arthur | Gerbabilité/stack, algo répartition TP, verrou HORS TOLERANCE, MOV annulé, arrivée palettes 3 TP, filmage CstData |
| 2026-05-12 | Arthur | Ajout ordonnancement PS→PK (LIM-82) : priorité picking négatif, cadencement buffers, cas d'exemple, lien séquençage TK→PS |
| 2026-05-12 | Arthur | MAJ réunion 11/05 : picking négatif 2 conditions cumulatives (55% + 7 kg), TC supprimé, pro rata Bag/pal, poids max 1 250 kg, questions fermées |
## Références
| Source | Type | Date |
|--------|------|------|
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
| Expédition - LIMAGRAIN - DEV - Confluence | Page ateliers DEV | 2026 |
| [LIM-82](https://easywmsfrance.atlassian.net/browse/LIM-82) | Ticket Jira (ordonnancement PS→PK) | 2026 |
| REU PICKING SEQUENCAGE 11-05-2026 | CR réunion + analyse comparative | 11/05/2026 |