Choix automatique selon compte connecté

  • Choix automatique selon compte connecté

    Posté par David sur 18 juin 2024 at 9h36

    Bonjour à tous,

    Alors voilà je m’explique, j’ai une application qui récolte des données et qui est amené à être utilisé par plusieurs utilisateurs affiliés à différents secteurs, j’ai déjà une fonction qui rentre le nom de l’utilisateur automatiquement via son compte microsoft et le questionnaire débute par 3 listes déroulantes en cascade afin que l’utilisateur situe le lieu de son audit.

    Je voulais savoir si il était possible de pré-remplir ces 3 listes en cascades automatiquement étant donné que l’app connaît son utilisateur et que l’utilisateur auditera tout le temps son même lieu.

    Par exemple actuellement si moi Jacques je veux faire mon audit, quand je rentre dans l’appli mon nom apparaît automatiquement en haut (via : User().FullName), mais je dois choisir manuellement en déroulant par exemple Région : Rhones Alpes / Ville : Grenoble / CP : 38 (c’est pour l’exemple) , et le top serait que les cases soit pré-remplie en reconnaissant l’utilisateur.

    Voila merci bien j’espère ne pas m’être trop répété !

    David a répondu 5 months ago 3 Membres · 5 Réponses
  • 5 Réponses
  • R3dKap

    Member
    18 juin 2024 at 9h45

    Salut David,

    Oui c’est tout à fait possible. As-tu une table Dataverse ou une liste SharePoint où sont renseignées les informations associées à chaque utilisateur ? Si oui, peux-tu nous décrire les colonnes qu’elle contient ?

  • Denis

    Member
    18 juin 2024 at 10h05

    Bonjour,

    Si le profil utilisateur est bien renseigné dans Active Directory, alors le connecteur Power Automate “Rechercher des utilisateurs” permet de récupérer les valeurs, notamment “City”, “OfficeLocation” et “PostalCode” qui correspondent à tes besoins.
    C’est anglo-saxon donc il n’y a pas de champ “région”, et j’ignore si on peut ajouter des champs personnalisés…

  • David

    Member
    18 juin 2024 at 10h17

    J’ai bien une liste Sharepoint qui contient les choix de ma liste déroulante, ça ressemble à ca :

    et dans l’app :

    Pour l’instant les personnes connues qui réaliseront l’audit ne sont pas affilié aux îlots dans la liste

  • R3dKap

    Member
    18 juin 2024 at 10h58

    Ok. Il te faut effectivement ajouter à ta liste une colonne nommée par exemple Utilisateur de type Texte (attention pas une colonne de type Personne qui est un type complexe qui va te poser des problèmes de délégation lors des requêtes depuis ton application). Dans cette colonne Utilisateur tu y stockeras l’adresse mail de l’utilisateur concerné.

    Une fois que ça ce sera fait, il te suffira de récupérer la ligne correspondant à l’utilisateur connecté et d’initialiser les listes déroulantes avec les valeurs adéquates.

    Pour faire ça, je te propose une solution “élégante” qui s’appuie sur les formules nommées.

    • Sur l’objet App de ton application, va sur la propriété Formulas et ajoute le code suivant : nfUserData = LookUp(TalisteSP; Utilisateur = User().Email);; (n’oublie pas les 2 points-virgules à la fin)
    • Si tes listes déroulantes sont des contrôles de type Liste déroulante (Dropdown), sur la propriété Default tu mets le code suivant : nfUserData.Title (pour le site de production), nfUserData.UP (pour l’UP/Service support), nfUserData.Ilot (pour l’ilot)
    • Si tes listes déroulantes sont des Zones de liste déroulante (Combo box), sur la propriété DefaultSelectedItems tu mets le même code mais entre crochets : [nfUserData.Title], etc…

    Voilou… Dis-nous si ça marche…

  • David

    Member
    18 juin 2024 at 11h30

    Effectivement ça à l’air de fonctionner, en tout cas avec mon profil. Plus qu’à essayer avec d’autres personnes de l’organisation.

    Merci beaucoup pour l’aide !

Connectez-vous pour répondre.