Réponses céées sur le Forum

Page 16 sur 72
  • DavidZed

    Membre
    23 janvier 2024 à 23h30 en réponse à: Message d’erreur

    Hello,

    Tu peux me dire quelle est la source et quelle est la collection ?

  • DavidZed

    Membre
    23 janvier 2024 à 23h23 en réponse à: Enregistrer des valeurs

    Hello,

    Je te suggère de remplacer le SubmitForm(Form1)

    Dans la propriété.OnSelect du bouton par un patch qui va utiliser les données du formulaire. On retirera la colonne id pour générer un nouvel enregistrement.

    Patch(Source; Defaults(Source); DropColumns( Form1.Updates; “ID”))

    Cela devrait générer un nouvel enregistrement a chaque clic

  • Génial 🙂 Merci pour le partage

  • DavidZed

    Membre
    18 janvier 2024 à 22h51 en réponse à: Un enregistrement chargé dans le onVisible qui ne fonctionne pas

    Assez étrange en effet, dans la continuité des points a vérifier:

    • Essayer sur un autre écran, toujours dans la priorité onvisible, essayer dans une nouvelle appli. Si ça fonctionne, alors le but est au niveau de l’App
    • Supprimer la source de données et la réimporter
    • Vérifier qu’aucun contrôle, objet, écran ou variable n’a le même nom que la source de données (qui aurait été créé avant l’import de la source)
    • Essayer de dupliquer l’écran et tester
    • Faire une session avec l’inspecteur du navigateur ou une session monitorée et voir si tu peux en apprendre plus sur l’erreur
    • Vérifier que la variable n’est pas définie avec une autre structure de données dans cet écran (ou passée a cet écran via un navigate)
    • Cette réponse a été modifiée Il y a 12 mois par  DavidZed.
  • Hello,

    Il me semble que le déclencheur ne récupère pas le contenu des pièces jointes, il est nécessaire d’ajouter une action “Obtenir la pièce jointe” dans la boucle avant l’action “Ajouter à la variable de Tableau” :

    Syntaxe pour le Json :

    {
      "name":@{outputs('Obtenir_la_pièce_jointe_(V2)')?['body/name']},
      "Content": {
        "$content-type":@{outputs('Obtenir_la_pièce_jointe_(V2)')?['body/contentType']},
        "$content":@{outputs('Obtenir_la_pièce_jointe_(V2)')?['body/contentBytes']} 
      }
    }

    Le résultat avec 5 fichiers PNG :

  • Hello,

    Il me semble que le déclencheur ne récupère pas le contenu des pièces jointes, il est nécessaire d’ajouter une action “Obtenir la pièce jointe” dans la boucle avant l’action “Ajouter à la variable de Tableau” :

    Syntaxe pour le Json :

    {
     "Name": @{outputs('Obtenir_la_pièce_jointe_(V2)')?['body/name']},
     "Content": "@{outputs('Obtenir_la_pièce_jointe_(V2)')?['body/contentBytes']}"
    }
  • Hello,

    Si les tables ont la même structure de données, tu peux essayer la fonction UnGroup()

    Ungroup( Table, GroupColumnName )

  • DavidZed

    Membre
    9 janvier 2024 à 22h56 en réponse à: Relance approbation

    Bonjour,

    A ma connaissance, il y a deux possibilités :

    Mettre l’action d’approbation dans une boucle “exécuter jusqu’à”, mettre un timeout court, équivalent a la période souhaitée entre chaque relance. Il suffit ensuite d’indiquer que la condition de sortie de la boucle est que l’approbation doit avoir reçu une réponse.

    Une autre approche est de créer un flux planifié qui va lister tous les éléments en cours d’approbation et envoyer des notifications de relances. Cela nécessitera, si l’approbation est en plusieurs étapes, d’avoir un champ qui contient l’information de l’étape en cours afin de notifier les personnes concernées .

  • DavidZed

    Membre
    9 janvier 2024 à 8h47 en réponse à: Formulaire avec 80 champs

    Hello,

    A ta place je partirais sur un modèle simple : Date du relevé, Bâtiment, Type de compteur, n° de compteur, relevé. Si tu t’obstines à faire une colonne par compteur, tu risques de rallonger ton temps de développement et de maintenance à chaque fois que tu auras à ajouter / supprimer / modifier un compteur.

    Si tu souhaites avoir cette disposition par la suite, on pourra s’en approcher avec une vue de liste groupée ou, au pire, un peu de Power Query dans un fichier Excel.

    Il faudra une seconde liste qui sert de référence pour les compteurs (avec N° compteur, type de compteur, bâtiment…), c’est dans celle-ci que tu vas gérer tes compteurs, bâtiments etc…

    Dans l’application de relevés, l’idée serait de générer une liste de relevés à effectuer pour le jour J (soit via un bouton l’appli, soit avec un flux power automate planifié). Par exemple avec un :

    <code class="language-plaintext">Patch( ‘Liste relevés compteurs’ ; ForAll( ‘Liste REF Compteurs’ As ThisCompteur; {
    	'Date du relevé': Today()
    	'N° Compteur' : ThisCompteur.'N° Compteur';
    	Bat : ThisCompteur.Bat;
    	'Type Compteur': ThisCompteur.TypeCompteur
    } )

    On ne mettra rien dans la colonne relevé, car cette valeur sera saisie durant la tournée d’inspection => On génère une liste de compteurs à relever qui permettra de voir instantanément lesquels ont été vérifiés ou non.

    Dans le patch que je t’ai donné plus haut, tu as également la possibilité de créer des listes de relevés pour une tournée précise en filtrant ta ‘Liste REF Compteurs’ par bâtiment ou par type de compteur

    • DavidZed

      Membre
      9 janvier 2024 à 8h58 en réponse à: Formulaire avec 80 champs

      Pour la vue de saisie des relevés : on filtre sur la date du jour et éventuellement la tournée (bâtiment / localisation / type de compteur)

      Pour obtenir le relevé précédent :

      <code class="language-plaintext">Last( Sort( Filter( ‘Liste relevés compteurs’; ‘Date du relevé’ < Today() ; ‘Date de relevé’ ; SortOrder.Descending ))).Relevé
  • Hello Mick,

    Le Json de sortie de ta colonne Destinataire est entre [], ça signifie que c’est une colonne qui attend une donnée de type table ( Tu as du cocher l’option multiple values sur ta colonne SP ) et tu lui donnes un record (enregistrement).

    Si c’est une erreur et que ta colonne n’est censé contenir qu’un destinataire, tu peux :

    • Soit modifier les propriétés de ta colonne dans SP
    • Soit récupérer le 1er élément de la table avec l’index [0] ou la fonction first() , exemple : item(‘Appliquer_à_chacun_2’)?[‘Destinataire’][0]?[‘Value’]

    Si ton champ peut effectivement contenir plusieurs destinataires, tu peux concatainer les valeurs de ta table :

    • Soit en utilisant l’action de données Joindre
    • Soit en utilisant la fonction join( TABLE , ‘Séparateur Texte’ ) dans une expression
  • DavidZed

    Membre
    24 janvier 2024 à 10h55 en réponse à: Message d’erreur

    Dans ce cas c’est le collect qui pose problème, cette fonction (de même que le clearcollect() ) n’est pas censée être utilisée pour modifier des données dans une source externe (sharepoint, dataverse…) mais uniquement pour créer ou modifier des collections dans l’application.

    Si tu souhaites mettre à jour ta source de données avec les données de ta collection, il faudra plutôt faire un patch() :

    Patch(REFV3_POC_LTs ; REF)

    Si ton format de données est iso entre ta source et ta collection, le patch fera un upsert :

    • Il créera de nouveaux enregistrement pour chaque ligne présente dans la collection mais pas dans la source
    • Il mettra à jour les enregistrements présents dans la collection et la source
  • DavidZed

    Membre
    23 janvier 2024 à 9h27 en réponse à: Associer un tableau Excel a une liste déroulant Power app

    Est-ce que ton fichier excel sur Onedrive est ouvert dans une version Excel de bureau non m365 ? Excel 2019 ou 2021 par exemple ?

    Si tel est le cas, cela peut “bloquer” l’accès à ton fichier.

  • DavidZed

    Membre
    11 janvier 2024 à 13h44 en réponse à: Problème de mise à jour de table sur Power Apps

    C’est surprenant

    A tester : Mettre un ID en dur d’une ligne qui existe dans le tableau et voir si le problème est le même, exemple :

    <code class="language-diff">
    Patch(
    Tableau1_1;
    {Iddmd: "34"};
    {
    emailreparateur: TextInput5.Text; .......
    • Cette réponse a été modifiée Il y a 1 année par  DavidZed.
  • DavidZed

    Membre
    10 janvier 2024 à 20h04 en réponse à: Problème de mise à jour de table sur Power Apps

    Tout dépend de ce que tu as stocké dans ta variable varItem,

    Si tu as stocké uniquement l’ID de la ligne, ça devrait fonctionner

    Si tu as stocké l’enregistrement entier, tu peux appeler la valeur de l’ID avec vartItem.Iddmd

    Pour la fonction Patch, il y a une erreur sur le 2nd argument: celui où tu es censée renseigner l’enregistrement à patcher, tu as trois possibilités :

    • Mettre les valeurs par défaut
      Patch(Tableau1_1; Defaults(‘Ta source de données’) ; {emailreparateur: TextInput5.Text; …….} )
      , ce qui va créer une nouvelle ligne
    • Renseigner l’ID:
      Patch(Tableau1_1; {Iddmd : 54} ; {emailreparateur: TextInput5.Text; …….} )
      Où 54 est l’ID de la ligne que tu souhaites patcher
    • Fournir l’enregistrement complet avec un LookUp :
      Patch(Tableau1_1; LookUp(Tableau1_1; emailreparateur = “polo@moumoute.com” ) ; {emailreparateur: TextInput5.Text; …….} )
Page 16 sur 72