Personnaliser le tri des rayons, familles et sous-familles

0000003018     -      10/06/2022

Mercator 10.9 ou ultérieur permet de personnaliser le tri des rayons, familles et sous-familles. Par défaut, le tri est effectué sur le nom. Pour changer cela, il faut ajouter une colonne ORDRE dans la table correspondante.

alter table RAYONS add ORDRE int not null default 0
alter table FAMILLES add ORDRE int not null default 0
alter table SS_FAMIL add ORDRE int not null default 0

Il n'est pas obligatoire de placer cette colonne supplémentaire dans les trois tables. Il est donc possible, par exemple, de l'ajouter dans RAYONS et pas dans FAMILLES. Par contre, dès que la colonne est présente, le tri des données de la table est toujours effectué sur base de la colonne ORDRE. En conséquence, il conseillé d'initialiser la colonne ORDRE avec une valeur non nulle.

Les requêtes ci-dessous permettent de placer un tri qui, dans un premier temps, correspond au tri alphabétique sur le nom.

;with t as (select ID,ROW_NUMBER() OVER (ORDER BY NOM) AS RECNO from RAYONS)
update RAYONS set ORDRE = t.RECNO * 10 from t where (rayons.id=t.id)

;with t as (select FAMILLES.ID,ROW_NUMBER() OVER (ORDER BY RAYONS.ORDRE,FAMILLES.NOM) AS RECNO from FAMILLES inner join RAYONS on (familles.id_rayon=rayons.ID))
update FAMILLES set ORDRE = t.RECNO * 10 from t where (familles.id=t.id)

;with t as (select SS_FAMIL.ID,ROW_NUMBER() OVER (ORDER BY RAYONS.ORDRE,FAMILLES.ORDRE,SS_FAMIL.NOM) AS RECNO from SS_FAMIL inner join FAMILLES on (ss_famil.id_famille=familles.id) inner join RAYONS on (familles.id_rayon=rayons.id))
update SS_FAMIL set ORDRE = t.RECNO * 10 from t where (ss_famil.id=t.id)

 

Pour déterminer l'ordre, il suffit de déplacer les lignes en effectuant une opération de drag & drop au départ de l'entête de ligne.

rayons_ordre

Ce tri impacte les différents endroits de Mercator où les rayons, familles ou sous-familles sont affichés :

  • les déroulants dans le signalétique des articles
  • la colonne "Rayon/Famille/..." dans "Outils > Remises"
  • cette même colonne dans le tarif particulier clients
  • cette même colonne dans le tarif particulier prestataires
  • le TouchSelector
  • la boîte de sélection des rayons / familles / sous-familles dans les rapports
  • le site web : affichage de l'arborescence dans la marge des pages catalogues
  • MercatorPenguin
  • ...

Cette personnalisation du tri est compatible avec la gestion des rayons / familles / sous-familles supplémentaires.

Remarques :

  • lors de l'ouverture de l'écran des familles, l'ordre choisi manuellement est bien pris en compte, mais après un tri préliminaire par rayons.
  • lors de l'ouverture de l'écran des sous-familles, l'ordre choisi manuellement est bien pris en compte, mais après un tri préliminaire par rayons et ensuite familles.

 

Mots clés : trier; ordonner; RFS