Fonction patch qui ne met pas à jour mais rajoute une ligne à chaque fois

  • Fonction patch qui ne met pas à jour mais rajoute une ligne à chaque fois

    Posté par david sur 8 janvier 2024 à 9h59

    Bonjour à tous,

    Tout d’abord meilleurs vœux 2024.

    J’ai une fonction Patch qui rajoute une ligne dans un sharepoint mais je voudrais qu’elle modifie la ligne si elle existe déjà et actuellement ce n’est pas le cas.

    Voici la fonction :

    <code class="language-xml">ClearCollect(
        collectTasting;
        Patch(
            IV_TastingSheet;
            Defaults(IV_TastingSheet);
            {
                Titre: User().FullName;
                'user id': User().EntraObjectId;
                Atelier: First(AtelierByAccesCode).Titre;
                Wine: Title5.Text;
                Limpidité: 'Dropdown limpidité'.SelectedText;
                Brillance: 'Dropdown brillance'.SelectedText;
                Larmes: 'Dropdown larme'.SelectedText;
                Couleur: 'Text Color'.Text;
                Aroma: ForAll(
                    ChosenAroma;
                    {Value: ThisRecord.Value}
                );
                Impression: Drp_impression.SelectedText;
                Intensité: Drp_intensite.SelectedText;
                'Comment arôme': 'commentaire arome'.Text;
                Saveurs: Drp_Saveur.SelectedText;
                Structure: Drp_structure.SelectedText;
                'Persistance aromatique': Drp_Persistance.SelectedText;
                'Comment Arome bouche': 'comment gustatif'.Text;
                Rating: Text_result.Text
            }
        )
    );;

    L’utilisation de l’affichage XML c’est juste pour la lisibilité c’est bien du Power Fx

    Dois-je rajouter un if en début pour vérifier que la ligne existe en fonction d’un ID ?

    En vous remerciant par avance pour votre aide,

    David

    • Cette discussion a été modifiée Il y a 10 mois, 2 semaines par  david.
    MarKAR a répondu Il y a 10 mois, 2 semaines 3 Membres · 3 Réponses
  • 3 Réponses
  • Jonathan Copin

    Membre
    8 janvier 2024 à 10h20

    Il faudrait que tu remplaces Defaults(IV_TastingSheet) (qui sert justement à créer une nouvelle ligne) par LookUp(IV_TastingSheet;ID=varID)

    En gros il s’agit de lui dire quelle ligne tu veux remplacer.
    A toi de voir comment tu définis cette ligne (Soit par l’ID, soit via une donnée unique ou un filtrage plus spécifique). La fonction LookUp va te retourner une ligne spécifique (Un objet).

  • david

    Membre
    8 janvier 2024 à 10h38

    Merci de l’info je test.

    Par contre si la ligne n’existe pas est ce qu’il va me l’a créer ?

  • MarKAR

    Membre
    8 janvier 2024 à 11h10

    Hello

    Non il faudrait que tu teste si ton item existe

    Tu fais un lookup pour update et defaults pour créer un nouveau

Connectez-vous pour répondre.