Après de la centalisation des mouvements comptables dans un MFACT ou un MSHOP, les backorders vides sont supprimés puisqu'ils ne sont plus porteurs d'aucune information devant être encore utilisée par après.
Par contre, dans un MFD ou un MCD, après export des mouvements vers la centrale, les backorders vides sont aussi supprimés puisqu'ils ne sont non plus porteurs d'aucune information devant être encore utilisée par après.
Dès lors, un problème peut se poser dans les configurations DIST, puisque les 2 fonctionnalités (centralisation comptable + exports vers centrale) sont disponibles et que les 2 suppressions indiquées ci-dessus peuvent entrer en conflit.
Depuis la version 7.2.27 de MercatorEngine.exe, l'option DIST amène 2 nouvelles options dans "Outils / Options / Autres" :
- DIST : effacer BO vides après centralis. : cette option permet de déterminer si, après la centralisation en comptabilité, les back-orders vides doivent être supprimés.
- DIST : effacer BO vides après centrale : cette option permet de déterminer si, après l'export des mouvements vers la centrale, les back-orders vides doivent être supprimés.
Il est donc possible de désactiver l'une et/ou l'autre suppression des backorders vides afin d'obtenir le résultat escompté en fonction de la chronologie des exports et centralisations choisie.
Il faut noter que dans le cas de désactivation de l'une ou l'autre de ces suppressions automatiques, il se pourra que les backorders vides restent dans la base de données de Mercator. Ceci ne pose toutefois aucun problème. (Il n'y a pas de risque de centraliser deux fois le même mouvement, par exemple) Il est par contre simple de supprimer ces backorders vides par module (voir requêtes ci-dessous) ou via TOOLS.EXE, menu "Outils / Supprimer / Back-orders Vides"
Exemple de requête SQL permettant de supprimer les BO vides
delete lignes_v from pieds_v where ((lignes_v.id=pieds_v.id) and (lignes_v.journal=pieds_v.journal) and (lignes_v.piece=pieds_v.piece)) and (pieds_v.n_lignes2=0) and (pieds_v.type>1) and (pieds_v.type<=4)
delete from pieds_v where (n_lignes2=0) and (type>1) and (type<=4)
delete lignes_a from pieds_a where ((lignes_a.id=pieds_a.id) and (lignes_a.journal=pieds_a.journal) and (lignes_a.piece=pieds_a.piece)) and (pieds_a.n_lignes2=0) and (pieds_a.type>1) and (pieds_a.type<=4)
delete from pieds_a where (n_lignes2=0) and (type>1) and (type<=4)