DavidZed
MembreRéponses céées sur le Forum
-
J’ai retrouvé ce que j’avais fait pour le patch (attention syntaxe en en-US”) :
// On supprime de la source tous les items qui ont été flagés "à supprimer" dans la collectionnRemove(n Source,n DropColumns(n Filter(n Collection,n Flag = "remove"n ),n "Flag"n )n );n// On met à jour la source avec tous les items qui ont été flagés "Modifié" dans la collectionnPatch(n Source,n DropColumns(n Filter(n Collection,n Flag = "edit"n ),n "Flag"n )n );n// On ajoute à la source tous les items qui ont été flagés "Nouveau" dans la collectionnForAll(n Filter(n Collection,n Flag = "new"n ),n Patch(n Source,n Defaults(Source),n {n [Updates]n }n )n )
Cette méthode a l’avantage de limiter le traitement au strict nécessaire en excluant les items qui ne sont pas modifiés, de plus on utilise juste un ForAll() pour les ajouts, les modifications et suppressions sont traités en lots, ce qui est beaucoup plus rapide.
CommentID=xQRvyzSSE6uDnTN, PostID=U3V8PuuSONXBLo3
-
DavidZed
Membre4 novembre 2022 à 18h59 en réponse à: Problème sur la fonction SortByColumns() pour une colonne LookUpSi ton tri ne doit être fait que sur une seule colonne, tu peux utiliser
Sort(Source;ColonneLookup.Value,[Order])
Par contre si tu dois trier selon plusieurs critères, dont des Lookup, choices etc, le AddColumns est obligatoire
CommentID=kRKMTlMfDQx8Jak, PostID=in101jVUu6i4VvT
-
Hello Karlemagne ,
Ce que je fais généralement dans ce genre de cas, c’est que j’ajoute une colonne à ma collection avec un AddColumns() dans le ClearCollect() ou Collect(), ex :
ClearCollect(AddColumns(Source;”Flag”;””))
Quand je fais une modif sur ma collection, je change la valeur “FLAG” pour “New” / “Edit” / “Remove”
et pour le Patch, je filtre sur ma collection (je n’ai plus les formules en tête, il me semble notamment que j’étais parvenu à m’affranchir du ForAll(), ce qui accélérait grandement le temps de traitement) :
Je supprime de la collection tous les records dont le flag est “” :
RemoveIf(Collection;Flag="")
Pour tous les FLAG=”New” :
Patch(Source, Defaults(Source),{updates})
Pour tous les FLAG=”Edit” :
Patch(Source, ThisRecord,{updates})
Pour tous les FLAG=”Remove” :
Remove(Source, ThisRecord)
PS: ne pas oublier d’inclure un DropColumns() pour exclure la colonne Flag du Patch, sinon ça plantera 🙂
CommentID=9AEUIeLWBTaQJMI, PostID=U3V8PuuSONXBLo3
-
DavidZed
Membre4 novembre 2022 à 17h59 en réponse à: Problème de filtre gallerie avec une colonne choix multipleHello RANDRIATAHINA Charles ,
On dirait que ta bdd est une liste SP (c’est pas ma spécialité 😀 )
Si ton ‘Sites updated’ est mono-valeur et ton ‘cbSitesUpdated’ est multi-valeurs :
'Sites updated'.Value in cbSitesUpdated.Selected.Value
Si les deux sont multi-valeurs, c’est possible également mais je le déconseille car cela nécessite d’imbriquer des Filter(), ce qui peut causer des problèmes de performances sur de gros jeux de données, en plus d’être rarement pertinent comme fonctionnalité.
CommentID=f6QNFrgNGU8sdhF, PostID=hFeoxcblz0xvKKZ
-
DavidZed
Membre7 novembre 2022 à 10h30 en réponse à: Problème de filtre gallerie avec une colonne choix multipleAlors il faut mettre dans ton filtre :
CountRows(Filter(cbSitesUpdated.SelectedItems;Value in 'Sites Updated'.Value))>0
Mais attention sur les gros jeux de données 🙂
SubCommentID=hSn3QtZrQQv08jW, CommentID=f6QNFrgNGU8sdhF, PostID=hFeoxcblz0xvKKZ
-
-
Hello StevannS ,
Essaies de remplacer le choix_Langue.SelectedText par un choix_Langue.Selected.Value (ou vois s’il te propose autre chose quand tu mets “.Selected.” )
CommentID=54rscyRuTjYoBMc, PostID=NtpfXnRRgUasxBs
-
Les voies de Power Automate sont impénétrables 😀
CommentID=kjFPSJuOCyIRjp7, PostID=6jtoPjcRlg82Mfa
-
Etrange oO
et si tu insères une action onedrive : “Créer un fichier”
Que tu insères la sortie de cette action dans ton fichier word
Que tu supprimes le fichier onedrive à la fin du flux
Est-ce que cela fonctionne ?
CommentID=u5Az7c5r7dIFemU, PostID=6jtoPjcRlg82Mfa
-
Hello Geoffroy WAGNER ,
Pour que cela fonctionne, je pense qu’il faut que tu obtiennes l’item dynamique “contenu du fichier”
Pour cela il te faut insérer une action “obtenir les pièces jointes” (et idéalement mettre un filtre sur l’extension de fichier à cette étape)
CommentID=O5gbEOmAG0yMuDP, PostID=6jtoPjcRlg82Mfa
-
Hello StevannS ,
La première partie de ta formule est bonne : le reset, par contre, le .text, c’est une propriété de “sortie”, tu peux récupérer le texte saisi dans le textinput pour l’utiliser ailleurs, mais pas le modifier directement dans le contrôle.
Pour y parvenir, tu vas devoir utiliser une variable de contexte et la propriété .default de ton TextInput.
Sur le OnSelect ton bouton :
UpdateContext({vctxDefaultDuBouton:"new"}); //On initialise la variable et on lui donne la valeur "new" nReset(TextInput)
Puis sur le default de ton TextInput :
vctxDefaultDuBouton // ="new"
CommentID=mWJml0pldzUkxSe, PostID=hNwLHsTomHIne37
-
Hello Sammy Rakotoarison ,
Oui c’est une limitation connue, en effet, impossible de remonter plus de 100 résultats avec cette fonction pour ce connecteur.
A ma connaissance, il n’y a pas d’alternative.
CommentID=lJbRolknZYEv4BD, PostID=1EKfpkLd9iQ9ZBC
-
DavidZed
Membre3 novembre 2022 à 8h10 en réponse à: Retour Chariot dans un mail à partir de PowerAppsHello Youcef DOUMANDJI ,
Comme précisé par Geoffroy WAGNER , La fonction outlook send mail permet d’envoyer un mail au format html et donc d’utiliser la balise <br>
J’ai pour habitude d’utiliser un objet htmlText et d’utiliser le .HtmlText de cet objet dans le sendmail. Cela permet à l’utilisateur d’avoir un aperçu de l’email. Parfois je le met hors écran.
CommentID=N4GdMaaNC6nwEyJ, PostID=3aNSxk7i3bJYd58
-
DavidZed
Membre5 novembre 2022 à 19h10 en réponse à: Problème sur la fonction SortByColumns() pour une colonne LookUpR3dKap , oui en effet le Sort() n’est pas délégable dans ce contexte :'(
SubCommentID=PQ4FnQp5h8myyYG, CommentID=gOAru63Tlxyiwkh, PostID=in101jVUu6i4VvT
-
Si tu pars sur du Power Apps Portal / Power Pages, et que tu souhaites que tes utilisateurs n’aient accès qu’aux données qui les concernent, je te recommande fortement de synchroniser ta bdd externe (via un dataflow) avec les tables Dataverse :
“Accounts” ou “Comptes” : Pour les entreprises clientes
“Contact” : pour les personnes de l’entreprise cliente
Car c’est uniquement via la table accounts que tu vas pouvoir conditionner l’accès aux enregistrements de manière “Native”, autrement tu vas devoir passer par du custom code assez lourd et difficile à maintenir.
Une fois que tes données clients sont synchronisées avec ses tables, ajouter un lookup sur n’importe quelle table custom sera un jeu d’enfant.
SubCommentID=z4aYD1TulV2htNs, CommentID=kY8ZeCZcegbvqba, PostID=3dketDqyUE3TrEw
-
Effectivement c’est un projet qui, à mon sens, me paraît très ambitieux si c’est ta première expérience sur power apps, il te faudra compter à minima 2 à 3j par semaine sur 2 à 3 mois pour t’autoformer et développer la solution en même temps.
Toute la doc sur les contrôles et leurs paramètres ici : Contrôles et propriétés dans les applications canevas – Power Apps | Microsoft Learn
Je t’envoie mes coordonnées par MP si tu as besoin d’info complémentaires.
SubCommentID=pQwQbUVDgYwNaVO, CommentID=o9W6GJqCjm453na, PostID=PCvgyDVTwbgKpO4