# Gestion de Stock

Le module de gestion des stocks offre une vision centralisée des stocks par article, station ou période. Il permet d'éviter les ruptures, d'optimiser les réassorts et de générer des états personnalisés  
Le module de gestion des stocks permet aux utilisateurs (Responsables logistique ,Gestionnaires de stock et Commerciaux ) de :

- Consulter les stocks actuels des articles selon différents critères (exemple : par station, par date/période).
- Filtrer les articles disponibles ou non.
- Générer des états imprimables personnalisables.

#### **1. fiche de stock** 

cette interface compose de deux interface un interface de filtrage pour choisir station désiré et un état de Stock qui affiche la liste des articles pour l'impression   
**Chemin : *Stock &gt; Gestion stock&gt; fiche de stock***

##### **1.1 fiche de stock : interface de filtrage** 

##### **[![filtre pour fiche de stock.PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/filtre-pour-fiche-de-stock.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-04/filtre-pour-fiche-de-stock.PNG)** 

1. **Sélection de la station**
    
    
    - Liste déroulante affichant toutes les stations et entrepôts configurés.
    - Recherche textuelle intégrée pour les environnements à plus de 50 stations.
2. **Case à cocher « Prod. Disp. »**
    
    
    - Affiche uniquement les articles dont la quantité disponible est strictement positive.
    - Option désactivée pour lister tous les articles, même à quantité nulle
3. **Imprimer** : ouvre l’interface **État de Stock** pour un rendu PDF.
4. **Fermer** : quitte la fenêtre sans sauvegarder de paramètre.

##### **1.2 État de Stock**

