MVTSTO-E/S
BUT Cette fonction a pour but de pouvoir faire un mouvement de stock d’entrée ou de sortie à partir d’une requête. La fonction renvoie ‘’ si le mouvement s’est bien passé, le code de l’erreur dans le cas contraire.
TYPE CARACTERE
SYNTAXE
Variable = MVTSTO-E/S(Date-Mvt, { Type-Palette, Palette }, Article, Qte-Mvt, Unité, Section, Emplacement, Type-Mvt)
PARAMETRES
Paramètre | E/S | O | Type | Description |
Date-Mvt | E | Oui | Date | Variable ou constante locale. Date à laquelle doit être fait le mouvement (ne peut être supérieur à aujourd’hui). |
Type-Palette | E | Oui | Caractère | Variable, constante locale ou type de conditionnement existant. |
Palette | E | Oui | Caractère | Variable ou constante locale. Référence de la palette. Si la référence est égale à ‘’, c’est qu’il n’y a pas de palette. Si la référence est égale à ‘*NOUVELLE’, DIAPASON générera un nouveau numéro de palette. |
Article | E | Oui | Caractère | Variable ou constante locale. Référence de l’article sur lequel est fait le mouvement. |
Qte-Mvt | E | Oui | Numérique | Variable ou constante locale. Quantité du mouvement. |
Unité | E | Oui | Caractère | Variable, constante locale ou liste des unités de mesure. Unité de mesure dans lequel est fait le mouvement. |
Section | E | Oui | Caractère | Variable, constante locale ou liste des sections. Référence de la section. |
Emplacement | E | Oui | Caractère | Variable, constante locale ou liste emplacement. Référence de l’emplacement. « *DEFAUT » correspond à l’emplacement défaut. |
Type-Mvt | E | Oui | Caractère | Variable, constante locale ou liste des types de mouvement d’entrée ou de sortie (référencé dans l’application FCTYM). Ce paramètre peut également être utilisé pour passer une liste chaînée pouvant contenir les informations décrites ci-dessous. |
Utilisation du paramètre Type-Mvt pour gérer : un prix de mouvement et les informations origine, destination et raison du mouvement codifiées.
‘SEP=’ + Valeur1 + Séparateur +
‘REF=’ + Valeur2 + Séparateur +
‘PRI= ‘ + Valeur3 + Séparateur +
‘ORT=’ + Valeur4 + Séparateur +
‘OR1=’ + Valeur5 + Séparateur +
‘OR2=’ + Valeur6 + Séparateur +
‘DET=’ + Valeur7 + Séparateur +
‘DE1=’ + Valeur8 + Séparateur +
‘DE2=’ + Valeur9 + Séparateur +
‘RAT=’ + Valeur10 + Séparateur +
‘RA1=’ + Valeur11 + Séparateur +
‘RA2=’ + Valeur12 + Séparateur +
‘MAJ=’ + Valeur13 + Séparateur +
Avec :SEP = séparateur (obligatoire)
REF = référence type de mouvement utilisé (obligatoire)
PRI = prix rattaché au mouvement (facultatif)
ORT = type origine du mouvement (facultatif)
OR1 = origine 1 du mouvement (facultatif)
OR2 = origine 2 du mouvement (facultatif)
DET = type destination (facultatif)
DE1 = destination 1 du mouvement (facultatif)
DE2 = destination 2 du mouvement (facultatif)
RAT = type raison du mouvement (facultatif)
RA1 = raison 1 du mouvement (facultatif)
RA2 = raison 2 du mouvement (facultatif)
MAJ = I pour mise à jour interactive (facultatif)
Directement des variables STO avec leur valeur sous la forme :
‘SEP=’ + Valeur1 + Séparateur +
‘REF=’ + Valeur2 + Séparateur +
‘STO.NomVar1= ‘ + Valeur3 + Séparateur +
‘STO.NomVar2=’ + Valeur4 + Séparateur
…
Avec :SEP = séparateur (obligatoire)
REF = référence type de mouvement utilisé (obligatoire)
STO.NomVar1= Variable de type STO.
Le caractère ’=’ (égale) ne doit pas être utilisée dans l’affectation d’une variable, Diapason renverra l’erreur ’ : définition incorrecte’.
Ex : VLO.Parametre = CLO.’SEP=’ + CLO.’ ;’ + CLO.’ ;’ + CLO.’REF=’ + CLO.’ENT_APPRO’ + CLO.’ ;’ + CLO. ‘STO.MVtComment=’ + CLO.’Mouvement de Stock effectue = ’ + VLO.Utilisateur + CLO.’ ;’ + CLO.’STO.MvtPrix=’ + CHAINE(VLO.Prix)
Lien entre variables STO et champs indexés de la table d’historique de stock
Ci-dessous voici le lien entre des variables STO et des indexs de HistElem. Il peut être intéressant d’alimenter ces variables pour rendre plus rapide des recherches ultérieures sur l’historique de stock.
Un mouvement avec les paramètres suivant :
apparaitra ainsi dans l’historique :
Deux index de la table d’historique de stock (HistElem) portent sur ces champs banalisés
➡️ Index “ParCleDecroiMvtStockIdx”
Champ de l’index | Variable STO correspondantes | Libellé historique de stock |
---|---|---|
DiaCleTyp | MvtCleType | C.T |
DiaCleRe1 | MvtCle1 | Clé 1 |
DiaCleRe2 | MvtCle2 | Clé 2 |
➡️ Index “ParEntDecroiMvtStockIdx”
Champ de l’index | Variable STO correspondantes | Libellé historique de stock |
---|---|---|
DiaEntTyp | DiaEntTyp | E.T |
DiaEntRe1 | DiaEntRe1 | Entité 1 |
DiaEntRe2 | DiaEntRe2 | Entité 2 |
Les mouvements de stock sont généralement traités par le batch des stock sur un environnement Diapason (voir section “Paramétrage mise à jour stocks” sur cette page)
Il est possible de forcer localement le mode interactif pour un mouvement en utilisant la syntaxe suivante :

