Limiter l'utilisation de certains paramètres selon le niveau de l'utilisateur

0000003193     -      14/11/2023

Mercator 11.0 ou ultérieur permet de limiter l'utilisation de ces paramètres selon le niveau de l'utilisateur :

Ceci dans tous les écrans paramétrables montrant ces paramètres.

Pour installer cette fonctionnalité, il faut ajouter une colonne de type NIVEAU smallint dans la table correspondante, hormis pour les tarifs où cette colonne existe par défaut :

  • Représentants : REPS
  • Conditions de livraisons : CONDIT
  • Catégories de signalétiques : CAT_CLI, CAT_FOU, CAT_STCK, ...
  • Devises : DEVISES
  • Rayons : RAYONS
  • Familles : FAMILLES
  • Sous-familles : SS_FAMIL
  • Rayons supplémentaires : RAYONS_SUPn
  • Familles supplémentaires : FAMILLES_SUPn
  • Sous-familles supplémentaires : SS_FAMIL_SUPn
alter table TABLE add NIVEAU smallint not null default 0

Ensuite, hormis pour les tarifs et les devises, il faut activer l'ajout automatique des colonnes supplémentaires. Pour cela, il faut cocher AutoAddCustomColumns dans l'écran "Outils > Paramètres > Customizers de Grilles", après avoir sélectionné dans le déroulant de gauche la valeur souhaitée. (Voir cette page)

Cette fonctionnalité est prise en compte dans les déroulants (combobox) et les listes de catégories multiples (listbox). Les éléments rendus non disponibles en fonction du niveau y apparaissent grisés.

En ce qui concerne les déroulants, un utilisateur ayant un niveau insuffisant, et dès lors voyant des éléments grisés, ne pourra effectuer aucune sauvegarde s'il a modifié la valeur d'un de ces déroulants pour y choisir un élément grisé. Toutefois, si la valeur existante est déjà grisée, il pourra modifier d'autres champs et sauvegarder. Cela permet à cet utilisateur de pouvoir modifier des informations sans toutefois altérer les données pour lesquelles son niveau n'est pas suffisant.

En ce qui concerne les documents de la gestion commerciale (ventes & achats), la valeur existante n'est pas celle présente à l'initialisation du document mais celle qui correspond à la donnée équivalente dans la fiche du client / fournisseur. Ceci dans la mesure où la colonne correspondante y est trouvée (par exemple : PIEDS_V.TARIF ~ CLI.C_TARIF). Cela permet donc à un utilisateur ne pouvant altérer un tarif spécifique d'effectuer une vente à un client qui avait déjà ce tarif.

Hormis le déroulant de tarif à la ligne dans les ventes, cette fonctionnalité ne s'applique pas aux déroulants visibles dans la grille (LinesEditor) des documents de la gestion commerciale, des écritures comptables, des transferts de dépôts ou des inventaires.

A noter : ces restrictions liées au niveau de l'utilisateur ne sont pas prises en compte lors de l'import Excel dans les signalétiques.