L’**État de Stock** est un rapport configuré pour l’impression ou l’export PDF, reprenant toutes les colonnes et regroupements nécessaires.  
[![etat stock.PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/etat-stock.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-04/etat-stock.PNG)

1. Procédure d’Impression
    
    
    1. Dans la **Fiche de Stock**, après avoir filtré, cliquez sur **Imprimer**.
    2. Dans la fenêtre **Aperçu**, ajustez la mise en page et afficher l'état de stock .
2. Avant impression, vous pouvez choisir les colonnes à afficher :
    
    
    - **Colonne fixe** : Référence, Désignation, Stock Actuel.
    - **Colonnes optionnelles** : Stock Mini, Stock Max, État d’alerte, Emplacement, Fournisseur, Coût Unitaire, Valeur Totale.
    - **Regroupements** : par catégorie, par fournisseur, par famille ,par emplacement.
    - ***Astuce*** : Cliquer sur un en-tête de colonne pour trier (▲/▼).
3. Mise en Page et Styles
    
    
    - Format A4 portrait ou paysage, avec en-tête personnalisable .
    - Pied de page indiquant la pagination et l’utilisateur ayant généré le rapport.

<div id="bkmrk--1">---

</div>#### **2. Stock globale par station** 

L’interface est constituée d’une **grille** dynamique et filtrable, dans laquelle chaque ligne représente l’état d’un article dans une station spécifique.  
***Chemin : Stock &gt; Gestion stock&gt; Stock globale /station***

*Exemple : si vous gérez 3 stations et que vous avez un article référencé ART-001, cet article apparaîtra 3 fois — une ligne par station.*

<table id="bkmrk-station-r%C3%A9f%C3%A9rence-d%C3%A9"><tbody><tr><td>Station</td><td>Référence</td><td>Désignation</td><td>Qte Entrée (Qte E)</td><td>Qte Sortie (Qte S)</td><td>Qte Restant</td><td>CMP</td><td>CRP</td><td>...</td></tr><tr><td>Entrepôt Central</td><td>ART-001</td><td>Vis M6 x 20mm</td><td>500</td><td>250</td><td>250</td><td>1,20 €</td><td>1,25 €</td><td> </td></tr><tr><td>Magasin Paris</td><td>ART-001</td><td>Vis M6 x 20mm</td><td>100</td><td>50</td><td>50</td><td>1,15 €</td><td>1,18 €</td><td> </td></tr><tr><td>Agence LYON</td><td>ART-001</td><td>Vis M6 x 20mm</td><td>200</td><td>150</td><td>50</td><td>1,18 €</td><td>1,20 €</td><td> </td></tr></tbody></table>

La grille affiche :

- **Une ligne par paire (article + station)**
- Un en-tête fixe avec les colonnes configurées
- Un pied de tableau récapitulatif (totaux par colonne)

*[![stock globale par station .PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/stock-globale-par-station.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-04/stock-globale-par-station.PNG)*

1. **Détail des colonnes affichés**

- - **Station** : **Libellé de la station** où l’article est stocké.
    - **Référence** et **Désignation** : Identifiants de l’article.
    - **Qte Entrée (Qte E)** : Total des entrées de stock sur la période sélectionnée.
    - **Qte Sortie (Qte S)** : Total des sorties de stock sur la période sélectionnée.
    - **Qte Restant** : Quantité disponible à la date de consultation.
    - **CMP (Coût Moyen Pondéré)** : Prix moyen pondéré basé sur les entrées.
    - **CRP (Coût de Revient Pondéré)** : Coût moyen incluant frais et remises.
    - **Colonnes optionnelles** : Stock Mini, Stock Maxi, Emplacement, Fournisseur, etc., paramétrables selon vos besoins.

**2.Actions disponibles**

- **Tri et filtre par colonne** : cliquez sur l’en-tête pour trier ou utilisez le champ de recherche intégré.
- **Export** : bouton *Exporter* → choix CSV, Excel ou PDF.
- **Impression** : bouton *Imprimer* ouvre le rapport « Stock global par station » au format A4.
- **Personnalisation** :*Paramétrer* et enregistrer des vues (colonnes, filtres, regroupements).

<div id="bkmrk--4">---

</div>#### **3. stock /Date** 

***Chemin : Stock &gt; Gestion stock&gt; Stock /******Date***

Cette interface se compose de deux volets :

1. **Volet de filtrage**
2. **État de Stock (Date)**

Elle permet de consulter le stock d’une ou de toutes les stations à une date précise et de générer un état prêt à l’impression.

---

##### **3.1 Volet de filtrage**

[![filtre de stock par date.PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/filtre-de-stock-par-date.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-04/filtre-de-stock-par-date.PNG)

<table class="min-w-full" data-end="1829" data-start="370" id="bkmrk-%C3%89l%C3%A9ment-description-"><thead data-end="551" data-start="370"><tr data-end="551" data-start="370"><th data-end="404" data-start="370">Élément</th><th data-end="551" data-start="404">Description</th></tr></thead><tbody data-end="1829" data-start="734"><tr data-end="917" data-start="734"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="769" data-start="734">**Liste déroulante « Station »**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="917" data-start="769">Sélection de la station dont on souhaite visualiser le stock.</td></tr><tr data-end="1100" data-start="918"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="952" data-start="918">**Sélecteur de date**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/2)]" data-end="1100" data-start="952">Choix de la date unique pour laquelle on veut connaître le stock disponible (calendrier ou saisie au format JJ/MM/AAAA).</td></tr><tr data-end="1282" data-start="1101"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1135" data-start="1101">**Case à cocher « Tous »**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/2)]" data-end="1282" data-start="1135">Si cochée, le rapport portera sur toutes les stations, et la liste déroulante est désactivée.</td></tr><tr data-end="1463" data-start="1283"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1317" data-start="1283">**Case à cocher « prod.Disp »**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/2)]" data-end="1463" data-start="1317">Si cochée, seuls les articles dont la quantité &gt; 0 à la date sélectionnée seront inclus dans l’état.</td></tr><tr data-end="1646" data-start="1464"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1498" data-start="1464">**Bouton « Imprimer »**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/2)]" data-end="1646" data-start="1498">Génère et affiche l’interface « État de Stock (Date) » optimisée pour l’impression (A4, rangements des colonnes, en-tête).</td></tr><tr data-end="1829" data-start="1647"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1681" data-start="1647">**Bouton « Fermer »**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="1829" data-start="1681">Ferme l’interface sans lancer de génération.</td></tr></tbody></table>

---

##### **3.2 Interface « État de Stock (Date) »**

Une fois les filtres appliqués, l’interface affiche une grille listant, pour chaque article, sa quantité disponible à la date choisie c'est à dire un interface similaire au fiche de stock mais à une date choisie .  
[![stock par date.PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/stock-par-date.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-04/stock-par-date.PNG)

- **Une ligne par article** (ou par article par station si « Tous » est coché),
- **En-tête fixe** avec tri et filtres contextuels,
- **Pied de tableau** affichant les totaux globaux (somme des quantités).

##### **3.3 Exemple de scénario d’utilisation**

Imaginons que l’on veuille vérifier le stock au 15/04/2025 :

1. Sélectionner la station « NORD » dans la liste.
2. Cliquer sur le sélecteur de date et choisir **15/04/2025**.
3. Cocher « prod.Disp » pour ne voir que les articles en stock.
4. Cliquer sur **Imprimer**.

<div id="bkmrk--8">---

</div>#### **4. stock /Fournisseur (stock /frs)** 

L’interface **Stock par fournisseur** reprend la même logique que les vues “Fiche de Stock” et “Stock / Date”, en ajoutant une dimension fournisseur. L’utilisateur peut ainsi filtrer le stock disponible par fournisseur, ou lister simultanément tous les fournisseurs, et générer un état de stock prêt à l’impression selon les mêmes formats et colonnes que les autres états.

***Chemin : Stock &gt; Gestion stock&gt; Stock /frs***

---

##### 4.1 Volet de filtrage  


Avant d’afficher la grille, l’utilisateur dispose des filtres similaire au interface de filtrage précédant( filtre de stock par date ) on ajoutant les deux composant suivants :

### **![filtre  de stock par frs.PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/filtre-de-stock-par-frs.PNG)**

<table class="min-w-full" data-end="2741" data-start="518" id="bkmrk-%C3%89l%C3%A9ment-description--1"><thead data-end="719" data-start="518"><tr data-end="719" data-start="518"><th data-end="556" data-start="518">Élément</th><th data-end="719" data-start="556">Description</th></tr></thead><tbody data-end="2741" data-start="922"><tr data-end="1124" data-start="922"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="961" data-start="922">**Liste déroulante « Fournisseur »**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/2)]" data-end="1124" data-start="961">Sélection du fournisseur concerné pour lequel on souhaite visualiser le stock de ses articles.</td></tr><tr data-end="1326" data-start="1125"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1163" data-start="1125">**Case à cocher « Tous » à coter de liste fournisseur** </td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/2)]" data-end="1326" data-start="1163">Si cochée, le rapport portera sur tous les fournisseurs existants, et la liste déroulante est désactivée.</td></tr></tbody></table>

---

##### 4.2 Interface « État de Stock (Fournisseur) »

Cette grille reprend la structure des autres états de stock, en affichant, pour chaque couple **(article + fournisseur)** — et, le cas échéant, par station ou par date — les quantités et coûts.  
[![etat de stock par fournisseur.PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/etat-de-stock-par-fournisseur.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-04/etat-de-stock-par-fournisseur.PNG)

 **Structure de la grille**

- **Une ligne par article sélectionné** (ou par article + station + fournisseur si plusieurs filtres activés).
- **En-tête fixe** avec les mêmes colonnes configurables que dans la fiche de stock.
- **Pied de tableau** donnant les totaux (quantités, valeur) par fournisseur ou global.

##### 4.3.Exemple de scénario

1. Ouvrir *Gestion des stocks* → *Stock par fournisseur*.
2. Dans la liste, sélectionner le fournisseur **“ACME Industries”**
3. Choisir la station **“SUD”** et la date **20/04/2025** ; cocher **“prod.Disp”**.
4. Cliquer sur **Imprimer**.
5. affichage de grille d'article relative au fournisseur sélectionné

<div id="bkmrk--12">---

</div>#### **5. stock /période** 

<div class="flex shrink basis-auto flex-col overflow-hidden -mb-(--composer-overlap-px) [--composer-overlap-px:24px] grow" id="bkmrk-l%27interface-stock-pa"><div class="relative h-full"><div class="flex h-full flex-col overflow-y-auto [scrollbar-gutter:stable] @[84rem]/thread:pt-(--header-height)"><div class="@thread-xl/thread:pt-header-height mt-1.5 flex flex-col text-sm pb-25"><article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-14" dir="auto">l'interface stock par période est interface de consultation permettre à l'utilisateur de:

- Sélectionner un intervalle temporel précis (avec granularité jour, mois ou année)
- Filtrer par type d’article et par station
- Visualiser et analyser l’évolution des stocks sur la période choisie
- Exporter ou imprimer un état prêt à l’usage

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="8c613f73-3f1c-4599-83e5-396f24f9046c" data-message-model-slug="gpt-4o" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light"><span style="text-decoration: underline;">**Détail de l'interface:**</span></div><div class="markdown prose dark:prose-invert w-full break-words light">  
</div></div></div></div></div></div></div><div class="markdown prose dark:prose-invert w-full break-words light">[![stock par période.PNG](https://help.asmpos.com/uploads/images/gallery/2025-04/scaled-1680-/stock-par-periode.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-04/stock-par-periode.PNG)</div><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="8c613f73-3f1c-4599-83e5-396f24f9046c" data-message-model-slug="gpt-4o" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light"><span style="text-decoration: underline;">**Éléments de l'interface** </span></div></div></div></div></div></div></div></div>##### I. Zone de filtres avancée

**1 Sélection de la période**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- **Champs « Du » et « Au »**
    
    
    - Saisie par calendrier ou format libre JJ/MM/AAAA.
    - Validation automatique : la date de début ne peut être postérieure à la date de fin.
- **Granularité (Jour / Mois / Année)**
    
    
    - **Jour** : affiche chaque date intermédiaire, utile pour le suivi quotidien.
    - **Mois** : regroupe les mouvements par mois (ex. : totaux d’avril 2025).
    - **Année** : regroupe par année civile.
- **Conseil ergonomique** : la granularité non cochée par défaut mémorise le dernier choix de l’utilisateur.

</div></div></div></div></div></div></div></div>**2 Filtre type d’article**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- **Liste déroulante « Type d’article »**
    
    
    - Affiche uniquement les catégories actives (Matières premières, Produits finis, Consommables…).
    - Recherche : taper quelques lettres pour filtrer la liste.

</div></div></div></div></div></div></div></div>**3 Filtre station**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- **Liste déroulante « Station »**
    
    
    - Affiche toutes les stations configurées (SUD, NORD, EST, etc.).
    - **Case « Toutes »** : permet de désactiver la sélection individuelle et consolider les stocks de toutes les stations.

</div></div></div></div></div></div></div></div>**4 Bouton « Actualiser »**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- Déclenche le recalcul et l’affichage de la grille.
- **Feedback visuel** : spinner ou barre de progression si le chargement dépasse 1 s.
- **Raccourci clavier** : Ctrl + R pour les utilisateurs intensifs.

---

</div></div></div></div></div></div></div></div>##### II. Grille de résultats détaillée

**1 Comportements essentiels**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- **Tri multicolonne** : maintenir la touche Shift pour trier sur plusieurs colonnes successivement.
- **Recherche rapide** : champ sous chaque en-tête pour filtrer à la volée.
- **Pagination dynamique** : sélection du nombre de lignes (10, 25, 50, 100) ou « Afficher tout » pour les petits ensembles.
- **Enregistrement de la vue** : bouton « Enregistrer la vue » pour stocker les filtres + l’ordre de colonnes dans un favori.

</div></div></div></div></div></div></div></div> **2 Colonnes par défaut**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><table class="min-w-full" data-end="3802" data-start="2536"><thead data-end="2651" data-start="2536"><tr data-end="2651" data-start="2536"><th data-end="2557" data-start="2536">Colonne</th><th data-end="2627" data-start="2557">Description</th><th data-end="2651" data-start="2627">Format</th></tr></thead><tbody data-end="3802" data-start="2768"><tr data-end="2882" data-start="2768"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2789" data-start="2768">Réf. article</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2858" data-start="2789">Code unique interne</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2882" data-start="2858">Alphanumérique</td></tr><tr data-end="2997" data-start="2883"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2904" data-start="2883">Nom article</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2973" data-start="2904">Désignation complète</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="2997" data-start="2973">Texte libre</td></tr><tr data-end="3112" data-start="2998"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3019" data-start="2998">Type article</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3088" data-start="3019">Type sélectionné (visible pour rappel)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3112" data-start="3088">Texte</td></tr><tr data-end="3227" data-start="3113"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3134" data-start="3113">Station</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3203" data-start="3134">Station cible (ou « Toutes »)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3227" data-start="3203">Texte</td></tr><tr data-end="3342" data-start="3228"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3249" data-start="3228">Stock début période</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="3318" data-start="3249">Stock disponible au premier jour de l’intervalle</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3342" data-start="3318">Nombre entier/decimal</td></tr><tr data-end="3457" data-start="3343"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3364" data-start="3343">Entrées</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="3433" data-start="3364">Total des quantités entrées pendant la période</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3457" data-start="3433">Nombre</td></tr><tr data-end="3572" data-start="3458"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3479" data-start="3458">Sorties</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="3548" data-start="3479">Total des quantités sorties pendant la période</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3572" data-start="3548">Nombre</td></tr><tr data-end="3687" data-start="3573"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3594" data-start="3573">Stock fin période</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)] min-w-[calc(var(--thread-content-max-width)/3)]" data-end="3663" data-start="3594">Stock calculé (début + entrées – sorties)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3687" data-start="3663">Nombre</td></tr><tr data-end="3802" data-start="3688"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3709" data-start="3688">Unité</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3778" data-start="3709">Unité de mesure (ex. : pièce, kg, litre)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="3802" data-start="3778">Texte</td></tr></tbody></table>

</div></div></div></div></div></div></div>**4.Colonnes optionnelles**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- **Stock mini / Stock max** : pour repérer les seuils critiques.
- **Seuil d’alerte** : indicateur visuel (icône ⚠️) si stock fin &lt; stock mini.
- **CMP** (Coût moyen pondéré) et **Valeur totale** (stock fin × CMP).
- **Date du dernier mouvement** : pour audit.
- **Commentaires** : zone libre par ligne pour remarques internes.

  
---

</div></div></div></div></div></div></div></div>**3. Actions complémentaires**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- **Impression**
    
    
    - Aperçu A4 configuré (en-tête logo, titre, date d’export).
    - Choix d’inclure/exclure la légende des couleurs et icônes.

---

</div></div></div></div></div></div></div></div>**4. Exemple**

4.1 Audit mensuel des produits finis

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- Sélection : « Du 01/04/2025 au 30/04/2025 », granularité « Mois », type « Produits finis », station « Toutes ».
- Action : Actualiser → Export PDF avec entête et signatures.

</div></div></div></div></div></div></div></div>4.2 Suivi journalier des consommables

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">- Sélection : « Du 29/04/2025 au 30/04/2025 », granularité « Jour », type « Consommables », station « EST ».
- Action : Actualiser → Cliquer « Voir graphique » pour détecter un pic de consommation.

---

</div></div></div></div></div></div></div></div></article></div></div></div></div>#### **6. stock par lot** 

L’interface « Stock par lot » permet de suivre le stock disponible pour chaque article **par numéro de lot**, avec date d’expiration et autres métadonnées configurables. Elle comprend un tableau interactif listant les lignes de lot, des options de filtrage et de tri, ainsi que des totaux automatiques pour faciliter la prise de décision.

---

[![stock par lot 1.PNG](https://help.asmpos.com/uploads/images/gallery/2025-05/scaled-1680-/aVFstock-par-lot-1.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-05/aVFstock-par-lot-1.PNG)

##### I. Grille principale

**1 Structure générale**

- **Tableau interactif** : en-têtes fixes, ligne de totaux en pied de page, pagination et recherche intégrée.
- **Chaque ligne** correspond à un **article + lot** unique, afin d’assurer une traçabilité précise.

**2 Colonnes fixes (obligatoires)**

<table class="min-w-full" data-end="1405" data-start="853" id="bkmrk-colonne-description-"><thead data-end="931" data-start="853"><tr data-end="931" data-start="853"><th data-end="877" data-start="853">Colonne</th><th data-end="931" data-start="877">Description</th></tr></thead><tbody data-end="1405" data-start="1011"><tr data-end="1089" data-start="1011"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1035" data-start="1011">**Réf. article**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1089" data-start="1035">Code interne unique de l’article.</td></tr><tr data-end="1168" data-start="1090"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1114" data-start="1090">**Nom article**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1168" data-start="1114">Désignation complète.</td></tr><tr data-end="1247" data-start="1169"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1193" data-start="1169">**Numéro de lot**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1247" data-start="1193">Identifiant du lot .</td></tr><tr data-end="1326" data-start="1248"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1272" data-start="1248">**Qte (Quantité)**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1326" data-start="1272">Nombre d’unités disponibles dans ce lot.</td></tr><tr data-end="1405" data-start="1327"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1351" data-start="1327">**Date d’expiration**</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1405" data-start="1351">Date à laquelle le lot devient périmé.</td></tr></tbody></table>

**3 Colonnes personnalisables (optionnelles)**

- **Unité** (pièce, kg, litre, etc.)
- **Type d’article** (matières premières, produits finis…)
- **Statut** (ex. : « Quarantaine », « Libéré », « Bloqué »)
- **Date de réception** ou **Date de fabrication**
- **Commentaires** (zone libre pour notes internes)

---

##### II. Filtres et Fonctionnalités avancées

Au-dessus de la grille, disposez :

- **bouton "Mvt Lot "(mouvement article ):** permet afficher plus de détail sur les mouvements article
- **Tri** : clic sur en-tête pour tri ascendant/descendant, multi-tri
- **Champ de recherche rapide** (saisie libre) pour filtrer sur n’importe quelle colonne.

Au-dessous de la grille, disposez :

- **Totaux automatiques** : en pied de grille, somme des quantités par article ou lot sélectionné.
- **Pagination et affichage** : choix du nombre de lignes
- **Impression** : bouton *Imprimer* adapte le tableau pour A4, avec en-tête logo/titre/date.

**III. Cas d’usage et scénarios**

1. **Contrôle qualité pharmaceutique**
    
    
    - Filtrer sur les lots périmant dans les 30 prochains jours (Date d’expiration).
    - Exporter la liste pour la destruction ou le retour fournisseur.
2. **Préparation de commandes**
    
    
    - Afficher uniquement les lots « Libérés » et triés par date d’expiration croissante.
    - Utiliser la colonne Emplacement pour optimiser le picking.
3. **Audit interne**
    
    
    - Appliquer un filtre sur un article spécifique et imprimer l’état complet des lots.

<div class="flex shrink basis-auto flex-col overflow-hidden -mb-(--composer-overlap-px) [--composer-overlap-px:24px] grow" id="bkmrk--17"><div class="relative h-full"><div class="flex h-full flex-col overflow-y-auto [scrollbar-gutter:stable] @[84rem]/thread:pt-(--header-height)"><div class="@thread-xl/thread:pt-header-height mt-1.5 flex flex-col text-sm pb-25"><article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-14" dir="auto"><div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[70rem]:[--thread-content-margin:--spacing(12)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="6724b06e-d6fe-4f82-9903-d4ea6b593624" data-message-model-slug="o4-mini" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">---

</div></div></div></div></div></div></div></div></article></div></div></div></div>#### **7. Stock par Variant**

L’interface « Stock par variant » permet de suivre le stock disponible non seulement au niveau article, mais aussi selon différentes variations (couleur, taille, version, configuration). Elle se compose d’une zone de filtres pour sélectionner les variantes pertinentes, et d’une grille interactive listant, pour chaque lot d’articles variant, les quantités, états et métadonnées associées.

[![stock par variant.PNG](https://help.asmpos.com/uploads/images/gallery/2025-05/scaled-1680-/stock-par-variant.PNG)](https://help.asmpos.com/uploads/images/gallery/2025-05/stock-par-variant.PNG)

##### 7.1 Structure générale :  
Similaire à l'interface "Stock par lot", mais avec les adaptations suivantes :

Modifications claires par rapport à "Stock par lot"

1. **Remplacement des colonnes "Lot"** :
    
    
    - ❌ *Supprimer* :
        
        
        - `Numéro de lot`
        - `Date d'expiration`
    - ✅ *Ajouter* :
        
        
        - **`Variant`** (ex: "Taille L", "Couleur Rouge", "Modèle Pro" et les métadonnées des lots sont affichés aussi dans la colonne variant )
        - *Optionnel* : Colonnes détaillant les attributs du variant (ex: "Code couleur", "Poids", etc.).
2. **Colonnes communes conservées** :
    
    
    - `Référence article`
    - `Nom article`
    - `Quantité (Qte)`
    - Colonnes personnalisables (`Unité`, `Type d'article`, etc.).
3. **Totaux** :
    
    
    - Calculs par **variant**

##### 7.2 Exemples de scénarios

1. **Suivi des vêtements par taille et couleur**
    
    
    - Article « T-shirt basique », variantes « S-Bleu », « M-Rouge », « L-Noir ».
    - Filtre sur « T-shirt basique », et afficher seulement T-shirt basique « L-Noir ».
    - Affiche uniquement les variants « L-Noir »pour consulter le stock
2. **Gestion d’équipements électroniques par configuration**
    
    
    - Article « PC Portable X », variantes RAM/SSD (8 GB/256 GB, 16 GB/512 GB…).
    - Période illimitée, affichage de tous les variants
    - Permet de déceler rapidement les configurations les plus rares ou en rupture.
3. **Analyse des packs promotionnels**
    
    
    - Article « Pack promo Été », variantes « Pack A », « Pack B ».
    - Filtre par article + période de promotion, export PDF pour service commercial.