Cegid XRP Ultimate  |  
I3   Actualisé le 06/10/2022
Ventes
TSTV - Actions réalisées par le traitement de mise à jour des stocks

Sélection et tri des commandes
   Le traitement sélectionne les commandes et sous-commandes pour lesquelles :
     - l'étape précédente obligatoire au traitement de mise à jour des stocks est réalisée ;
     - la mise à jour n'a pas déjà été effectuée.
Cette dernière information est contenue dans un indicateur présent dans l'en-tête de commande, dans les lignes de commandes et dans le détail des lots de production associés aux lignes. Les valeurs de cet indicateur sont "A" (stock en attente, mise à jour non réalisée) et "T" (stock traité, mise à jour réalisée). Les commandes peuvent être ou ne pas être expédiées. Une commande est expédiée lorsque le traitement des expéditions (TEXP) a été réalisé.

   Seules les lignes des commandes vérifiant les conditions suivantes sont traitées :
     - la classe de commandes influe sur les stocks ;
     - le dépôt physique du dépôt de la commande est un dépôt de stocks ;
     - le mode de vente influe sur les stocks ;
     - l'article vendu est géré en stock, soit directement, soit par l'intermédiaire d'un autre article. Un article vendu peut être rattaché à un article stocké différent (GATV).

   Les commandes sont triées par :
     - établissement physique du dépôt de la commande ;
     - dépôt physique du dépôt de la commande ;
     - établissement de la commande ;
     - classe, numéro et sous-numéro de commande.

Gestion des stocks
   Les stocks sont mis à jour par rapport à la quantité expédiée des lignes de commandes. Cette quantité est convertie en unité de stockage de l'article.
Si l'article est géré par lot de production et/ou emplacement, la quantité est détaillée par lot et/ou emplacement. Dans le cas des articles lotis les statuts qualités doivent être autorisés pour la transaction traitant la mise à jour (en standard SVTSTV), pour la classe de commandes et le mode de vente (dans GASQV). S'ils sont avalisés, mais qu'ils divergent du statut qualité de la ligne du détail par lots, celle-ci est mise à jour pour actualiser le statut.

   Contrôle avant traitement, que la date de mise à jour n'est pas antérieure à la date de clôture des stocks.
La date de mise à jour est fonction de l'occurrence CDVSTK du paramètre AUTSTOCK. Le principe de clôture des stocks n'est pas détaillé ici, nous rappelons simplement une partie du paramétrage nécessaire pour ce contrôle qui est fonction de l'occurrence TYPCLO du paramètre AUTSTOCK.

   Vérification également que la date de mise à jour est antérieure aux inventaires non traités ou en cours de génération pour l'établissement, le dépôt, l'article, le mode de stockage et le lot suivant le paramétrage indiqué par l'occurrence DRTMVS du paramètre AUTSTOCK.

   Les modes de stockage sont donnés par le mode de vente des lignes de commandes. Ce traitement tient compte des modes de stockage 1 et 2 liés au mode de vente.

   Systématiquement, contrôle de la présence des produits en stock en comparant la quantité expédiée avec la quantité disponible en stock. Lorsqu'il y a rupture de stock, la commande est en erreur.

   Le traitement génère une sortie de stocks sur le mode de stockage 1 égale à la quantité expédiée. Ceci se traduit par une mise à jour des stocks par lot (CSTL), des cumuls par article et par jour (CCAJ), et une mise à jour des stocks par emplacement (CSTE) si l'article est géré par emplacement.

   Si le mode de stockage 2 est précisé, le traitement met à jour les mêmes entités que pour le mode de stockage 1, mais au lieu d'effectuer une sortie, le traitement réalise une entrée. Dans le cas où le stock par lot n'existe pas pour ce second mode de stockage, le traitement le crée.

   De plus, si les stocks à date sont gérés, la déréservation est uniquement réalisée sur le mode de stockage 1. Le traitement soustrait la quantité expédiée à la quantité réservée pour les ventes.

