Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Catégories de signalétique hiérarchisées

0000003060     -      17/01/2022

Mercator 10.10 ou ultérieur permet d'apporter la notion de hiérarchie dans les catégories de signalétique. Comme pour les rayons, familles et sous-familles, une catégorie 3 peut ainsi devenir l'enfant d'une catégorie 2 et une catégorie 2 avoir pour parent une catégorie 1. Ceci est valable pour les catégories de tous les signalétiques (même si nos exemples se limitent aux catégories articles).

Pour installer cette fonctionnalité, il suffit d'ajouter cette colonne dans la table des catégories souhaités (CAT_CLI, CAT_FOU, CAT_STCK, ...)

alter table CAT_STCK add ID_PARENT char(10) not null default ''

et ensuite, après un redémarrage de Mercator, exécuter "Outils Avancés / Base de Données SQL / Vérifier Structure".

Une fois ceci effectué, Mercator ajoute automatiquement une colonne "Parent" dans l'écran des catégories à partir du niveau 2.

cat_parent

Il n'est pas obligatoire que tous les niveaux participent à ce nouveau comportement hiérarchisé. En effet, Mercator détecte automatiquement le niveau maximal pour lequel au moins un parent est déterminé.

  • Toutes les catégories entre 1 et ce niveau maximum seront considérées comme répondant au comportement hiérarchique.
  • Les catégories au-delà de ce maximum continueront de fonctionner de façon indépendante l'une de l'autre (comme si la fonctionnalité n'était pas installée).

Ce niveau maximum peut être connu via :

Zoom
int maxCatTypeWithParent = MercatorUi.Sig._SigsStatic.SigByModule(MercatorUi.Sig._SigEnum.STOCK).MaxCatTypeWithParent;

 

Ce comportement s'applique :

Dans ce dernier cas, pour les niveaux compris entre 2 et le maximum évoqué ci-dessus, la liste des catégories est affichée sous la forme d'un arbre qui permet de visualiser facilement les catégories disponibles ainsi que le parent auquel elles appartiennent.

cat_multi_parent

 Remarques importantes :

  • Une fois qu'une catégorie enfant est utilisée dans le signalétique, il n'est plus possible de modifier son parent. Il est donc nécessaire de bien concevoir cette nomenclature de catégories avant de commencer à l'utiliser.

  • A ce stade du développement, cette fonctionnalité n'est pas disponible dans MercatorPenguin.

  • Lors de l'import (Excel) de données avec des catégories hiérarchisées (simples ou multiples), si la catégorie n est importée, alors il est obligatoire d'importer les catégories n-1 et toutes les précédentes jusque 1. Ceci permet à Mercator de vérifier que les données importées respectent l'arborescence.

  • Nous indiquons ci-dessous des exemples de requêtes SQL qui permettent de lister les articles pour lesquels la hiérarchie des catégories multiples (ici de 1 à 3) n'est pas respectée. Cela permet de corriger éventuellement des données qui ne respectent pas cette intégrité.
select distinct s_id from STOCK 
inner join CAT_STCK_MULTI CAT_STCK_MULTI2 on (CAT_STCK_MULTI2.ID_SIG=STOCK.S_ID) and (CAT_STCK_MULTI2.TYPE=2)
inner join CAT_STCK CAT_STCK2 on (CAT_STCK2.TYPE=2) and (CAT_STCK_MULTI2.ID_CAT=CAT_STCK2.ID)
and not exists(select * from CAT_STCK_MULTI CAT_STCK_MULTI1 where (CAT_STCK_MULTI1.TYPE=1) and (CAT_STCK_MULTI1.ID_CAT=CAT_STCK2.ID_PARENT))

select distinct s_id from STOCK 
inner join CAT_STCK_MULTI CAT_STCK_MULTI3 on (CAT_STCK_MULTI3.ID_SIG=STOCK.S_ID) and (CAT_STCK_MULTI3.TYPE=3)
inner join CAT_STCK CAT_STCK3 on (CAT_STCK3.TYPE=3) and (CAT_STCK_MULTI3.ID_CAT=CAT_STCK3.ID)
and not exists(select * from CAT_STCK_MULTI CAT_STCK_MULTI2 where (CAT_STCK_MULTI2.TYPE=2) and (CAT_STCK_MULTI2.ID_CAT=CAT_STCK3.ID_PARENT))

 Ces requêtes donnent la liste des identifiants des fiches fautives.