Files
mcp-wms-wiki/wiki/limagrain/01-inbound/reception-fournisseur.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

32 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
Réception fournisseur - Production et extérieures/intersites
inbound
réception
production
ASN
ROR
PIE
clôture
REF
ROF
draft concepts/reception.md
LIM-67
LIM-68
LIM-71
LIM-73
LIM-93
FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx
Réception - LIMAGRAIN - DEV - Confluence.md
LIM-67_Postes_Travail_Reception.md
Jira LIM-67 (relecture commentaires 2026-07-16)
LIM-73 - LOT1.3 [RECEPTION] Fermetures, REF et gestion retours.md
Jira LIM-73 (revue de code validée 2026-06-02, relecture 2026-07-17)
2026-07-17 Arthur

Réception fournisseur - Production et extérieures/intersites

Résumé : deux flux de réception distincts chez Limagrain - production (directe ASRS via ASN) et extérieures/intersites (passage poste de travail via ROR). Le déchargement camion est une étape commune.

Standard EasyWMS : → voir Reception Ce qui suit documente les spécificités Limagrain par rapport au standard.

Contexte projet

Limagrain gère 3 types de réception. Cette page couvre les deux premiers :

  1. Réception depuis la production (flux majoritaire)
  2. Réceptions extérieures / transferts intersites

Le troisième type (retours client) est couvert dans Réception retour.

Étape commune - Arrivée et déclaration du camion

Page dédiée : le flux complet d'arrivée camion, d'assignation de quai, d'affichage chauffeur et de déclaration image de quai via TRF est documenté en détail dans Gestion des camions (LIM-62/63/64/65). Ce qui suit est un résumé.

[CUSTOM] Réservation image de quai

  1. Camion arrive → agent de quai crée une réception dans la vue « Ordre d'entrée > Réceptions » (SmartUI)
  2. Saisie de la plaque d'immatriculation et de la destination : « PARKING » par défaut (quai fictif d'attente) ou quai réel si disponible
  3. Sélection des OE (ordres d'entrée) concernés - chaque OE est flagué via un CstAtt
  4. Agent consulte la disponibilité des quais via un graphique dans la vue des réceptions et assigne un quai réel
  5. [CUSTOM] Écran parking (via WS) affiche plaque + n° quai pour le chauffeur

Contraintes d'assignation image de quai :

  • Quai et image de quai réservés dès la sélection - réutilisation possible si place restante (gestion manuelle)
  • Blocage si flux différent (ex : expédition en cours sur ce quai)
  • Blocage si l'image de quai a des supports associés à un OS (expédition) ou inversement
  • Si aucun quai disponible → attente de libération
  • Il faut empêcher de créer une réception avec des OE de classes de préavis différentes (message d'erreur bloquant)

Voir aussi Quais et poumons.

Déchargement physique

  • Cariste décharge palettes depuis emplacement le plus éloigné du quai
  • Permet d'identifier précisément les emplacements occupés pour les AGV

[CUSTOM] Déclaration sur l'image de quai

Menu TRF custom : Réception > Images de quai > Déclaration

Séquence commune :

  1. Scan de l'image de quai
  2. Choix du type de réception (Production / Fournisseur / Retour client / Palettes vides)
  3. Saisie du nombre de palettes + emplacement de départ
  4. Association à la réception (auto pour Production via CstAtt « ASN », sélection manuelle de l'OE pour les autres)
  5. Prompt big-bag (Oui/Non) - sauté pour Production
  6. Écran de validation
  7. Création des supports dans le WMS

Pour les réceptions extérieures/retours client :

  • Impression d'une étiquette par support à coller sur la palette (ROR.Code + date + « À réceptionner » + code support + empl. image de quai)
  • Vérification capacité image de quai

Création tâches de mouvement AGV

  • EasyWMS indique point de prise et point de dépose uniquement
  • Sens prise/dépose géré par le gestionnaire de flotte AGV (iGo)
  • Pour réceptions nécessitant un poste : assignation automatique selon contraintes déclarées (mode, big-bag, distance la plus courte)
  • Assignation manuelle également possible
  • Si aucun poste disponible → tâche en attente

Libérations

  • Image de quai : libérée automatiquement quand il n'y a plus de palettes dessus (vérification via supports présents)
  • Quai : libéré manuellement par l'agent au départ du véhicule

Flux 1 - Réception depuis la production

Flux physique

sequenceDiagram
    participant Cariste
    participant Quai/Poumon
    participant AGV
    participant Buffer
    participant PIE_01
    participant ASRS
    Cariste->>Quai/Poumon: Déchargement
    Note over Quai/Poumon: Supports virtuels créés
    AGV->>Buffer: Transport support virtuel
    Buffer->>PIE_01: Convoyeur entrée production
    Note over PIE_01: Suppression support virtuel (containerMovedEvent)
    PIE_01->>PIE_01: Déplacement palette ASN + contrôles
    alt PIE OK
        PIE_01->>ASRS: Stockage (stratégie rangement)
    else PIE NOK
        PIE_01->>Cariste: Rejet → poumon au sol + notification
    end

Résumé du processus

  1. Déclaration sur l'image de quai (voir étape commune ci-dessus)
  2. Déplacement AGV → entrée production (via supports virtuels)
  3. Passage PIE (suppression support virtuel + validation palette ASN)
  4. Stockage ou rejet
  5. Libération quai / image de quai

1) [CUSTOM] Pré-notification ASN

Message ASN descendu de SAP avant l'arrivée physique (expédition depuis l'ancien magasin). Contenu :

  • Numéro unique HU
  • Article / Lot SAP
  • [CUSTOM] Propriétaire Limagrain
  • Statut de stock
  • Quantité (unités de vente)

Batch possible : jusqu'à 500 conteneurs par message ASN.

Les palettes sont étiquetées RFID en sortie de production (hors EasyWMS). L'étiquette est collée sur la housse.

2) [CUSTOM] Supports virtuels et déplacement AGV