Génération des mouvements de stocks
   Pour générer des mouvements de stocks, il est nécessaire de paramétrer les classes de commandes (GNCV). Pour chaque classe de commandes, il faut préciser que la génération des mouvements de stocks est active, ainsi que les classes de mouvements de stocks à utiliser.
Dans le cas où des mouvements de stocks sont générés, un paramétrage supplémentaire est nécessaire. Celui-ci est créé automatiquement lors du paramétrage des classes de commandes.

   Le fait de renseigner les classes de mouvements de stocks au niveau des classes de commandes crée :
     - des transactions (GTRA) dont le nom est "MSIVxxxx", où xxxx est la classe de mouvements de stocks. Elles font référence à l'objet "skimvs" et à l'application "STK" ;
     - des validations objectifs/traitement (GOVT) de type "I" pour les transactions "MSIVxxxx", avec objectif en lecture et objectif en mise à jour interdits et sans exception.

   Le paramétrage dans GOVT peut être modifié. Il est possible d'utiliser un objectif de prix en lecture pour créer les mouvements de stocks. L'objectif de prix en mise à jour est toujours interdit.
Si un objectif est utilisé en lecture (obligatoire, facultatif ou signalé), le paramétrage doit être complété dans les associations traitement/objectif (GOTR) en saisissant :
     - type : valeur "I" ;
     - nom : valeur "MSVIxxxx" ;
     - objectif par défaut : cocher la case ;
     - action : lecture ;
     - associé à l'objectif : l'objectif de prix doit être défini dans GOBP.
Si un objectif est utilisé en lecture (obligatoire, facultatif ou signalé), vous pouvez également utiliser un traitement modèle (GOTM).


   Plusieurs types de mouvements peuvent être créés : "Sortie", "Entrée", "Transfert dépôt client" et "Transfert mode de stockage".

   Les mouvements de type "Sortie" sont générés si la classe de mouvements de stocks pour sortie au niveau de la classe de commandes est renseignée. Si c'est le cas, on génère des mouvements de stocks regroupant toutes les lignes de commandes ayant même établissement, même dépôt et même date. Les lignes des mouvements de stocks indiquent les articles et les quantités.

   Les mouvements de stocks de type "Entrée" générés, regroupent toutes les lignes de commandes de la même manière que précédemment.

   Les mouvements de type "Transfert dépôt client" sont générés si la classe de mouvements de stocks de transfert dépôt client au niveau de la classe de commandes est renseignée, si le mode de stockage 2 est renseigné et si le dépôt client de la commande est renseigné. Ces mouvements de stocks regroupent toutes les lignes de commandes de la même manière que précédemment. Le principe de la génération de ce type de mouvements est détaillé dans la documentation sur la gestion des stocks clients.
Dans ce cas, même si la classe de type "Entrée" est renseignée, on ne génère pas de mouvement sur cette classe.

   Les mouvements de type "Transfert mode de stockage" sont générés si la classe de mouvements de stocks de transfert mode stockage au niveau de la classe de commandes est renseignée et si le mode de stockage 2 est renseigné. Ces mouvements de stocks regroupent toutes les lignes de commandes de la même manière que précédemment. Le détail des générations de mouvements de stocks sur cette classe est décrit dans le récapitulatif des différents cas exposés ci-après.

   Il est également possible pour un même mouvement de regrouper les lignes suivant l'occurrence RGPMVSVdu paramètre AUTSTOCK.

Différents mouvements de stocks générés
   Récapitulatif des différents cas pouvant se présenter en fonction du paramétrage des classes de mouvements de stocks et des modes de stockage.

1) Un seul mode de stockage (dépôt client non géré)

- Mode de stockage 1 renseigné
- Mode de stockage 2 non renseigné
- Quantité positive
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée indifféremment renseignée ou non (ignorée par le traitement)
- Classe de transfert de mode de stockage indifféremment renseignée ou non (ignorée par le traitement)

Création d'un mouvement avec la quantité positive sur le mode de stockage 1 et sur la classe de mouvements de stocks pour sortie.


