R3dKap
Expert Power AppsRéponses céées sur le Forum
-
Nickel…
Alors voilà la formule :
SortByColumns(n AddColumns(n GroupBy(n <Ta liste>; n "Destinataire"; n "Item"; n "Group"n ); n "Somme";n Sum(Group; Cotation)n );n "Destinataire";n Ascending;n "Item";n Ascendingn)
En fait tu peux pas faire la somme via le GroupBy(). Faut la rajouter après… 😉
CommentID=YyJ8UeZHBGhJJsp, PostID=LlIQdn63N0mXx2W
-
Effectivement. La fonction Count() n’existe pas. Utilise CountRows() à la place :
CountRows(Group)
T’as la liste de toutes les fonctions ici si tu veux :
SubCommentID=NHoYXTD8GIkpFNB, CommentID=YyJ8UeZHBGhJJsp, PostID=LlIQdn63N0mXx2W
-
-
@Vince je crois que le mieux, pour que je puisse t’aider, c’est si tu pouvais me proposer une liste de quelques valeurs de tes listes LesDest et T_Liste_Aprob_Labo (en me précisant les formats des colonnes) et de me dire, en fonction de ces valeurs, ce que tu attends comme résultat dans Collection1.
Dans un p’tit fichier Excel ça serait parfait… 😉
CommentID=idDnoQ48kyRU5Gv, PostID=LlIQdn63N0mXx2W
-
R3dKap
Membre24 février 2022 à 14h14 en réponse à: Créer un bouton mailto dans une colonne de type "texteSalut @Marine,
Est-ce que ce que tu essaies de faire c’est un bouton dans une colonne A (de type texte) qui fasse un mailto vers une adresse mail qui provient d’une colonne B (de type user) ?
CommentID=uEBCT83meBRGXkv, PostID=v0olcliHDC88bBG
-
Avec plaisir… Bin en fait, je ne connais pas réellement la limite de chargement à partir d’un fichier Excel mais comme tu le vois, avec la technique j’ai utilisé j’ai réussi à charger 36 000 lignes dans SharePoint…
Côté Dataverse, tu as évidemment plus de puissance et pas réellement de limite (à ma connaissance). Surtout qu’il existe dans le Dataverse une fonctionnalité d’import de données à partir de fichiers Excel qui est très puissante : mapping de données, conversion de types, etc. Mais après, à l’utilisation il y aura un coût. Il faut l’estimer au regard du gain…
CommentID=DbKTI7Gc4lSmF5i, PostID=8xboLeQO9HZONn1
-
@S, merci pour le rappel… 😉
@ChezWam tu écrases à chaque fois ta ligne car le 2è paramètre de ton Patch() renvoie une ligne déjà existante de ta liste -> du coup le Patch() fonctionne en mode modification.
Si tu veux créer une ligne dans ta liste, il faut que tu mettes un
Defaults('Table Sortie')
dans le 2è paramètre de ton Patch().Sinon @Vince a (partiellement) raison : pour enregistrer le musicien, il est préférable de spécifier quelle propriété de ta ComboboxMusicien utiliser (même si implicitement Power Apps est capable de le savoir). C’est à dire, qu’il te faut mettre ceci :
{n Musicien : ComboboxMusicien.Selectedn}
Attention : mettre
Combobox.Selected.Value
ne fonctionnerait pas car la structure de ta colonne Musicien est complexe et de la forme :{n Id: ...;n Value: ...n}
Il faut donc respecter ce format-là lorsque tu alimentes ta colonne Musicien. Or, si le Items de ta ComboboxMusicien est bien alimenté avec un Choices(…) alors ce sera le cas. Car la fonction Choices() construit un tableau à 2 colonnes qui respecte le format ci-dessus.
Voilou… N’hésite pas revenir ici si tu as le moindre souci…
CommentID=l6qN0otoLG0dfxq, PostID=NjO0xGFEOIFNdIl
-
R3dKap
Membre24 février 2022 à 13h55 en réponse à: Création d'une application de passation de commandeSalut @Erwan,
Essayons de dégrossir un peu le sujet et de rentrer dans le détail…
Contexte
Tout d’abord, pour que je comprenne bien le contexte…
-
Quel est exactement votre rôle à vous en tant qu’intermédiaire ? Car finalement les clients pourraient passer leurs commandes directement auprès des prestataires logistiques…
-
Quel est, grossièrement, le circuit des fichiers Excel aujourd’hui ?
-
As-tu un schéma du process où l’on voit les différents intervenants (qu’ils soient de chez vous, du client, ou du prestataire) ?
Aspects techniques
-
Quels sont les volumes de données ?
-
Les clients (et/ou prestataires) ont-ils des comptes M365 sur leur tenant ou ont-ils des comptes sur le vôtre ou sont-ils des invités sur le vôtre ?
-
Où sont localisées les bases articles et clients ? Sont-elles externes à votre tenant ? Quel outil de base de données est utilisé pour les gérer ?
Bon, bin on va déjà commencer avec ça… 😉
PS : si dans ta réponse tu peux mettre les mêmes paragraphes et les mêmes numéros de questions histoire que je m’y retrouve, ça serait top !
CommentID=LGBYL3uufvRj976, PostID=aI0VJaNsZd7YjWl
-
-
R3dKap
Membre22 février 2022 à 15h28 en réponse à: Enregistrement du "Screen" en PDF dans une liste SharepointJe vois. Attention, si dans ta galerie tu as plus d’éléments que ceux visibles à l’écran et qu’il faut défiler vers le bas pour voir certains éléments, ça ne marchera pas avec le Screenshot car il ne fait que prendre une photo de ce que l’on voit à l’écran.
J’ai pas très bien compris ton besoin par contre : qui fait l’inventaire ? les gars qui reçoivent la liste du matos c’est ceux qui empruntent/utilisent/louent le matériel ? qui fait l’approbation et à quoi sert-elle ?
CommentID=YR4PPnPzpkWC6ao, PostID=ofR9qnVxIcg8WY2
-
@Alain effectivement, le HTML que tu peux utiliser dans les mails est plutôt basique. Donc, typiquement je pense que le “:nth-child” n’est pas supporté par les logiciels de messagerie en général.
Il faut donc te débrouiller en faisant du CSS basique et/ou faire plutôt du CSS inline. C’est à dire que chaque élément de ton HTML possède ses propres styles, comme ceci :
<table>n <tr style="height: 40px">n <td style="width: 10%; color: red">n ...n <td>n </tr>n</table>
Voici un petit récap de ce qui est supporté dans les emails :
Tu vois que c’est plutôt limité… 🙄
CommentID=a5IYSL7uD2mMh4F, PostID=NA8gcXzjkmYD4T7
-
R3dKap
Membre21 février 2022 à 17h54 en réponse à: Enregistrement du "Screen" en PDF dans une liste SharepointExact. L’instruction Print() fait une capture de ton écran puis t’ouvre la boîte de dialogue d’impression de ton PC pour pouvoir l’imprimer. Du coup tu peux potentiellement choisir d’en faire un PDF. Inconvénient : tu génères un fichier local sur ton PC qu’il faudrait ensuite charger quelque part sur SharePoint (à moins de passer par OneDrive). Mais quoiqu’il en soit, tu perdrais le lien avec la personne et son adresse email.
Du coup, pour l’instant, je ne vois que la solution du composant PCF Screenshot. J’ai vérifié, il y a une propriété Output qui te permet de récupérer les données brutes de l’image. En l’envoyant à un flux Power Automate (avec le nom et le mail de la personne) tu peux facilement stocker tout ça dans SharePoint. Et du coup, tant qu’à faire, pas besoin de convertir ton image en PDF non ? Autant la garder au format image.
CommentID=icV9UIKf8i1SN5k, PostID=ofR9qnVxIcg8WY2
-
R3dKap
Membre21 février 2022 à 15h50 en réponse à: Enregistrement du "Screen" en PDF dans une liste SharepointOui, c’est plus clair merci. L’écran donc…
Alors oui c’est possible, il existe un composant PCF (Power Apps Component Framework) fait par Ritika Agarwal qui fait justement ça :
Par contre :
-
le composant ne génère pas un PDF mais une image
-
je n’ai pas encore testé le composant (en cours…) et donc je ne sais pas si le composant te donne accès aux données brutes de l’image pour en faire ce que tu veux
-
pour pouvoir utiliser ce composant il va falloir que tu actives les composants PCF sur ton environnement
Ceci étant dit, peut-être que si tu nous expliques en détail ce que tu cherches à faire (au niveau métier j’entends) peut-être qu’on te redirigera vers une solution plus simple, plus souple, plus efficace… 😉
N’hésite pas si tu as d’autres questions…
CommentID=RkKg8g651bYQwO6, PostID=ofR9qnVxIcg8WY2
-
-
R3dKap
Membre21 février 2022 à 12h42 en réponse à: Enregistrement du "Screen" en PDF dans une liste SharepointBonjour @Hugotr35,
Il faudrait que tu précises ce que tu veux dire par “un écran de l’arborescence“… Passke là je vois pas très bien… 😉
CommentID=H1SlSnIZYzDsPkn, PostID=ofR9qnVxIcg8WY2
-
Les 2 colonnes tu veux dire… Attention aux mots utilisés… 😉
C’est là qu’est le problème du coup. Il faut que tes 2 colonnes aient le même nom interne dans tes 2 listes. Je te suggère de carrément supprimer les 2 colonnes N° Lot dans tes 2 listes et de les recréer en suivant la procédure indiquée sur cet article au paragraphe Création des colonnes :
A la première étape, nomme-les scNumeroLot et à la 2ème étape, donne-leur le libellé N° Lot. Puis met à jour les sources de données dans ton appli et reteste…
CommentID=IwcRrGaXWmT7tu9, PostID=SVOMKheaWphWjFu
-
R3dKap
Membre21 février 2022 à 12h12 en réponse à: Lier des éléments de deux listes à leur création@Alexandre @Lo
Il n’existe pas à proprement parler une documentation qui liste ce genre de choses. C’est plus un feeling basé sur l’expérience. Mais maintenant que j’y pense ça pourrait être intéressant que je pose la question à l’équipe Power Apps chez MS pour qu’ils me donnent quelques billes sur la mécanique interne d’exécution et de traitements des formules dans les applications de canevas.
Je me base aussi sur le fait, par exemple, qu’il existe une option qui permet de désactiver l’exécution du App.OnStart en parallèle des autres événements de lancement d’une application :
👉 D’une manière générale, les formules sont quand-même traitées en séquence. Sinon on aurait de grave soucis lorsqu’il y a des dépendances entre variables par exemple. Et d’ailleurs, c’est pas pour rien non plus qu’il existe une fonction Concurrent() qui sert précisément à paralléliser les traitements (ce qui laisse sous-entendre que le reste est séquentiel).
Par contre, il y a quelques cas particuliers :
-
Le SubmitForm() justement… En règle général on ne met pas de code après le SubmitForm() car là, pour le coup, le système n’attends pas que le formulaire soit entièrement soumis pour continuer à traiter un éventuel code qui suivrait juste derrière. Pourquoi ? Justement parce qu’il y a un événement OnSuccess qui est là pour garantir la fin de la soumission du formulaire. Donc, en toute logique, s’il y a un traitement à faire après la soumission d’un formulaire, il doit être placé dans le OnSuccess.
-
Le Navigate() : comme pour le SubmitFormt() normalement on ne met pas de code après le Navigate() car on indique à Power Apps que l’on veut changer d’écran : si l’on veut changer d’écran pourquoi mettrions-nous encore du code juste après le Navigate() -> ça n’a pas de sens. Tout code situé après un Navigate() doit donc être placé dans le OnVisible de l’écran cible. Clairement, je pense que lorsque Power Apps voit une instruction Navigate() il navigue immédiatement et n’attends pas qu’un éventuel bout de code derrière le Navigate() soit entièrement exécuté pour changer d’écran.
-
L’appel de flux Power Automate : là c’est particulier car cela dépend si à la fin du flux il y a l’action suivante :
-
Si le flux se termine par cette action alors Power Apps attends la fin de l’exécution du flux pour continuer le code qui se situe après l’appel du flux. Dans le cas contraire, l’appel du flux ne fait que déclencher le flux et Power Apps poursuit l’exécution de l’application dans la foulée avant même que le flux n’aie terminé de s’exécuter.
Voilou… 🙂
CommentID=lzLXw1GYPx9MAt5, PostID=YZsSIl0iuKjZa8u
-
-
Salut @Sylvain,
J’avais rédigé une procédure là-dessus il y a quelques temps… 😉
Perso je l’ai utilisée pour charger la liste des communes de France, soit quelques 36 000 lignes… 😊
CommentID=EUirIRZnNlivZxg, PostID=8xboLeQO9HZONn1