Dans les services administration des ventes de certaines entreprises, il est un besoin qui revient souvent et qu’on ne pouvait pas résoudre facilement en standard: autoriser les articles disponibles par client, et surtout, bloquer tous les autres.
Par défaut, lorsqu’on créée une commande client et qu’on a sélectionné un client, tous les produits lancés dans la société courante sont disponibles pour être ajoutés.
Il existe un moyen de restreindre la liste des articles disponibles via les RLS (Record Level Security, ou Sécurité de niveau d’engagement en français). Pour chaque rôle, on peut restreindre la liste des articles autorisés. Seuls ces articles seront visibles dans la liste des articles. Problème : cela s’applique pour tous les articles de l’utilisateur. A moins de travailler avec l’Enterprise Portal et d’avoir un utilisateur par client – dans ce cas on peut restreindre les articles pour ce client via les RLS en définissant par exemple un rôle par client – il n’est pas envisageable d’utiliser les RLS pour paramétrer une restriction à un croisement client/article.
La liste d’article, qui est une nouvelle fonctionnalité disponible depuis la R3, n’effectue pas de restriction mais propose simplement une liste d’article. Il est tout à fait possible d’ajouter des articles qui ne sont pas liés à la liste manuellement au niveau de la Vue ligne de la commande client.
Pour les articles qui sont gérés via le WMS (Wax), il est possible de paramétrer ce type de restriction via les filtres.
Comment fonctionnent les filtres ?
Tout d’abord, il faut savoir que les filtres sont étroitement liés aux groupes d’articles (oui les groupes d’articles qui listent les comptes impactés). Un onglet Gestion des entrepôts est apparu avec l’arrivée du WMS qui permet d’indiquer quels codes utiliser pour chaque groupe d’article (on va y revenir).
Un premier niveau de paramétrage se fait donc sur les groupes d’articles. Si des articles gérés avec des groupes d’articles différents ont des comportements différents en termes de restriction des données, alors il sera plus facile d’exploiter pleinement la fonctionnalité des filtres. Sinon il faudra jouer avec les différents codes filtre.
Comme on peut le voir, il existe 4 Types de filtres, représentés par 4 codes (Code1, Code 2, Code 3 et Code 4). C’est un champ ENUM qu’on ne peut pas renommer. Pour chaque code, on peut paramétrer autant de Code filtre que l’on souhaite.
Depuis Gestion des entrepôts > Paramétrage > Filtres > Filtres :
Dans cet exemple, deux Code 1 ont été créés pour Auchan et Carrefour.
Pour que la fonctionnalité soit pleinement active, il faut cocher l’option Activer les filtres client au niveau des Paramètres de gestion des entrepôts depuis le menu Gestion des entrepôts.
Illustration au travers d’un exemple
La restriction des accès aux données se fait à un croisement article / client, il y a donc du paramétrage à faire sur ces deux entités, en plus du paramétrage décrit dans le chapitre précédent concernant les filtres.
Depuis une fiche client, il faut venir paramétrer les filtres via le bouton associé disponible depuis l’onglet Client. Pour le client sélectionné, il convient d’ajouter les codes filtres autorisés par groupe d’article. On peut ajouter jusqu’à 4 codes mais il faut être cohérent avec le paramétrage qui a été réalisé sur le groupe d’article concerné.
Au niveau de l’article, il faut en premier lieu qu’il soit affecté à un groupe de dimension stockage qui supporte le WMS (sans cela, l’onglet Gestion des entrepôts de la fiche article ne servira pas).
Il faut également que l’article soit correctement paramétré pour être utilisé par le WMS (affectation d’une hiérarchie de réservation, affectation d’un ID groupe de séquence d’unités).
Puis, on peut affecter le ou les codes. Comme l’article ART-WMS-CARREFOUR est affecté au groupe Audio, il n’est utile que de paramétrer le Code 1.
A présent, on peut créer une commande client, pour le client Carrefour évidemment. Lorsqu’on ajoute l’article ART-WMS-CARREFOUR, tout se passe bien. Par contre, l’article ART-WMS-AUCHAN a été paramétré avec le Code 1 = Auchan. Il est néanmoins disponible dans la liste des articles visibles.
Mais, lorsqu’on l’ajoute, le message d’erreur suivant s’affiche, bloquant l’ajout de la ligne.
Remarque : il n’est pas indispensable que la ligne de commande concerne un entrepôt géré avec le WMS pour que cela fonctionne. Néanmoins, l’article étant géré avec un groupe de dimension stockage dont le WMS est actif, vous risquez d’avoir des rapidement des petits soucis pour la suite du traitement.
Important : depuis Gestion des entrepôts > Paramétrage > Filtres > Articles généralement disponibles, il est possible de paramétrer des codes pour les clients ou fournisseurs (ou les deux) par groupe d’article. Dans ce cas, la valeur s’applique pour tous les clients par défaut. Attention donc avec ce paramétrage, si on ajoute par exemple la valeur Auchan et Carrefour pour le Code 1 sur le groupe Audio pour les Clients dans les Articles généralement disponibles, les deux articles de ce jeu d’essai seront autorisés pour le client Carrefour car l’un est affecté au code 1 Auchan et l’autre est affecté au Code 1 Carrefour.
Limites
La première des limites est que cette fonctionnalité n’est active que si le WMS est utilisé, ou, autrement dit, si la clé de configuration est activée (on parle bien de WAX, et pas l’ancien WMS II). De plus, seuls les articles concernés par le WMS sont paramétrables pour les filtres. En effet, les autres articles ont tous les champs de l’onglet Gestion des entrepôts grisés, y compris ceux des filtres.
Le paramétrage est relativement contraignant, car on ne peut exploiter que les groupes d’articles et les 4 types de codes pour affiner tout son paramétrage. Notre exemple était simple, mais que faire si l’article était autorisé pour AUCHAN et CARREFOUR mais pas LECLERC sachant qu’on ne peut affecter qu’un seul code 1 ? Il faudrait créer des codes pour chacune des combinaisons possibles, ce qui est faisable mais lourd à maintenir.
Enfin, si le processus bloque l’ajout des lignes qui ne possèdent pas la bonne valeur de filtre, il aurait été intéressant que les valeurs non autorisées soient directement masquées dès la consultation de la liste des articles disponibles.
Néanmoins, cette fonctionnalité a le mérite d’exister, et peut parfaitement convenir dans certains cas : lorsqu’un article porte un nom différent par client (et donc les références ont été dupliquées), il est facile de maintenir des codes séparés. De façon générale, lorsque les croisements articles / clients ne sont pas trop nombreux et complexes, cela peut convenir parfaitement
Voilààààààààààà
Yohann ROLLAND
La restriction via Record Level Security n’est plus proposée dans D365FO, quelle fonctionnalité est proposée dans D365FO pour faire une restriction la liste des articles dans une commande de vente ou d’achat par groupe d’utilisateur ?
Merci
Bonjour,
XDS restreint l’accès aux données en modifiant les requêtes SQL envoyées à la base de données.
En effet, RLS est obsolète à présent.
Plus d’infos ici par exemple, il y a un livre blanc à télécharger.
https://kaya-consulting.com/extensible-data-security-examples/
Yohann
Merci pour cette petite démo sur les logiciels WMS