Champs de Type Personne

Étiquetté : , ,

  • Champs de Type Personne

    Posté par Alain Pujol sur 8 décembre 2021 à 12h50

    Bonjour,

    Je butte sur la mise à jour d’un champ de type personne dans une liste sharepoint.

    Pour résumer:

    Dans la liste Sharepoint, le champ Nom de type personne

    Dans mon appli, une gallerie dans laquelle j’ai une liste de choix : ChoixNom

    items : ‘Utilisateursd”Office365’.SearchUser({searchTerm:ChoixNom.SearchText})

    DefaultSelectItems : [ThisItem.Nom.DisplayName]

    Mon bouton pour Enregistrer

    Patch(

    Liste;

    First(

    Filter(

    Liste;

    ID = gloDetailID

    )

    );

    {

    Nom:

    // vérifier si le Liste est modifié

    If(

    !IsBlank(ChoixNom);

    // il est modifié

    {

    ‘@odata.type’: “#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser”;

    Department: ChoixNom.Selected.Department;

    Claims: “i:0#.f|membership|” & ChoixNom.Selected.Mail;

    DisplayName: ChoixNom.Selected.DisplayName;

    Email: ChoixNom.Selected.Mail;

    JobTitle: ChoixNom.Selected.JobTitle;

    Picture: “”

    } ;

    ttt// il n’est pas modifié

    Gallerie.Selected.Nom

    ttt})

    Si je modifie la liste déroulante enregistre OK.

    Si je ne modifie pas, il y a une erreur :

    Erreur réseau lors de l’utilisation de la fonction Patch : l’opération demandée n’est pas valide.

    Que dois mettre comme valeur lorsque je ne modifie pas le contenue de ChoixNom

    Merci par avance pour votre aide

    Cordialement

    PostID=1GRnX5Z9htknXOW

    R3dKap a répondu Il y a 9 mois, 2 semaines 1 Membre · 7 Réponses
  • 7 Réponses
  • Loïc Cimon

    Membre
    8 décembre 2021 à 13h03

    Bonjour @Alain Pujol,

    Basé sur ton extrait de code, je pense que l’erreur vient du fait que tu passes uniquement le champ texte “Nom” à ton Patch lorsque ChoixNom n’a pas été modifié.

    Alors que le système attend un objet Personne.

    De mémoire, il me semble que la structure Personne n’est pas la même que ce que tu récupères via le connecteur Office365Users. Il te faut donc remapper tout les champs.

    Tu peux donc modifier cette ligne:

    Gallerie.Selected.Nomn

    Par une structure similaire à ce que tu fais au dessus:

    {nn'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";nDepartment: Gallerie.Selected.department;nClaims: "i:0#.f|membership|" & Gallerie.Selected.mail;nDisplayName: Gallerie.Selected.displayName;nEmail: Gallerie.Selected.mail;nJobTitle: Gallerie.Selected.jobTitle;nPicture: ""n}n

    Info additionelle

    La ligne suivante n’est plus nécessaire dans la structure Personne :

    '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";n

    CommentID=QS89j19VuXuBVtm, PostID=1GRnX5Z9htknXOW

  • Alain Pujol

    Membre
    8 décembre 2021 à 13h25

    Merci Loïc,

    Le problème est le même?.

    J’avais déjà testé mais je viens de refaire le test.

    Comme en même temps je cherche de mon côté, il semble que ce soit lié à la valeur par défaut.

    J’ai fait un test en mettant pas défaut le résultat d’une liste déroulante liée à office 365 et cela fonctionne correctement.

    CommentID=393OYtBMHFpquOI, PostID=1GRnX5Z9htknXOW

  • Alain Pujol

    Membre
    8 décembre 2021 à 14h08

    A partir des tests que j’ai fait:

    Si je modifie la liste déroulante,

    1er Patch, la mise à jour OK

    2ème Patch –> l’erreur est produite

    Je ne comprend pas la raison??

    CommentID=dmeuHmfFIc0sLq4, PostID=1GRnX5Z9htknXOW

  • Loïc Cimon

    Membre
    9 décembre 2021 à 7h38

    Tu pourrais me donner plus de détails sur ce que tu essayes de faire et ajouter des captures d’écrans, stp ? Si tu peux envoyer le msapp, c’est encore mieux.

    Ça me permetterai de me faire une meilleure idée.

    CommentID=IlGwCfkM0D53vDt, PostID=1GRnX5Z9htknXOW

    • Alain Pujol

      Membre
      9 décembre 2021 à 8h34

      @Loïc Cimon

      Bonjour,

      Hier après midi je pense que je devais avoir des problèmes de connexion à la plateforme et j’avais des fonctionnements bizarres.

      par exemple:

      choixNom.selected.DisplayName me renvoyat un nom

      alors que

      choixNom;selected.Mail était vide

      (J’ai constaté ce matin que les modifs de l’appli ne s’étaient pas enregistrées)

      Ce matin tout fonctionne correctement.

      Mon sujet est donc clos

      Merci pour ton aide tout de même

      Cordialement

      SubCommentID=IbAKVDFdDVJoqJ2, CommentID=IlGwCfkM0D53vDt, PostID=1GRnX5Z9htknXOW

    • Loïc Cimon

      Membre
      9 décembre 2021 à 8h40

      J’ai aussi remarqué des disfonctionnements de la plateforme hier.

      Parfait, si tu as trouvé une solution !

      SubCommentID=F8z6ddoHLIPOnEV, CommentID=IlGwCfkM0D53vDt, PostID=1GRnX5Z9htknXOW

    • R3dKap

      Membre
      9 décembre 2021 à 10h41

      @Alain Pujol une petite remarque pour compléter : tu peux directement enlever la partie Galerie.Selected.Nom qui est dans le “sinon” de ton If(!IsBlank(ChoixNom)…). En effet, remettre dans un champ la même valeur qu’elle contient revient à ne rien faire… 😉

      Et du coup, tu pourrais même sortir ton If() du Patch() pour conditionner le Patch() lui-même (si tu ne mets pas à jour d’autres colonnes de ta liste dans ce Patch().

      SubCommentID=RkMwqATWCCg91aY, CommentID=IlGwCfkM0D53vDt, PostID=1GRnX5Z9htknXOW

Connectez-vous pour répondre.