Suppression des articles en sommeil

0000002377     -      22/08/2016

Mercator permet la suppression des articles en sommeil. Cette suppression peut se faire en une seule opération

  • soit pour tous les articles en sommeil (S_SOMMEIL=1)
  • soit uniquement pour les articles du filtre actif qui sont en sommeil

Cette fonctionnalité est disponible dans le menu "Articles". Par défaut, elle est désactivée. Il est donc nécessaire d'autoriser l'accès à celle-ci en décochant, dans le profil utilisateur, dans l'onglet "Bloquer / Gestion" la case à cocher correspondante.

Afin de préserver la cohérence de la base de données (respect des clés étrangères - foreign keys), Mercator va en définitive remplacer les références vers cet article dans les documents de ventes, d'achats et de transferts de dépôt, par un article qui doit présenter ces caractéristiques :

  • non suivi en stock
  • pas de gestion des numéros de série
  • pas de gestion des lots

Cet article doit être spécifié dans l'option "Outils / Options / Signalétiques / Article pour suppression des articles en sommeil" (ID_ART_SOM).

Avant la suppression des articles en sommeil, Mercator vérifie si les candidats à cette suppresion ne sont pas repris dans une de ces catégories :

  • Les articles à numéros de série
  • Les articles à lots
  • Les articles qui sont, au sens des articles liés/mariés/pacsés, des enfants d'autres articles qui ne sont pas eux mêmes candidats à la suppression
  • Les articles repris dans "Outils / Remises" (ventes ou achats)

Si c'est le cas, une fenêtre informe l'utilisateur que ces articles ne seront pas supprimés. Il peut alors interrompre le processus.

Lors de la suppression effective des articles en sommeil, Mercator effectue ces opérations (en fonction des tables trouvées dans le dossier) :

  • Suppression dans ARTFOU des enregistrements dépendant de ces articles
  • Suppression dans TARCLI des enregistrements dépendant de ces articles
  • Suppression dans TARPREST des enregistrements dépendant de ces articles
  • Suppression dans ARTLIENS des enregistrements dépendant de ces articles
  • Suppression dans TACTSIG des enregistrements dépendant de ces articles
  • Modification des références à ces articles dans LIGNES_V
  • Modification des références à ces articles dans LIGNES_A
  • Modification des références à ces articles dans LIGNES_D
  • Modification des références à ces articles dans ACTIONS
  • Remise à blanc des liaisons croisées entre signalétiques vers ces articles
  • Transfert des fichiers (tant sur disque que SQL) vers un sous-répertoire du fileView/sqlFileView de l'article de destination. Le nom du sous-répertoire est l'ID de l'article supprimé.
 
Le cas échéant, la requête de suppression peut-être modifiée via un customizer SigStock implémentant l'interface MercatorUi.ICustomizers.IStringUpdater. L'ID de cette requête est DELETE_INACTIVE_ITEMS.
 
Remarque importante
Si des fichiers "disques" sont associés, via un FileView, aux articles en sommeil à supprimer, il faut s'assurer au préalable que l'utilsateur en cours a le droit de déplacer des répertoires au niveau du volume partagé qui héberge ces fichiers. Le transfert de ces fichiers se fait après la transaction SQL de suppression. Il n'est dès lors pas possible de rétablir la situation d'origine si le déplacement des fichiers n'est pas autorisé. (Le problème ne se pose pas pour les fichiers "SQL" puisque leur déplacement est effectué durant la transaction de suppression.)