Personnaliser les conditions d’affichage d’une table Dataverse dans Power pages

Étiquetté : 

  • Personnaliser les conditions d’affichage d’une table Dataverse dans Power pages

    Posté par Gilles L sur 18 octobre 2023 à 19h31

    Bonjour,

    Je veux utiliser Power pages pour permettre mes clients de consulter les enregistrements qui les concernent dans une table Dataverse.

    J’ai fait une première version de mon site Power pages en no code/low code qui affiche tous les enregistrements de la table.

    Dans une seconde version, j’ai activé la fonction de filtre associé à l’affichage de la table. Lorsque le client renseigne le filtre, la table est filtrée et n’affiche que les enregistrements correspondants. Sauf qu’avant de renseigner le filtre, le client voit les enregistrements de tous les autres clients, ce qui n’est bien sûr pas souhaitable. Et je n’ai pas trouvé comment afficher une table vide si la valeur du filtre est vide.

    J’ai vu dans d’autres posts qu’il est possible d’accéder au code mais il n’y a pas beaucoup de documentation sur le sujet, et les bouts de code que j’ai pu apercevoir sont incompréhensibles (c’est quoi ces instructions encadrées par des {%…%}?). Est il possible d’utiliser des fonctions pour aller au-delà de ce que permet l’outil no code/low code?

    Si quelqu’un peut m’aider à avancer dans mes recherches ou me conseiller sur une meilleure façon de s’y prendre ce serait top.

    Merci d’avance.

    Gilles

    PostID=laXgLOkzpT5lWAv

    Gilles L a répondu Il y a 10 mois, 1 semaine 1 Membre · 2 Réponses
  • 2 Réponses
  • DavidZed

    Membre
    18 octobre 2023 à 21h14

    Bonjour Gilles L ,

    Il y a un moyen très simple de parvenir à tes fins, sans code, en utilisant les autorisations de table.

    En premier lieu il te faudra en prérequis :

    • Que tu renseignes les sociétés de tes clients dans la Table Comptes / Account

    • Que tu associes les utilisateurs, qui sont dans la table contacts à une société (de la table compte)

    • Enfin, pour toutes les tables que tu dont tu souhaites permettre l’accès à tes clients externes, il faudra ajouter une colonne recherche / lookup vers la table Comptes, et assigner à chaque enregistrement le compte concerné.

    Une fois ces étapes réalisées, tu pourras paramétrer les autorisations de tables en indiquant le type d’autorisation : compte/ account, il faudra préciser la colonne lookup qui contient la liaison vers la table compte.

    S’il y a des tables pour lesquelles tu souhaites que les clients aient accès à tous les enregistrements, il faudra laisser sur autorisation globale.

    J’espère avoir été clair, si besoin la doc est ici : Définir les autorisations de table dans Power Pages | Microsoft Learn

    CommentID=anOoySI6gZ77N7u, PostID=laXgLOkzpT5lWAv

  • Gilles L

    Membre
    19 octobre 2023 à 20h39

    Bonsoir DavidZed,

    Merci pour cette réponse très claire🙂. Il est vrai que nous avons un temps été dans cette voie, mais ça nous a paru compliqué car nous n’utilisons ni la Table Comptes ni la Table Contacts puisque nous avons créé des tables personnalisées pour gérer nos contacts et nos clients. Nous n’avons donc pas poursuivi car nous ne voulions pas modifier la structure de notre base, cela impliquait aussi de modifier les formulaires de notre appli PowerApps qui renseignent nos tables. C’est pour ça que nous avons préféré chercher du côté de l’affichage de la Table Dossiers que nous pensions pouvoir filtrer facilement dans Power Pages 🤔. Grossière erreur…😕

    Nous allons donc suivre ton conseil avisé et revenir à une structure plus conventionnelle qui utilisera les Tables Comptes et Contacts pour associer les utilisateurs aux sociétés de nos clients. C’est une modification importante qui va nous prendre plusieurs jours de travail…🙂 Quand nous aurons retrouvé l’état fonctionnel de notre appli Power Apps actuelle nous pourrons reprendre nos travaux sur Power Page et utiliser les autorisations de tables pour afficher notre table filtrée, sans code.

    Merci encore,

    Gilles

    CommentID=tOpo0nJc8wFMN7x, PostID=laXgLOkzpT5lWAv

Connectez-vous pour répondre.