User().FullName dans formulaire ne s’enregistre pas

  • User().FullName dans formulaire ne s’enregistre pas

    Posté par Fabien sur 11 octobre 2024 à 12h13

    Bonjour,

    J’ai un formulaire (qui s’appuie sur une liste SharePoint) qui comprend un champ “Nom” qui a une valeur par défaut qui est le nom de la personne qui remplit le formulaire (avec sur la propriété Defautl : User().FullName)

    Mais une fois le formulaire saisi et que la personne clique sur le bouton de validation ( avec sur la propriété OnSelect : Submit(Form3) ), le nom n’est pas enregistré. Cela reste à blanc.

    Comment je peux corriger pour que le nom s’enregistre bien ?

    R3dKap a répondu Il y a 1 mois, 1 semaine 5 Membres · 8 Réponses
  • 8 Réponses
  • LUDOVIC

    Membre
    11 octobre 2024 à 13h24

  • LUDOVIC

    Membre
    11 octobre 2024 à 13h31

    Pour ma part j’utilise la formule

    <div>
    <div>SubmitForm(EditForm1);;ResetForm(EditForm1);;Navigate(Screen1)</div>
    <div> </div>
    <div>Il faut ensuite s’assurer que la source de données est correctement configurée dans l’EditForm (propriété affichage ). Dans le champ correspondant au nom, il est important de choisir la valeur qui correspond exactement à ce que tu souhaites.</div>
    </div>

  • Fabien

    Membre
    11 octobre 2024 à 14h16

    Merci pour ton retour.

    Mais je me suis sans doute mal exprimé.

    Le formulaire en lui-même est bien enregistré avec les valeurs des différents champs.

    Il n’y a que pour la partie “Nom” que cela ne fonctionne pas.

  • Geoffroy

    Membre
    11 octobre 2024 à 14h51

    Bonjour Fabien,

    J’ai fait un essai et ça marche chez moi.

    De quel format est la colonne Nom dans ta liste SharePoint ?

  • Fabien

    Membre
    11 octobre 2024 à 14h56

  • Cyril

    Membre
    11 octobre 2024 à 16h01

    Bonjour Fabien,

    Juste Defautl : User().FullName

    ne suffit pas si tu utilises une personne de Sharepoint.

    Essai plutôt quelque chose de ce genre;

    Default : {

    Claims: “i:0#.f|membership|” & User365.SearchUserV2().’@<wbr>odata.nextLink’,

    Email: User().Email,

    JobTitle: User().EntraObjectId,

    Department: User().FullName,

    DisplayName: User().FullName,

    Picture: User().Image

    }

    Il faudra sans doute l’adapter dans mon cas l’utilise un connecteur utilisateur365 sinon le principe est de mettre toutes les informations de la personne dans une table entre { } avec le Claims, Email, …

    Voilà j’espère que ça pourra aider.

    Bonne journée.

  • LUDOVIC

    Membre
    11 octobre 2024 à 16h37

    A la place de Claims: “i:0#.f|membership|” & User365.SearchUserV2().’@<wbr>odata.nextLink’, si tu mets displayname

  • R3dKap

    Membre
    11 octobre 2024 à 18h27

    @Fabien,

    De manière générale, pour être certain qu’une valeur par défaut sur un champ soit bien prise en compte, il faut impérativement connaître parfaitement le format de la donnée portée par ce champ :

    • si c’est un champ texte, la valeur par défaut peut être une chaîne
    • si c’est un champ numérique, la valeur par défaut doit être numérique
    • etc.

    Dans ton cas, si j’ai bien compris ta colonne est de type Personne. Or, et là-dessus @Cyril a raison, un champ de type Personne dans SharePoint est un enregistrement dont le format est le suivant :

    {
    DisplayName: "Brad PITT";
    Claims: "i:0#.f|membership|brad.pitt@gmail.com";
    Department: "Action movies";
    Email: "brad.pitt@gmail.com";
    JobTitle: "Actor";
    Picture: User().Image
    }

    Or, bon ça il faut le savoir (je l’ai découvert en faisant de nombreux tests), seuls les champs Claims est nécessaire si tu veux définir une valeur par défaut sur un champ de type Personne.

    Donc, il te suffit d’écrire ceci dans la propriété Default de ton champ Nom :

    {
    DisplayName: Blank();
    Claims: $"i:0#.f|membership|{Lower(User().Email)}";
    Department: Blank();
    Email: Blank();
    JobTitle: Blank();
    Picture: Blank()
    }

    Dis-nous si ça fonctionne… 😉

Connectez-vous pour répondre.