Principe des supports virtuels :

  • Création de supports « virtuels » identiques à de vrais supports mais avec une séquence différente (8000) pour les identifier
  • La flotte AGV déplace la palette fictive jusqu'au PIE
  • Le tracking s'effectue avec le support virtuel sur le premier convoyeur

Destination : entrée production (convoyeur vers ASRS). L'AGV dépose sur un buffer d'entrée (type POUMON MINILOAD AD) - jamais directement sur le PIE.

Suppression du support virtuel :

  • Basée sur le fonctionnement standard des routes AGV
  • Surveillance des containerMovedEvent
  • Filtre : type palette ASN + destination type PIE → suppression du support virtuel (séquence 8000)

[CUSTOM] Redirection si entrée production saturée

En cas de blocage long terme sur l'entrée production :

  • Solution standard : système de routes avec distances - route principale distance 1, routes secondaires distance 2
  • On ferme le PIE de production → le WMS redirige automatiquement vers les autres entrées disponibles
  • Élément à bloquer : le PIE (pas un élément physiquement plus proche de l'entrée)

Pour les tests sans AGV : utilisation de routes virtuelles en configuration easyS qui téléportent automatiquement les palettes.

3) Passage au PIE et création palette ASN

Séquence au PIE :

  1. Fin d'ordre AGV au PIE → suppression du support virtuel (via containerMovedEvent)
  2. Déplacement de la palette depuis l'emplacement « ASN » au PIE
  3. Le ratio poids s'effectue au niveau de l'article

Contrôles : dimensions (1300×1100×1900), poids (≤1250 kg), état palette, RFID connue (ASN). Voir Contrôle qualité réception pour le détail des contrôles PIE et la répartition du poids.

PIE OK :

  • [CUSTOM] Aucun message ASO généré
  • [CUSTOM] Vérification poids - tolérance par type article, verrou « Réception » sur le support si écart > seuil
  • Mise à jour CstAtt01 de la ligne de stock (poids unitaire calculé)
  • [CUSTOM] Si type article ZSIZ → message ajustement stock vers SAP via WSC (poids réel HU) - voir Contrôle qualité réception pour la gestion du timing avec le REF
  • Stratégie de rangement appliquée
  • Réservation canal optimale selon nb palettes ASN restantes

