French Power Platform User Group

Please login or click SIGN UP FOR FREE to create your PowerPlatformUG account to join this user group.
Expand all | Collapse all

Comment insérer des données dans une liste SharePoint avec des champs de recherche

Jump to Best Answer
  • 1.  Comment insérer des données dans une liste SharePoint avec des champs de recherche

    Posted Aug 02, 2021 05:24 AM
    Edited by Daruom ms Aug 02, 2021 05:25 AM
    Bonjour,

    Content de voir qu'il y a un groupe Français.
    J'ai un problème avec PowerApps. Je n'arrive pas à insérer des données dans une liste SharePoint qui contient des champs de recherche.

    J'ai 3 listes : "Audit", "Question" et "Reponse".
    Dans la liste "Reponse", il y a 3 colonne : "Audit" qui est de type recherche vers la liste "Audit", "Question" qui est un champ de recherche vers la liste "Question" et "Reponse" qui est un champ booléen (oui/non).

    La ligne déjà présente à été insérer manuellement afin de créer une collection et analyser la structure attendu :

    J'ai essayer ses 2 formules, mais sans succès:
    Patch(
        ReponseCol;
        Defaults(ReponseCol);
        {
            Audit: LookUp(CurrentAuditCols, ID = CurrentAuditCol.ID),
            Question: LookUp(Questions, ID = ThisItem.ID),
            Reponse: true
        }
    )​
    Patch(
        ReponseCol;
        Defaults(ReponseCol);
        {
            Audit: {
                ID: CurrentAuditCol.ID;
                Value: CurrentAuditCol.NumeroRapport
            };
            Question: {
                ID: ThisItem.ID;
                Value: ThisItem.ID
            };
            Reponse: true
        }
    )​

    Dans les 2 cas, j'ai les erreurs suivante :
    "Type d'argument non valide. Valeur record attendue, mais avec un schéma diffèrent"
    "Colonne manquante. Votre formule n'a pas de colonne 'Id' avec un type de 'number'"

    Quelqu'un a une solution ?
    Merci.

    ------------------------------
    Daruom ms
    sysadmin
    ------------------------------


  • 2.  RE: Comment insérer des données dans une liste SharePoint avec des champs de recherche
    Best Answer

    Gold Contributor
    Posted Aug 02, 2021 05:25 PM
    Salut Daruom,
    Alors en fait lorsque tu veux patcher des colonnes de recherche il faut impérativement que ce tu mets dans ces colonnes soit au format suivant :
    {
      Id: <un numérique>,
      Value: <une valeur>
    }​


    Dans ta première formule, tu fournis par exemple LookUp(Questions, ID=ThisItem.ID) à ton champ de recherche Question pour ta collection ResponseCol. Or ce que vas te renvoyer ce LookUp() c'est une structure qui correspond à la liste SharePoint Questions avec TOUTES les colonnes qui la constituent, alors que ton champ de recherche Question n'attends que {Id: ..., Value: ...}. Tu vois le soucis ?

    Du coup, tu as bien fait de tenter la deuxième formule. Et elle est tout à faire correcte, au seul delta que le Id à l'intérieur des accolades doit être "Id" et non "ID" (le "d" est minuscule). C'est tout bête et c'est super galère à voir mais une fois que tu le sais tu ne l'oublieras plus... 😋
    Pour résumer : le ID de SharePoint est en majuscule, et le Id des champs de recherche a le "d" qui est minsucule.
    Donc, en gros, ta 2è formule devrait être :

    Patch(
        ReponseCol;
        Defaults(ReponseCol);
        {
            Audit: {
                Id: CurrentAuditCol.ID;
                Value: CurrentAuditCol.NumeroRapport
            };
            Question: {
                Id: ThisItem.ID;
                Value: ThisItem.ID
            };
            Reponse: true
        }
    )​


    Voilou...

    PS: assure-toi (mais je pense que l'as compris) que tu mettes bien dans le champ Value de {Id: ..., Value: ...} la valeur de la colonne liée de la liste cible (celle choisie dans le champ de recherche comme champ lié).



    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 3.  RE: Comment insérer des données dans une liste SharePoint avec des champs de recherche

    Posted Aug 03, 2021 06:45 AM
    Bonjour Emmanuel,

    Merci beaucoup pour ta réponse. Apres avoir essayer, j'ai eu 2 erreurs.
    La 1er, assez bête, est du au fait que "CurrentAuditCol" est une collection. J'ai donc fait :
    Patch(
        ReponseCol;
        Defaults(ReponseCol);
        {
            Audit: {
                Id: First(CurrentAuditCol).ID;
                Value: First(CurrentAuditCol).ID
            };
            Question: {
                Id: ThisItem.ID;
                Value: ThisItem.ID
            };
            Reponse: true
        }
    )​


    Avec la fonction First, la formule en soit n'indiqué plus d'erreur, mais dans le vérificateur, il y avait ceci :
    "cette formule à des effets secondaire et ne peux pas être évaluer".

    J'ai passé presque toute la matinée à tester et faire des recherche. Le problème a été régler en supprimant la dernière parenthèse et en la remettant.
    Surement un bug du au copier/coller ou autre.

    Tu as non seulement résolu mon problème, mais également permis de beaucoup mieux comprendre ces colonne de recherche qui me donné du fil à retordre.
    Pour finir, j'en profite également pour te remercier pour cette excellente vidéo qui ma également étais d'une très grande aide : https://www.youtube.com/watch?v=d7YNZFUeaZY

    ------------------------------
    Daruom ms
    sysadmin
    ------------------------------