EXEMPLES
➡️ Exemple 1 : Entrée en stock de vrac
▪️ Situation avant le mouvement :

▪️ Requête

▪️ Trace

▪️ Historique de stock (après traitement par le batch de stock)
▪️ Situation après le mouvement (après traitement par le batch de stock)

➡️ Exemple 2 : Entrée en stock de vrac forcée en interactif avec valorisation du prix du mouvement
▪️ Situation avant le mouvement :
Stock global :

Stock de la section 01-MAG :

▪️ Requête

▪️ Trace

▪️ Historique de stock (sans attendre traitement par le batch de stock)
▪️ Situation après le mouvement (sans attendre traitement par le batch de stock)
Stock global :

Stock de la section 01-MAG :

La variable STO.MvtPrix donné en paramètre de la fonction correspond au prix d’une unité de l’article mouvementé.
Le PUMP après mouvement s’obtient par le calcul suivant :
PUMP après mvt = ( (Stock global avant mouvement * PUMP avant mouvement ) + (Quantité mouvement * Prix mouvement) ) / Stock global après mouvement
Un mouvement de sortie de stock même s’il est valorisé n’a pas d’impact sur le PUMP. Exemple en faisant le même mouvement que précédemment mais en sortie

➡️ Exemple 3 : Forçage du PUMP d’un article
Avant toute chose, il faut s'assurer qu’il existe un type de mouvement de stock avec pour référence « PUMP ». C’est de lui dont il est fait mention dans le paramètre « REF=PUMP ».
Il doit avoir la valeur défaut « PUMP » dans la variable « MvtType ».
Il est à noter que la fonction prend en charge la conversion de l’unité de mesure donnée. En clair, vous pouvez donner le PUMP dans une autre unité que celle de stock, il faut juste qu’un coefficient de conversion existe.
▪️ Situation avant le mouvement :
Stock global :

▪️ Requête

▪️ Trace

▪️ Historique de stock (après traitement par le batch de stock)
▪️ Situation après le mouvement :