PIE NOK :

  • Rejet standard - plus besoin d'étiquette spécifique
  • Palette dirigée automatiquement vers un poumon au sol (zone de rejet)
  • Notification SmartUI envoyée aux opérateurs
  • Opérateur se rend physiquement à la zone de rejet pour corriger
  • Si non corrigeable : bouton custom édite étiquette « NON CONFORME, RENVOI » et crée une tâche vers un poumon dédié
  • [CUSTOM] Aucun message ASK généré
  • [CUSTOM] CstAtt du support flagué avec « Prod » (pas de poste de travail d'origine)

Flux 2 - Réceptions extérieures / transferts intersites

Flux physique (extérieur)

sequenceDiagram
    participant Cariste
    participant Quai/Poumon
    participant AGV
    participant Poste PK
    participant Filmeuse
    participant PIE_02/03
    participant ASRS
    Cariste->>Quai/Poumon: Déchargement
    AGV->>Poste PK: Transport vers poste de travail
    Poste PK->>Poste PK: Traitement réception
    AGV->>Filmeuse: Évacuation (filmage si demandé)
    Filmeuse->>PIE_02/03: Table d'entrée
    PIE_02/03->>PIE_02/03: Contrôles
    alt PIE OK
        PIE_02/03->>ASRS: Stockage
    else PIE NOK
        PIE_02/03->>Poste PK: Rejet → poumon au sol + notification
    end

Résumé du processus (extérieur)

  1. Déclaration sur l'image de quai
  2. Déplacement AGV → poste de travail
  3. Traitement au poste de travail (constitution mono-ref + déclaration)
  4. Déplacement AGV → table d'entrée (+ filmage si demandé)
  5. Passage PIE
  6. Stockage ou rejet
  7. Clôture de la réception
  8. Libération quai / image de quai

1) Notification ROR

Message ROR de SAP → EasyWMS :

  • Numéro de réception (1 ROR = 1 livraison SAP, un camion peut contenir N livraisons)
  • Articles / Lots SAP / Quantités (en unités de vente)
  • Pas de création de lignes autorisée
  • Tolérance quantité : 0 % pour intersites (palettes déjà identifiées), paramétrable par ligne ROR pour extérieures (uniquement en dépassement %)
  • IsSingleReceipt = true - le WMS ne gère pas de reliquats automatiques. Si réception incomplète, SAP crée une nouvelle livraison
  • InboundType = 0 (Standard) pour les deux sous-types
Élément SAP Correspondance EasyWMS Remarque
Commande d'achat - Peut être cadencée en plusieurs livraisons
Livraison 1 ROR Un ROR = une livraison
Camion N livraisons Un camion peut contenir plusieurs livraisons

Les transferts intersites : le site émetteur est considéré comme un fournisseur dans EasyWMS.

2) [CUSTOM] Gestion des SSCC et codes conteneurs du ROR

Deux cas selon que le ROR fournit ou non des codes conteneurs (LineList>ContainerCode) :

a) Le ROR fournit des codes conteneurs attendus (livraison Limagrain avec supports identifiés)

  • Avant la création du support, un écran analyse si l'ordre d'entrée associé à la palette scannée contient des numéros de supports attendus dans ses lignes
  • Si oui : l'opérateur doit scanner le code support "LIMAGRAIN" (un bouton Liste affiche les codes attendus au cas où l'étiquette serait illisible)
  • Au scan, vérification que le code fait partie de la liste des codes attendus, sinon message d'erreur
  • Le code conteneur retenu est celui du ROR ; le code de l'ordre d'entrée du conteneur est conservé dans le CstAtt13 du support
  • Réf. commentaires LIM-67 des 19-23/06/2026 (livré préprod)

