DavidZed
MembreRéponses céées sur le Forum
-
Hello,
Tu peux me dire quelle est la source et quelle est la collection ?
-
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
-
DavidZed
Membre23 janvier 2024 à 9h30 en réponse à: Recherche approximative dans powerapps Canvas [Spoiler : c’est possible !]Génial 🙂 Merci pour le partage
-
DavidZed
Membre18 janvier 2024 à 22h51 en réponse à: Un enregistrement chargé dans le onVisible qui ne fonctionne pasAssez é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.
-
DavidZed
Membre17 janvier 2024 à 18h27 en réponse à: Créer un flow pour approuver des pièces jointes et les enregistrer dans SharepoiHello,
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 :
-
DavidZed
Membre17 janvier 2024 à 18h09 en réponse à: Créer un flow pour approuver des pièces jointes et les enregistrer dans SharepoiHello,
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']}" }
-
DavidZed
Membre9 janvier 2024 à 23h02 en réponse à: Collecter dans une collection les records de plusieurs tables dans une tableHello,
Si les tables ont la même structure de données, tu peux essayer la fonction UnGroup()
Ungroup( Table, GroupColumnName )
-
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 .
-
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
-
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é
-
-
DavidZed
Membre8 janvier 2024 à 20h35 en réponse à: Requêtes valeurs d’un champs Lookup / Recherche d’une liste SharepointHello 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
-
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
Membre23 janvier 2024 à 9h27 en réponse à: Associer un tableau Excel a une liste déroulant Power appEst-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
Membre11 janvier 2024 à 13h44 en réponse à: Problème de mise à jour de table sur Power AppsC’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
Membre10 janvier 2024 à 20h04 en réponse à: Problème de mise à jour de table sur Power AppsTout 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; …….} )
- Mettre les valeurs par défaut