- Mode de stockage 1 renseigné
- Mode de stockage 2 non renseigné
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée non renseignée
- Classe de transfert de mode de stockage indifféremment renseignée ou non (ignorée par le traitement)

Si la classe de mouvements de stocks pour sortie accepte les quantités négatives, alors création d'un mouvement avec la quantité négative sur le mode de stockage 1 et sur cette classe. Sinon, le traitement est en erreur.


- Mode de stockage 1 renseigné
- Mode de stockage 2 non renseigné
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée renseignée
- Classe de transfert de mode de stockage indifféremment renseignée ou non (ignorée par le traitement)

Si la classe de mouvements de stocks pour sortie accepte les quantités négatives, alors création d'un mouvement avec la quantité négative sur le mode de stockage 1 et sur cette classe. Sinon, création d'un mouvement avec la quantité positive sur le mode de stockage 1 et sur la classe de mouvements de stocks pour entrée.

2) Les deux modes de stockage sont différents (dépôt client non géré)

- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et différent du mode de stockage 1
- Quantité positive
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée non renseignée
- Classe de transfert de mode de stockage non renseignée

Génération d'un mouvement avec la quantité positive sur le mode de stockage 1 et sur la classe de mouvements de stocks pour sortie.
De plus, si la classe de mouvements de stocks pour sortie accepte les valeurs négatives, génération d'un second mouvement avec la quantité en négatif sur le mode de stockage 2 et sur cette classe. Si la classe de mouvements de stocks pour sortie n'accepte pas les valeurs négatives, le traitement est en erreur.



- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et différent du mode de stockage 1
- Quantité positive
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée indifféremment renseignée ou non (ignorée par le traitement)
- Classe de transfert de mode de stockage renseignée

Deux mouvements sont générés. L'un avec la quantité positive sur le mode de stockage 1 et sur la classe de mouvements de stocks pour sortie. Le second avec la quantité positive sur le mode de stockage 2 et sur la classe de transfert de mode de stockage.


- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et différent du mode de stockage 1
- Quantité positive
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée renseignée
- Classe de transfert de mode de stockage non renseignée

Traitement en erreur car la classe de transfert de mode de stockage doit être renseignée pour retomber dans le cas précédent.


- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et différent du mode de stockage 1
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée non renseignée
- Classe de transfert de mode de stockage non renseignée

Si la classe de mouvements de stocks pour sortie accepte les valeurs négatives, alors deux mouvements de stock vont être générés. L'un avec la quantité négative sur le mode de stockage 1 et sur la classe de mouvements de stocks pour sortie. Le second avec la quantité en positif sur le mode de stockage 2 et sur la classe de mouvements de stocks pour sortie.
Si la classe de mouvements de stocks pour sortie n'accepte pas les valeurs négatives, le traitement est en erreur.



- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et différent du mode de stockage 1
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée indifféremment renseignée ou non (ignorée par le traitement)
- Classe de transfert de mode de stockage renseignée

a) Si les classes de transfert de mode de stockage et de mouvements de stocks pour sortie acceptent les valeurs négatives, alors deux mouvements de stocks vont être générés. L'un avec la quantité négative sur le mode de stockage 1 et sur la classe de mouvements de stocks pour sortie. Le second avec la quantité négative sur le mode de stockage 2 et sur la classe de transfert.

b) Si la classe de mouvements de stocks pour sortie n'autorise pas les valeurs négatives et si la classe de transfert de mode de stockage les autorise, alors deux mouvements de stocks vont être générés. L'un avec la quantité en positif sur le mode de stockage 1 et sur la classe de transfert. Le second avec la quantité négative sur le mode de stockage 2 et sur la classe de transfert.

c) Si la classe de mouvements de stocks pour sortie autorise les valeurs négatives et si la classe de transfert de mode de stockage ne les autorise pas, alors deux mouvements de stock vont être générés. L'un avec la quantité négative sur le mode de stockage 1 et sur la classe de mouvements de stocks pour sortie. Le second avec la quantité en positif sur le mode de stockage 2 et sur la classe de mouvements de stocks pour sortie.