b) Le ROR ne fournit aucun code conteneur (fournisseur/intersite classique)

  • Le SSCC est récupéré au moment du scan RFID en réception
  • Si SSCC présent sur la palette → conservation lors de la réédition RFID
  • Si SSCC absent → création d'un nouveau SSCC et ré-étiquetage

Règle : un SSCC n'est généré que si le ROR ne fournit aucun code support dans ses lignes. Raison : éviter la complexification du process si l'étiquette est endommagée.

3) [CUSTOM] Déplacement vers poste de travail

Assignation automatique du poste selon :

  1. Non bloqué
  2. En service
  3. Mode autorise la réception
  4. Capacité compatible avec la déclaration
  5. Distance la plus courte

Assignation manuelle aussi possible. Si aucun poste disponible → attente.

4) Constitution palettes mono référence

Les palettes à destination ASRS doivent être mono référence autant que possible. Si multi-référence à l'arrivée :

  • Opérateur dispose manuellement une palette vide sur une TP (non géré par le WMS)
  • Tri de marchandise pour constituer des conteneurs mono-ref

Le process de constitution mono-référence est standard - pas de développement spécifique.

[CUSTOM] Tables de préparation et poste de picking adjacent

Le développement gère 6 tables de préparation pour les réceptions (commentaire LIM-67 du 30/04/2026). La station de réception est couplée à un poste de picking adjacent (voir paramètre PK_ADJACENT) :

  • avant l'ouverture d'un poste de picking, vérification que le poste adjacent n'utilise pas déjà les tables de préparation (sinon blocage avec message « Impossible d'ouvrir le poste de travail. Utilisation des tables de préparation par le poste adjacent ») ;
  • les palettes liées au poste adjacent restent utilisables sans forcer leur déplacement vers le poste en cours d'utilisation ;
  • le conteneur créé porte le code du poste de picking lié dans son CstAtt06.

5) [CUSTOM] Traitement au poste de travail

Ref. LIM-67 - revue de code validée le 29/06/2026, livré en préprod le 09/07/2026 (en cours de test client).

Les opérateurs utilisent le mode Tâches automatiques sur PC. Le code de réception est récupéré automatiquement via le CstAtt08 du conteneur présent sur le poste.

Affichage fournisseur : sur tous les écrans du process, afficher "Fournisseur: CODE - NOM". Le nom est porté par le champ CST_SupplierName du record ReceptionWF (pas par le SupplierCode, pour éviter les bugs d'usage ultérieur).

a) Scan du conteneur virtuel et création du support réel (Big Bag)

Le process démarre par le scan du conteneur virtuel posé sur le poste (créé à la déclaration image de quai). Ce scan :

  • récupère la réception associée via le CstAtt08 du conteneur virtuel ;
  • génère automatiquement un nouveau code de conteneur (généré dans EasyWMS, plus saisi par l'opérateur) ;
  • après le paramétrage Big Bag et filmage, supprime le conteneur virtuel et crée le nouveau conteneur réel sur le même emplacement ;
  • reporte le CstAtt08 sur le nouveau conteneur pour conserver la réception si l'opérateur quitte avant la fin.

Sur l'écran de confirmation de création du support réel :

  • Ligne "BIG BAG : NON" (état initial)
  • Bouton "BIG BAG ON" → toggle vers "BIG BAG : OUI" / "BIG BAG OFF"
  • Valeur true/false stockée dans CstAtt02 du support
  • Impression automatique d'une étiquette RFID dès confirmation - voir Étiquette RFID (LIM-68)

b) Menu principal du poste

Écran central avec 6 actions - les informations du support actuel sont toujours affichées à droite. Après chaque action, retour à ce menu.

Action Description
Ajouter stock Sélection article, lot, quantité (écrans standard). Afficher quantité attendue + UdM sans pré-remplir le prompt. Statut de stock affiché mais non modifiable (boutons masqués). Écrans date fin de statut et commentaire skippés. Pour l'anoxie : set CstAtt03 du support à true
Nouveau support Scan emplacement, confirmation de création (retour à l'étape a). Le nouveau conteneur devient le support actif
Changer de support Scan du code support à sélectionner comme support actif
Retirer support Suppression d'un conteneur du poste. Si le support contient du stock déclaré, un message d'avertissement demande confirmation avant suppression (ajouté au commentaire LIM-67 du 30/04/2026)
Imprimer étiquette Réimpression de l'étiquette RFID (voir Étiquette RFID)
Terminer Vérification fermeture + filmage + évacuation (voir ci-dessous)

c) Action « Terminer »

