Par défaut, dans les ventes et les achats, le stock d'un article est mouvementé à partir du type 2 (livraison). Cela peut poser problème dans les inventaires à date, si celui-ci prend en compte la date du document et si la date de la facture est différente de la date de la livraison.
Pour remédier à ceci, Mercator permet de sauvegarder la date du mouvement de stock.
Pour cela, il faut ajouter les colonnes DATE_MVT_STOCK (type date) et TYPE_MVT_STOCK (type smallint) dans les tables LIGNES_V et/ou LIGNES_A.
alter table LIGNES_V add DATE_MVT_STOCK date not null default '19000101'
alter table LIGNES_V add TYPE_MVT_STOCK smallint not null default 0
alter table LIGNES_A add DATE_MVT_STOCK date not null default '19000101'
alter table LIGNES_A add TYPE_MVT_STOCK smallint not null default 0
Il est nécessaire d'exécuter la vérification de structure de la base de données SQL dans les outils avancés.
Voici les requêtes permettant d'initialiser les nouvelles colonnes.
update lignes_v set DATE_MVT_STOCK = pieds_v.date, TYPE_MVT_STOCK = pieds_v.type
from lignes_v inner join pieds_v on lignes_v.id=pieds_v.id and lignes_v.journal=pieds_v.journal and lignes_v.piece=pieds_v.piece
where type<=2 and id_article is not null
update lignes_a set DATE_MVT_STOCK = pieds_a.date, TYPE_MVT_STOCK = pieds_a.type
from lignes_a inner join pieds_a on lignes_a.id=pieds_a.id and lignes_a.journal=pieds_a.journal and lignes_a.piece=pieds_a.piece
where type<=2 and id_article is not null
Lorsque les colonnes mentionnées ci-dessus sont présentes, lors de la sauvegarde d'un document de type 2 (livraison) ou 1 (facture), Mercator sauvegardera la date et le type du document ayant mouvementé le disponible en premier.
Concrètement, si le document passe par le statut "Livraison", c'est la date de livraison qui sera sauvegardée. Si, par contre, il ne passe pas par le statut "Livraison" mais est directement de type "Facture", alors ce sera la date de facture qui sera sauvegardée.
Cette fonctionnalité requiert la mise à jour de l'inventaire à date.