DavidZed
MembreRéponses céées sur le Forum
-
Hello Aurel08 ,
Je te conseille fortement d’étudier la possibilité de refaire le tout avec la fonctionnalité (en preview, à activer dans les paramètres) ParseJSON()
Qui devrait grandement faciliter le développement de ce que tu souhaites faire.
Fonction ParseJSON dans Power Apps (expérimental) – Power Platform | Microsoft Learn
CommentID=PyRdDuxXj4BjO56, PostID=9EffrJ0z7okEd1U
-
DavidZed
Membre17 mai 2023 à 10h05 en réponse à: Creer un fichier PDF a partir d'un élément d'une liste sharepointalors il faut les concatener avec l’expression
concatenante([ColonneValue],'Séparateur')
CommentID=JP3wvvQDpjPgqZO, PostID=tJsdq6QrQlQn3Gj
-
DavidZed
Membre16 mai 2023 à 19h54 en réponse à: Creer un fichier PDF a partir d'un élément d'une liste sharepointBonjour MaXime ,
Pour te donner les grandes lignes :
Il te faut partir du déclencheur Sharepoint : “quand un nouvel élément est créé”
Ensuite, à l’aide d’une action Message / Compose, agencer les données dans un tableau HTML :
<html><head><style>table {n font-family: arial, sans-serif;n border-collapse: collapse;n width: 100%;n}ntd, th {n border: 1px solid #dddddd;n text-align: left;n padding: 8px;n}ntr:nth-child(even) {n background-color: #dddddd;n}n</style></head><body>n<h2>Nouvel item enregistré :</h2>n <table><tr> <th>Attribut</th> <th>Valeur</th> </tr>n<tr><td>ID</td><td>@{triggerOutputs()?['body/ID']}</td></tr>n<tr><td>Titre</td><td>@{triggerOutputs()?['body/Title']}</td></tr>n<tr><td>Date</td><td>@{triggerOutputs()?['body/DateTime']}</td></tr>n<tr><td>Choix</td><td>@{triggerOutputs()?['body/Choice/Value']}</td></tr>n<tr><td>Email</td><td>@{triggerOutputs()?['body/Email']}</td></tr>nn</table></body></html>
et enfin la partie OneDrive, un peu fastidieuse : On crée un fichier temporaire, on le converti en PDF, on crée le fichier pdf et on efface le html temporaire :
et voilà le résultat dans le dossier onedrive :
CommentID=VYJFN0bTvvB2ckp, PostID=tJsdq6QrQlQn3Gj
-
DavidZed
Membre16 mai 2023 à 18h48 en réponse à: Transfert d'un fichier d'un site SharePoint externe vers mon site SharePoint interneBonjour Shadoks_ ,
Le problème vient du fait que tu essaies d’accéder au sharepoint du tenant B avec ton identité Azure AD du tenant A
Or, tu même si tu es authentifié sur les 2 tenants avec ton compte du tenant A, c’est bel et bien une identité à part entière qui est présente sur le tenant B quand tu as été invité.
Tu vas donc devoir créer une seconde connexion Sharepoint qui aura ton authentification sur le tenant B (où tu est guest)
C’est très simple à faire quand on a un vrai compte sur chaque tenant, mais c’est un peu plus subtil quand on s’authentifie avec le même mail sur les deux :
Tout d’abord, dans l’action qui va récupérer le fichier sur le tenant B, créer une nouvelle référence de connexion (ou nouvelle connexion si le flux est hors solution)
Cliquer sur sign in
Dans le popup d’authentification (du tenant A) , cliquer sur use another account :
puis Sign-in options :
puis Sign in to an organisation :
Indiquer le domaine du tenant B :
Là tu devrais arriver sur la fenêtre d’authentification du tenant B, facilement reconnaissable si celle-ci est bandée, ton compte guest figurera peut être dans la liste, sinon cliquer sur “utiliser un autre compte et s’authentifier” :
De retour dans Power automate, tu remarqueras que l’action Sharepoint, dans le champ “site address” ne proposera pas de choix, il faudra entrer l’adresse du site manuellement en tant que Custom Value :
CommentID=HovYEw3rfNwcr8l, PostID=9BF7i0UUVtwBolz
-
Hello,
Je sui plus à l’aise en Power Query qu’en Dax, du coup, voici ce que je ferais :
En Power Query il est possible d’ajouter une une colonne qui reprend les 2 premiers caractères du compte. Ensuite tu peux utiliser cette colonne comme catégorie dans les visuels :
new column = left([NumeroCompte],2)
CommentID=0ibyWdNtntuVynH, PostID=TlpncUj2oDdr72C
-
Bonjour Diane Niango,
Quand le contenu d’un for each est ainsi grisé c’est qu’il n’y a aucune donnée à analyser :
-
il faut vérifier que tu as bien des données en sortie de l’élément sur lequel tu boucles (le obtenir les éléments j’imagine)
-
Vérifier que tu as bien une table sur laquelle ton for each peut bloucler (ex: si tu mets juste le body de ta sortie, ce ne sera pas considéré comme une table)
CommentID=vWhzemqaBiacQk5, PostID=Sq4cLfnnKKKMCJK
-
-
A la réflexion, tu peux empêcher la sélection en jouant sur le DisplayMode des items dans la galerie qui ont la formule
Select(Parent)
dans leur propriété .OnSelectDans le DisplayMode, tu peux mettre
If(ThisItem.Statut <> "Cloturé",DisplayMode.Edit, DisplayMode.View)
Mais il faut le faire sur tous les items cliquables et vérifier que la sélection n’est pas non plus possible avec les taquets de tabulation
CommentID=z6BxzFxqjmUrueK, PostID=y6FfHKyETCODL84
-
Hello StevannS,
Tu ne peux pas empécher la sélection d’un item, tu peux uniquement mettre une condition sur ce qui se passe quand un item est sélectionné (comme montré par R3dKap ), ou mettre un filtre sur le type d’item si tu fais appel à la propriété .Selected de la galerie ailleurs d’ans l’appli
Si dans ton textbox tu as :
Gallery1.Selected.'Propriété à afficher'
Tu peux mettre ta condition ici :
If(Gallery1.Selected.Statut <> "Cloturé",Gallery1.Selected.'Propriété à afficher' ,"")
CommentID=sA8GG4nTUAvjEGs, PostID=y6FfHKyETCODL84
-
Hello maxime,
Pour y parvenir tu vas devoir utiliser une combinaison de fonctions :
-
GroupBy() : Pour regrouper tes données par véhicule
-
Sort() : Pour trier tes données par date
-
Last() ou First() : pour obtenir le premier ou dernier item
-
et Filter(), qui va te permettre de filtrer tes résultats par date et par lieu de réstitution
Donc dans ta galerie, en source de données, tu pourras mettre :
GroupBy( //pour grouper les données par véhiculen Sort( // on trie en amont par date de résan Filter( //on filtre la source en amont sur le lieu de restitution et la date de résan Reservations,n 'lieu restitution' = 1,n Date_Reservation <= Today()n ),n Date_Reservation,n SortOrder.Descendingn ),n "vehicule",n "Détails Réservation" // Les colonne non groupées, vont se retrouver au format table dans la colonne "Détails Réservation"n)
Dans les items de la galerie, un premier LabelText avec
ThisItem.vehicule
Et un second qui va indiquer la date et le créneau souhaité (trié et filtré)
With( n {FirstItem: First(ThisItem.'Détails Réservation')}, // on utilise With pour optimiser la formule et ne pas faire appel 2x à celle-cin FirstItem.Date_Reservation & " - " & FirstItem.créneau.Valuen)
Résultat :
On est partie de la liste :
et on obtient dans notre galerie les 2 seuls résultats qui réunissent tous les critères :
CommentID=FE0JpwEslZT7yEf, PostID=Pra5YOCgclogTe7
-
-
Ah, petit détail qui a son importance :
Il est primordial que l’application Power Apps (Android ou iOs, que je vais appeler “client Power Apps” pour que ce soit plus clair) soit toujours à jour sur les périphériques mobiles. Ce qui m’est arrivé plus d’une fois :
Le client Power Apps est déployée sur les périphériques mobile, et, pour une raison X ou Y, les mises à jour des applis du périphérique sont faites une fois par trimestre ou par mois. La power apps fonctionne bien, elle tourne sur une version du client power apps toujours postérieure à la date de publication de l’appli interne
Côté dev, on ajoute des fonctionnalités à l’appli, on déploie une mise à jour en Prod et là c’est le drame, l’app ne se lance plus ! En fait, quand cela se produit, il est indispensable de forcer une mise à jour du client Power Apps.
CommentID=qgTHKjNoIa4rapn, PostID=sGt3rNe7u7gmGmX
-
Bonjour,
Il semble qu’il y a des mises à jour en ce moment sur la gestion du statut des applications, cela va, je pense se résorber dans les jours qui viennent
CommentID=rAmvPsvih06NySz, PostID=sGt3rNe7u7gmGmX
-
Je dirais un truc dans le style :
LookUp(ListeSharePoint; CountRows(PersonneRattacheAuSite;Email = User().Email)>0 ; Site)
CommentID=vWunFKcSS8XxOns, PostID=i16EKqIEUsOwrRv
-
Si tu as fait un AddColmuns, il faut obligatoirement enlever les colonnes ajoutées avec DropColumns() pour pouvoir patcher, ce qui est parfois fastidieux, car on ne peut pas faire de DropColumns sur un record (ta variable)
Tu peux donc essayer quelque chose du style :
Patch(Pickage_Partie;n First(n DropColumns(n Table(varPartie)n ;"tmpstatut"n )n )n)
CommentID=dNXYYtabb4CIBUX, PostID=99I89Ku1IYNXSfV
-
DavidZed
Membre3 mai 2023 à 7h15 en réponse à: Initialiser 2 variables en entrant les données manuellementBonjour,
Je viens de le découvrir en rédigeant ma réponse : on peut ajouter des entrées au déclencheur “Pour une ligne sélectionnée” :
CommentID=fiTFmJuvjtb2PVR, PostID=tA5MMmQLWHEVaPH
-
Oui désolé, j’ai pris le parti d’utiliser la syntaxe en-US car toutes les références sont sous ce format (y compris dans la doc MS) : pour passer en FR, il faut remplacer :
-
les , par des ;
-
les ; par des ;;
-
les . par des , (seulement pour les valeurs décimales)
SubCommentID=joU4vLNFNE11PtH, CommentID=Mg3v8jHxVZxzfQr, PostID=Pra5YOCgclogTe7
-