Vérification fermeture réception : si le conteneur actuel est le dernier de la réception (nombre de conteneurs virtuels avec CstAtt08 = codeRecep + conteneurs avec CstAtt08 = codeRecep et CstAtt10 = true), proposer la fermeture de la réception avec uniquement l'option confirmer.

Sélection du programme de filmage : dialogue avec liste issue du paramètre "FILMAGES" :

Valeur par défaut : 0;Pas de filmage|A;Programme 1|B;Programme 2|C;Programme 3

La valeur choisie (0, A, B, C…) est stockée dans le CstAtt05 du support et transmise à Galileo en custom data.

Après validation, une tâche d'évacuation est générée pour le transport AGV du poste de travail vers la table d'entrée.

Résumé des CstAtt support (poste de travail)

CstAtt Contenu Set par
CstAtt02 Flag Big Bag (true/false) Écran confirmation support
CstAtt03 Flag anoxie (true) Action « Ajouter stock »
CstAtt05 Programme de filmage (0, A, B…) Action « Terminer »
CstAtt06 Code du poste de picking lié au conteneur (LIM-67, 30/04/2026) - conflit levé : LIM-71 a abandonné son marquage CstAtt06 ; usage confirmé par LIM-70 et le job de régénération LIM-71 Création du conteneur au poste
CstAtt08 Code de réception Déclaration image de quai
CstAtt10 Flag support traité (true) Fin de traitement
CstAtt13 Code de l'ordre d'entrée du conteneur (quand le ROR fournit un code support attendu) Sélection du code conteneur du ROR

Validation des attributs logistiques (optimisation → LIM-93)

Demande d'optimisation portée par LIM-93 : les attributs logistiques sont validés automatiquement s'ils sont bien renseignés dans le ROR ; s'il en manque un, il est demandé à l'opérateur. Si le ROR possède plusieurs lignes avec le même lot SAP mais des attributs logistiques différents, ils sont aussi demandés (EasyWMS ne peut pas deviner la ligne concernée à la réception).

6) Déplacement AGV → table d'entrée et filmage

  • L'AGV déplace le conteneur vers la table d'entrée
  • Gestion du filmage : le programme de filmage est transmis à Galileo via custom data au moment du passage. Si le PIE dit NOK → pas de filmage (custom data non transmis). Le filmage ne se fait que si le PIE valide la palette

7) Passage PIE

Identique au flux production (mêmes formules de répartition poids, mêmes contrôles PIE). Voir Contrôle qualité réception.

Différence en cas de rejet PIE : la palette est dirigée vers un poumon au sol avec notification SmartUI (ancienne approche de renvoi au poste de travail d'origine abandonnée - risque de blocage AGV/table/poste). CstAtt du support flagué avec le poste de travail d'origine.


Clôture des réceptions (extérieures/intersites)

Ref. LIM-73 - LOT 1.3.

La clôture concerne uniquement les flux passant par un poste de travail (extérieures, intersites, retours client). La réception production (ASN) n'est pas concernée (pas de clôture manuelle).

Relation réception ↔ OE : une réception peut servir plusieurs OE, mais un OE est servi par une seule réception. Si la réception associée à un OE est incomplète, SAP gère le reliquat via une nouvelle livraison (donc nouvel OE).

Paramétrage

  • IsSingleReceipt = true - une seule réception par OE, pas de reliquats WMS
  • AutoCloseReception = true - le WMS clôture automatiquement la réception quand les conditions custom sont remplies (§ Déclenchement). Valeur confirmée true ; le tableau LIM-14 affiche encore false (à corriger côté ticket)
  • AutoCloseInboundOrder = true - à la clôture de la réception, chaque OE complété à 100 % ou dans la tolérance est auto-clôturé (ROF envoyé) et auto-archivé (absent de la vue). Les OE en écart hors tolérance restent ouverts

Deux niveaux de clôture

Niveau Description Message ERP
Réception Clôture d'une livraison physique REF
Ordre d'entrée (OE) Clôture de la commande complète ROF

Déclenchement de l'auto-close (LIM-73 §1.1)

L'auto-close de la réception se déclenche - et le bouton « Fermer réception » n'est visible - que si les deux conditions suivantes sont simultanément remplies :

  1. Aucune palette fictive ayant CstAtt08 = <code de la réception> n'est présente (plus de palettes à venir de l'image de quai)
  2. ET :
    • Si Workstation : au plus 1 palette réelle au PK avec CstAtt10 = true (la dernière en cours)
    • Si Vue Réception : aucune palette réelle au PK avec CstAtt10 = true