d) Si les classes de transfert de mode de stockage et de sortie n'autorisent pas les valeurs négatives, alors deux mouvements de stocks vont être générés. L'un avec la quantité en positif sur le mode de stockage 2 et sur la classe de sortie. Le second avec la quantité en positif sur le mode de stockage 1 et sur la classe de transfert.



- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et différent du mode de stockage 1
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée renseignée
- Classe de transfert de mode de stockage non renseignée

Traitement en erreur car la classe de transfert de mode de stockage doit être renseignée pour retomber dans le cas précédent.

3) Les deux modes de stockage sont identiques (dépôt client non géré)

- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et égal au mode de stockage 1
- Quantité positive
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée indifféremment renseignée ou non (ignorée par le traitement)
- Classe de transfert de mode de stockage indifféremment renseignée ou non (ignorée par le traitement)

Un seul mouvement est généré avec la quantité positive sur le mode de stockage et sur la classe de mouvements de stocks pour sortie.


- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et égal au mode de stockage 1
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée non renseignée
- Classe de transfert de mode de stockage indifféremment renseignée ou non (ignorée par le traitement)

Si la classe de mouvements de stocks pour sortie accepte les valeurs négatives, alors un seul mouvement est généré avec la quantité négative sur le mode de stockage et sur la classe de mouvements de stocks pour sortie.
Si la classe de mouvements de stocks pour sortie n'accepte pas les valeurs négatives, le traitement est en erreur.



- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné et égal au mode de stockage 1
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de mouvements de stocks pour entrée renseignée
- Classe de transfert de mode de stockage indifféremment renseignée ou non (ignorée par le traitement)

Si la classe de mouvements de stocks pour sortie accepte les valeurs négatives, alors un seul mouvement est généré avec la quantité négative sur le mode de stockage et sur la classe de mouvements de stocks pour sortie.
Si la classe de mouvements de stocks pour sortie n'accepte pas les valeurs négatives, alors un seul mouvement est généré avec la quantité en positif sur le mode de stockage et sur la classe d'entrée.

Gestion du dépôt client
   Lorsque le traitement réalise un transfert de marchandises du dépôt principal de la commande vers le dépôt client, différents mouvements de stocks sont générés.
Pour générer un mouvement vers le dépôt client, il est nécessaire d'avoir deux modes de stockage associés au mode de vente. Sinon un seul mouvement de sortie sur la classe de sortie et sur le mode de stockage 1 est généré.

   Si la quantité est positive, si deux modes de stockage sont associés au mode de vente et si les classes de sortie et de transfert dépôt client sont renseignées au niveau de la classe de commandes, alors deux mouvements sont générés. Le premier sur la classe de sortie et sur le mode de stockage 1 pour la quantité de la ligne. Le second sur la classe de transfert et sur le mode de stockage 2 pour la quantité de la ligne.

   Si la quantité est négative, le traitement génère les mêmes mouvements que précédemment, seulement si les classes de sortie et de transfert autorisent les quantités négatives.

   Si les deux classes n'autorisent pas les quantités négatives, le traitement génère deux mouvements. Le premier sur la classe de transfert et sur le mode de stockage 1 pour la quantité en positif de la ligne. Le second sur la classe de sortie et sur le mode de stockage 2 pour la quantité en positif de la ligne.

   Si seulement une de ces deux classes n'autorise pas les quantités négatives, le traitement est en erreur.

Récapitulatif des différents cas :
- Mode de stockage 1 renseigné
- Mode de stockage 2 non renseigné
- Quantité positive
- Classe de mouvements de stocks pour sortie renseignée
- Classe de transfert dépôt client non renseignée

Création d'un mouvement avec quantité positive sur mode de stockage 1 et classe de mouvements de stocks pour sortie.


- Mode de stockage 1 renseigné
- Mode de stockage 2 non renseigné
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de transfert dépôt client non renseignée

Si la classe de mouvements de stocks pour sortie accepte les valeurs négatives, alors création d'un mouvement avec quantité négative sur mode de stockage 1 et classe de mouvements de stocks pour sortie. Sinon, le traitement est en erreur.


- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné
- Quantité positive
- Classe de mouvements de stocks pour sortie renseignée
- Classe de transfert dépôt client renseignée

Création d'un mouvement avec quantité positive sur mode de stockage 1 et classe de mouvements de stocks pour sortie.
Création d'un mouvement avec quantité positive sur mode de stockage 2 et classe de transfert dépôt client.
Ceci est valable même si les deux modes de stockage sont identiques.



- Mode de stockage 1 renseigné
- Mode de stockage 2 renseigné
- Quantité négative
- Classe de mouvements de stocks pour sortie renseignée
- Classe de transfert dépôt client renseignée

Si la classe de mouvements de stocks pour sortie et la classe de transfert dépôt client autorisent les valeurs négatives, alors création d'un mouvement avec quantité négative sur le mode de stockage 1 et la classe de mouvements de stocks pour sortie. Création d'un second mouvement avec quantité négative sur le mode de stockage 2 et la classe de transfert dépôt client.

Si la classe de mouvements de stocks pour sortie et la classe de transfert dépôt client n'autorisent pas les valeurs négatives, alors création d'un mouvement avec quantité en positif sur le mode de stockage 1 et la classe de transfert dépôt client. Création d'un second mouvement avec quantité en positif sur le mode de stockage 2 et la classe de mouvements de stocks pour sortie.

Si seulement une des deux classes n'autorise pas les valeurs négatives, le traitement est en erreur.

Ceci est valable même si les deux modes de stockage sont identiques.

Particularités des articles composés
   Certains articles vendus peuvent être composés d'autres articles (voir kits).
Deux cas se présentent alors : soit les composants de l'article sont générés sur la commande de ventes, soit ils ne le sont pas.
Lorsque les composants ne sont pas générés sur la commande, et que l'article composé n'est pas stocké, le traitement crée des mouvements de stocks pour ses articles composants.
Ces mouvements sont créés sur les classes paramétrées au niveau de la classe de commandes et sur les modes de stockage associés au mode de vente de la ligne de l'article composé. Le numéro de ligne de commande figurant sur le mouvement est celui de la ligne de l'article composé.
Etant donné que ces articles n'apparaissent pas sur les lignes de commande, même si les stocks à date sont gérés, il n'y a pas de déréservation à effectuer.
Les seules actions réalisées sont :
- la mise à jour du stock par lot ou par lot et emplacement ;
- la mise à jour du cumul des articles mouvementés par jour ;
- la génération des mouvements de stocks en fonction des classes et du mode de vente. La génération de mouvements de stocks pour les articles composants respecte les mêmes règles que pour un article traditionnel.

Mise à jour des commandes traitées
   Une fois le traitement correctement effectué pour une commande, ce dernier effectue plusieurs mises à jour sur celle-ci.
L'indicateur de mise à jour en stock de l'en-tête de la commande est positionné à "T".
La date à laquelle les stocks sont mis à jour est renseignée en fonction de l'occurrence CDVSTK du paramètre AUTSTOCK.
Le traitement modifie également l'étape de la commande et la date de la dernière étape réalisée.

   L'indicateur des lignes de commandes signifiant que les stocks sont mis à jour est lui aussi positionné à "T".
Le même principe est appliqué sur le détail des lots et emplacements lorsque l'article est géré par lot et/ou emplacement.

   Comme pour toutes les transactions référencées dans les étapes, il est possible de conserver une trace des étapes réalisées sur une commande. Si lors de la définition de l'étape par classe vous indiquez que la mémorisation est active pour la mise à jour en stock, le traitement crée cet historique en indiquant le numéro de l'étape, l'utilisateur ayant effectué l'étape, ainsi que la date et l'heure de réalisation de l'étape.

   Si l'élément traité est une liste de commandes, le traitement réalise plusieurs modifications sur cette liste au niveau de :
- l'étape de la liste ;
- la date de dernier traitement ;
- l'utilisateur ayant réalisé le traitement ;
- du nom du traitement réalisé.