Si au moins une ligne est hors tolérance, un message d'avertissement s'affiche : « La réception a été clôturée mais les quantités reçues sont hors tolérance, voir avec le manager pour réguler les quantités attendues puis fermer l'ordre d'entrée ».

[CUSTOM] Adaptation Reception_Close_PR_V2 (LIM-73 §1.3)

Le workflow standard de clôture est modifié pour deux comportements :

Partie A - Condition retours : si la réception est de type retour client, la clôture et le REF sont différés jusqu'au rangement ASRS complet. Voir Réception retour - Clôture pour le détail (CstAtt11, CstAtt01 réception, statut « Clôture en cours »).

Partie B - Pose CstAtt01 OE hors tolérance : à la clôture effective, pour chaque ligne article hors tolérance (en plus ou en moins) :

  1. Rechercher le premier OE (FirstOrDefault) parmi les OE associés contenant ce combo code article / lot
  2. Poser CstAtt01 = true sur cet OE

En pratique un combo code article/lot n'est jamais partagé entre plusieurs OE d'une même réception - le FirstOrDefault est déterministe.

Contrôle de tolérance (custom) : dans le standard la tolérance ne sert que pour l'excès ; ici elle est vérifiée dans les deux sens (quantité reçue inférieure ou supérieure à l'attendu). Le pourcentage ReceiveMorePercent provient de la valeur de la ligne du ROR, et à défaut de la valeur du profil de réception de l'article (WF Reception_CheckIfAllReceptionLinesAreCompleted_PR).

Les OE flaggés ne se clôturent pas automatiquement (ROF bloqué) et s'affichent en rouge dans la vue (voir § Clôture des OE ci-dessous).

Contenu du REF (custom)

Un seul REF est envoyé par réception (pas de REF progressif, car IsSingleReceipt = true). Contenu :

  • Numéros de conteneurs réceptionnés
  • Lignes de stocks associées
  • [CUSTOM] Zone de stockage dans le champ LneStockCstAtt01 (récupérée depuis le code emplacement du support, GNA REF01Observer.boo) :
    • Fournisseur / intersite : si un support se trouve hors de l'ASRS au moment du REF → valeur "NON RANGEE"
    • Retour client : ce cas ne se produit pas (REF conditionné au rangement complet - voir Réception retour)
  • [CUSTOM] Attributs stock remontés : code produit SAP, code propriétaire réel, description courte, pays de destination, lot SAP

LOC : envoyé sur delta de 5 min (palette créée/déplacée/supprimée). Le LOC ne prend pas en compte les palettes liées à une réception non fermée (standard dans le WSC forké - développement dédié LIM-76).

Clôture des ordres d'entrée (OE) (LIM-73 §2)

Situation OE Clôture ROF Affichage vue OE
Reçu = attendu Auto-close Envoi auto Auto-archivé → absent
Écart dans la tolérance Auto-close (custom) Envoi auto Auto-archivé → absent
Écart hors tolérance (CstAtt01 OE = true) Manuelle par non-opérateur Envoyé manuellement Rouge - bouton restreint

Visibilité du bouton « Clôturer l'OE » :

  • OE sans écart ou dans la tolérance : accessible à tous (standard), mais auto-archivé donc invisible
  • OE hors tolérance (CstAtt01 OE = true, rouge) : bouton visible uniquement pour les profils non-opérateurs (admin, manager, chef d'équipe). Masqué pour les opérateurs standards

Le manager régularise dans SAP (envoi éventuel d'un nouveau ROR) puis clôture manuellement l'OE → ROF envoyé.

[CUSTOM] Éléments techniques (revue de code validée 2026-06-02)

Implémentation définitive issue de la revue de code LIM-73. Éléments clés au-delà de Reception_Close_PR_V2 (§ ci-dessus) :

Élément Type Rôle
InboundOrder_AutoCloseInboundOrder_PR_V2 WF Ne clôture pas l'OE si CstAtt01 OE = true (blocage ROF hors tolérance). Résout la question « modifier le WF existant vs en créer un » : c'est le V2 existant qui est adapté
Container_MovedEventHandler_Warehouse_PR WF Pose CstAtt11 = true sur le conteneur quand la tâche de rangement se termine en APS (retour)
ReceiptLine_AutoClose_PR_V2 WF Auto-close des lignes de réception désactivé (causait des problèmes avec le process de réception au poste ; la clôture est gérée par le process ci-dessus)
Reception_CheckReceiveMore_UI WF Ne bloque plus l'excédent au poste : le client peut recevoir autant qu'il veut (l'écart est traité à la clôture via CstAtt01 OE)
Reception_CheckIfAllReceptionLinesAreCompleted_PR WF Vérifie la tolérance sur chaque ligne dans les deux sens ; source ReceiveMorePercent = ligne ROR ou profil article
InboundOrder_UpdateStatus_By_Reception_ChangedStatus_PR_V2 WF Un OE partiellement reçu et CstAtt01 = true est considéré comme clôturé
WorkStation_Reception_Supplier_UI WF/UI Activité « Close Reception » après avoir informé l'opérateur que le manager devra clôturer l'OE manuellement
CST_View_RecOrder_ToleranceError Ressource Message d'avertissement hors tolérance affiché à la fermeture (FR/EN)
REF01Observer.boo GNA Zone de stockage du support dans LneStockCstAtt01 (« NON RANGEE » si hors ASRS)

Revue de code (points corrigés) : test de nullité de CST_InboundOrder après la query CST_GetInboundOrder (InboundOrder_AutoCloseInboundOrder_PR_V2) et test de nullité après les FirstOrDefault dans REF01Observer.boo.

Réception excédentaire (> % autorisé)

⚠️ Depuis LIM-73, Reception_CheckReceiveMore_UI ne bloque plus l'opérateur sur un excédent : le client peut réceptionner autant qu'il veut. L'excès est traité à la clôture (flag CstAtt01 OE, affichage rouge, régularisation SAP). Les solutions ci-dessous restent valables côté SAP pour régulariser l'attendu.

Solution Description
Modifier la commande Message ROR UPSERT depuis SAP
Réception aveugle Sans lien fournisseur (nécessite gestion REF BLIND)
Nouvelle commande Créer une nouvelle commande d'achat pour le reliquat

Points d'attention

⚠️ En cas de blocage long terme sur l'entrée production, le WMS redirige automatiquement vers les autres entrées via le système de routes avec distances (fermeture du PIE de production).

⚠️ Les palettes issues de réceptions extérieures/intersites reçoivent automatiquement le flag « A anoxier » (CstAtt03).

⚠️ L'impression étiquettes réception au déchargement n'est possible que pour les réceptions extérieures et retours clients (pas production).

⚠️ Les rejets PIE sont dirigés vers un poumon au sol avec notification SmartUI (ancienne approche de renvoi au PK abandonnée).

⚠️ Le process de constitution mono-référence est standard (pas de développement spécifique).

⚠️ Filmage : transmis à Galileo via custom data (CstAtt05) - uniquement si PIE OK. Paramètre SmartUI FILMAGES définit la liste des programmes.

⚠️ AutoCloseReception = true mais la clôture effective dépend des CstAtt08/CstAtt10 (tous supports traités). La clôture OE est automatique si conditions remplies (AutoCloseInboundOrder).

⚠️ Le CstAtt01 poids unitaire mesuré (PIE) est prioritaire sur le poids ITM pour tous les calculs suivants.

Questions ouvertes

  • Programme de filmage exact - documenté, 8 programmes A→H, paramètre SmartUI FILMAGES (LIM-67)
  • Gestion TRF si AGV pas prêts au démarrage (@Théo)
  • Utilisation du ROC (confirmation de réception) - point interne Limagrain (@Justine)
  • Création fournisseurs/clients à la volée dans EasyWMS - faisabilité technique (@Nicolas)
  • Vérifier fonctionnement ExceedPercentageAllowed vs profil de réception (@Nicolas)
  • Choix fournisseur imprimantes RFID - exiger compatibilité ZPL (@Théo)
  • Position étiquette image de quai (devant/côté) - à valider avec le client (@Justine)
  • Poids variable - vérifier si le standard gère la capture de poids (@Nicolas)
  • Surplus non réceptionné hors tolérance - quelle solution pour les palettes impossibles à réceptionner ? (@Justine)
  • Palette refusée PIE mais non supprimée - comment gérer le support qui reste en base ? (@Nicolas) (LIM-73)
  • WF clôture OE : faut-il modifier le WF existant ou en créer un nouveau pour la condition CstAtt01 ? (@Fabien) (LIM-73)Résolu (revue de code validée 2026-06-02) : le WF existant InboundOrder_AutoCloseInboundOrder_PR_V2 est adapté pour ne pas clôturer l'OE si CstAtt01 = true (pas de nouveau WF)
  • Conflit d'usage CstAtt06 (support) : LIM-71 marqueur de destination vs LIM-67 code du poste de pickingRésolu : LIM-71 a abandonné son marquage CstAtt06 (destination via stratégies de rangement). CstAtt06 = uniquement code du PK lié (LIM-67), confirmé par LIM-70 et le job de régénération réception→PK (LIM-71).

Historique des modifications

Date Auteur Modification
2026-05-05 Arthur Création initiale depuis AF V1.5
2026-05-05 Arthur Enrichissement depuis ateliers DEV Confluence
2026-05-12 Arthur Réécriture section traitement poste travail (LIM-67) : menu 5 actions, CstAtt02/03/05/08/10, filmage FILMAGES
2026-05-12 Arthur Réécriture section clôture (LIM-73) : AutoCloseReception=true, Reception_Close_PR_V2, REF custom, clôture OE 3 cas
2026-05-13 Arthur Restauration sections tronquées (points d'attention, questions, historique, références)
2026-07-16 Arthur Relecture commentaires LIM-67 (revue de code, livré préprod 09/07) : scan conteneur virtuel + code auto-généré, gestion codes conteneurs ROR / support LIMAGRAIN (CstAtt13), 6 tables préparation + poste adjacent (CstAtt06), action « Retirer support », optimisation attributs logistiques → LIM-93, conflit CstAtt06 signalé
2026-07-17 Arthur Conflit CstAtt06 résolu (LIM-71 a abandonné son marquage) : note tableau CstAtt et question ouverte mises à jour
2026-07-17 Arthur Relecture commentaires + revue de code LIM-73 (validée 02/06, préprod) : section « Éléments techniques » (WF définitifs), champ REF LneStockCstAtt01, source tolérance (ligne ROR / profil article), excédent non bloquant (Reception_CheckReceiveMore_UI), question WF clôture OE résolue (InboundOrder_AutoCloseInboundOrder_PR_V2)

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-67 Ticket Jira (postes travail) - relecture commentaires + revue de code 2026-07-16
LIM-73 Ticket Jira (clôture/REF) - revue de code validée, préprod 2026-06-02
LIM-93 Ticket Jira (optimisation attributs logistiques) 2026