Réponses céées sur le Forum

Page 74 sur 90
  • R3dKap

    Membre
    25 mars 2022 à 13h38 en réponse à: Actualisation planifiée vs Sur Demande

    @J une idée pour aider @Iheb? Merci d’avance… 😉

    CommentID=hShEgDNjSGwJur7, PostID=hENVVx6KePpERuI

  • R3dKap

    Membre
    25 mars 2022 à 13h37 en réponse à: Architecture DataFlow et Modélisation

    Salut @Iheb,

    N’hésite pas à pinger les experts Power BI que tu trouveras dans l’espace Les experts pour avoir plus de chances d’une réponse efficace à ta demande… 😉

    Comme par exemple : @J (qui est un petit peu seul d’ailleurs sur Power BI 😅).

    CommentID=qHKShFeJvgEUMT5, PostID=gufJx6VanZquIwx

  • R3dKap

    Membre
    23 mars 2022 à 8h25 en réponse à: Convertir une date

    Exact @Alain. Merci, je corrige…

    CommentID=4nEGUXffqXOyt2F, PostID=W2XFTBCMqFAsSfc

  • R3dKap

    Membre
    22 mars 2022 à 10h04 en réponse à: Convertir une date

    @Alain du coup j’ai fait vite fait un p’tit post sur ce sujet 😉 :

    CommentID=VkDtjJSu5YJnHXf, PostID=W2XFTBCMqFAsSfc

  • Ok, c’est bon, j’ai compris ton modèle de données…

    Dis-nous comment on peut t’aider… 😊

    CommentID=NVJjrv9Joa4y64X, PostID=RTKvQn2SLy4RdUK

  • Ah, laisse tomber… Je viens de voir que t’avais préfixé toutes tes colonnes avec un trigramme indiquant la liste… Donc, c’est bon…

    CommentID=u5W349Ku5VfK46w, PostID=RTKvQn2SLy4RdUK

  • Alors, c’est vraiment pas mal du tout… Je vois que t’as généré le modèle de données avec Power Query à partir de SharePoint… Top ! 👍 Moi-même j’ai une copine qui m’a montré ça récemment. Faudrait voir à l’occase comment automatiquement retirer certains champs inintéressants. Bref…

    Il me manque juste un p’tit truc : si tu peux me rajouter au-dessus de chaque tableau des slides 5, 6, 7 le nom de la table correspondante ça serait top.

    J’attends ta nouvelle version…

    CommentID=N42osij5ONqfJvW, PostID=RTKvQn2SLy4RdUK

  • Ah oui effectivement… c’est de la Walking Dead App là… 😅

    Allez, je regarde ça à tête reposée et je reviens vers toi…

    CommentID=ajI7Z9DAIdJoCrm, PostID=RTKvQn2SLy4RdUK

  • R3dKap

    Membre
    22 mars 2022 à 9h10 en réponse à: Les proprios d'applications

    Salut @Ju_li3n,

    En fait, que ce soit pour les apps ou les flows, lorsque le propriétaire disparaît, l’objet en question devient effectivement orphelin.

    L’outil idéal pour les gérer c’est le CoE Starter Kit car il te permet de les identifier facilement et d’attribuer de nouveaux propriétaires par le biais d’un outil qui est fourni.

    Sinon, la bonne pratique, bin c’est tout simplement d’aller dans l’Administration Power Apps, d’aller sur l’environnement concerné, de cliquer sur Apps ou Flux et de filtrer les apps ou les flux sur ceux qui n’ont pas de propriétaire. Et pour chacun d’eux, à cet endroit, tu peux leur attribuer un nouveau propriétaire.

    Evidemment, tu peux aussi décider de mettre en place un flux qui va s’exécuter quotidiennement et dont le rôle sera de détecter les apps ou flux orphelins et faire ensuite le traitement que tu préfères derrière (envoyer un mail d’alerte par ex.).

    Pour finir, l’idéal est de mettre en place une gouvernance pour éviter les orphelins : par exemple, prévoir une étape dans le processus de sortie du salarié ou de la suppression de son compte pour qu’il s’assurer de bien transmettre ses apps/flux à une autre personne.

    Voilou…

    CommentID=9vVmV4Y54qHzQem, PostID=M4rJ0pOP1uq9GiS

  • R3dKap

    Membre
    18 mars 2022 à 18h02 en réponse à: Envoi d'une entrée d'agenda via PowerApps

    C’est parce-que ton ‘Body’ a un ‘B’ majuscule… 😉

    Respecte bien le formalise indiqué dans la structure indiquée au-dessus de la barre de formule :

    Si tu les vois pas tous, tu peux aussi le voir dans Power Automate en ajoutant l’action correspondante (Créer un événement (V4)), en renseignant les paramètres qui t’intéressent avec des valeurs bidons et en regardant le code :

    Et du coup tu vois comment s’écrit la propriété :

    CommentID=BKfdBaAiyqI3Fcp, PostID=LPTAqkWMo099PuY

  • R3dKap

    Membre
    18 mars 2022 à 17h44 en réponse à: LISTE SharePoint

    Je vois rien de particulier dans ton flow… Est-ce que par hasard t’aurais pas un autre flow de test que t’aurais fait y’a quelques temps et qui est resté branché sur la même liste, qui se déclencherait aussi en même temps que celui-ci et qui te rajouterait d’autres fichiers dans tes dossiers ?

    SharePoint n’invente pas des fichiers. Ils viennent forcément de quelque part.

    Ah, y’a un truc que tu peux faire aussi : c’est de regarder l’exécution du flux pour essayer de trouver celui qui génère le fichier qui n’a rien à voir dans le dossier…

    CommentID=RgUpGX0nWFbVAE4, PostID=P3kqhLcGFmuRQzy

  • R3dKap

    Membre
    18 mars 2022 à 12h29 en réponse à: LISTE SharePoint

    @philippe ouhlaaa… il est bizarre ton truc… 😋

    1. Quel est le déclencheur du flux ?

    2. Quand tu dis que des fichiers sont ajoutés dans ta liste, c’est-à-dire ? En pièces jointes ?

    3. Les fichiers sont copiés dans une bibliothèque de documents ?

    4. Un dossier est créé pour chaque item de la liste ?

    Je vois pas très bien pourquoi des vieux fichiers “fantômes” reviendraient dans tes dossiers… On touche au surnaturel… 👻😁

    CommentID=kfHeC220bnzjGTQ, PostID=P3kqhLcGFmuRQzy

  • R3dKap

    Membre
    18 mars 2022 à 12h24 en réponse à: LookUp function basée sur une combobox (multiple choice)

    Avec plaisir… 😉

    Alors j’ai indenté ton code pour y voir plus clair :

    If(n    FormNewHQ.Mode = FormMode.New,n    Concat(n        Distinct(n            Split(n                Concatenate(n                    Concat(n                        Filter(n                            AddColumns(n                                AccessManagement,n                                "Selectedcountries",n                                If(n                                    IsEmpty(DataCardValue49_1.SelectedItems.Value),n                                    "true",n                                    If(n                                        "yes" in Concat(n                                            ForAll(n                                                DataCardValue49_1.SelectedItems.Value,n                                                If(Value in Country.Value, "yes", "no")n                                            ),n                                            Valuen                                        ),n                                        "true",n                                        "false"n                                    )n                                )n                            ),n                            Selectedcountries = "true"n                        ),n                        AdminEmailAccess,n                        ";"n                    ),n                    ";",n                    Concat(n                        Filter(n                            AddColumns(n                                AccessManagement,n                                "Selectedcountries",n                                If(n                                    IsEmpty(DataCardValue49_1.SelectedItems.Value),n                                    "true",n                                    If(n                                        "yes" in Concat(n                                            ForAll(n                                                DataCardValue49_1.SelectedItems.Value,n                                                If(Value in Country.Value, "yes", "no")n                                            ),n                                            Valuen                                        ),n                                        "true",n                                        "false"n                                    )n                                )n                            ),n                            Selectedcountries = "true"n                        ),n                        HREmailAccess,n                        ";"n                    ),n                    ";",n                    Concat(n                        Filter(n                            AddColumns(n                                AccessManagement,n                                "Selectedcountries",n                                If(n                                    IsEmpty(DataCardValue49_1.SelectedItems.Value),n                                    "true",n                                    If(n                                        "yes" in Concat(n                                            ForAll(n                                                DataCardValue49_1.SelectedItems.Value,n                                                If(Value in Country.Value, "yes", "no")n                                            ),n                                            Valuen                                        ),n                                        "true",n                                        "false"n                                    )n                                )n                            ),n                            Selectedcountries = "true"n                        ),n                        CentralApproverEmailAccess,n                        ";"n                    )n                ),n                ";"n            ),n            Resultn        ),n        Result,n        ";"n    ),n    Parent.Defaultn)

    Bon, le post n’étant pas très large ça n’aide pas non plus mais c’est déjà ça…

    Je vois que tu as 3 blocs parfaitement identiques :

    Filter(n    AddColumns(n        AccessManagement,n        "Selectedcountries",n        If(n            IsEmpty(DataCardValue49_1.SelectedItems.Value),n            "true",n            If(n                "yes" in Concat(n                    ForAll(n                        DataCardValue49_1.SelectedItems.Value,n                        If(Value in Country.Value, "yes", "no")n                    ),n                    Valuen                ),n                "true",n                "false"n            )n        )n    ),n    Selectedcountries = "true"n)

    Pour simplifier la maintenance de ton code, ce que je ferais c’est que je mettrais une galerie vide (supposons qu’elle s’appelle Gallery1), masquée, sur l’écran et j’y mettrais cette formule dans sa propriétés Items.

    Du coup, ta grosse formule devient :

    If(n    FormNewHQ.Mode = FormMode.New,n    Concat(n        Distinct(n            Split(n                Concatenate(n                    Concat(n                        Gallery1.AllItems,n                        AdminEmailAccess,n                        ";"n                    ),n                    ";",n                    Concat(n                        Gallery1.AllItems,n                        HREmailAccess,n                        ";"n                    ),n                    ";",n                    Concat(n                        Gallery1.AllItems,n                        CentralApproverEmailAccess,n                        ";"n                    )n                ),n                ";"n            ),n            Resultn        ),n        Result,n        ";"n    ),n    Parent.Defaultn)

    Ce qui est quand même plus lisible… 😉

    CommentID=ueu6hQtk5XhurdV, PostID=7sLjiaO0S60z9LY

  • R3dKap

    Membre
    18 mars 2022 à 12h06 en réponse à: Minuteur-macro

    Salut @Sylvain,

    Pour faire des “fonctions” (ce que tu appelles des macros 😉) dans Power Apps, c’est-à-dire du code que l’on peut appeler à plusieurs reprises mais où le code n’existe qu’une seule fois dans toute l’application, il y a plusieurs techniques :

    • tu mets un bouton quelque part, tu mets ton bout de code sur sa propriété OnSelect, et pour le déclencher tu fais un Select(NomDuBouton)

    • tu mets un toggle quelque part, tu mets ton bout de code sur sa propriété OnChange et tu mets gloExecuteCode dans sa propriété Default puis lorsque tu veux déclencher le code tu fais Set(gloExecuteCode; Not(gloExecuteCode))

    L’inconvénient de ces 2 techniques c’est que tu ne peux pas transmettre de paramètres à ton bout de code. C’est pourquoi il y a une technique plus élégante comme l’indique @Pierre Bourdial (sauf que ce sont pas les Behavior properties mais les Output properties avec l’option Propriétés du composant amélioré activée).

    Je m’explique…

    Dans ton application, active d’abord l’option en question :

    Cela aura pour effet de te rajouter les fonctionnalités suivantes dans les composants (si tu étais déjà sur l’onglet Composants lorsque tu as activé l’option, il faut que tu reviennes sur l’onglet Ecrans puis retour sur Composants pour que ce soit visible) :

    Les 2 nouvelles fonctionnalités sont les suivantes :

    • les propriétés de tes composants peuvent désormais avoir des paramètres

    • ton composant peut désormais avoir des propriétés de comportement

    Lorsque tu combines des paramètres à une propriété de sortie d’un composant tu peux alors créer une “pseudo-fonction”.
    Par exemple, je peux créer un composant qui s’appelle Calcul (dans lequel il n’y a aucun contrôle -> il est vide) où je crée une propriété de sortie de type Nombre qui s’appelle Addition avec 2 paramètres N1 et N2 de type Nombre également :

    Ensuite, tu définis la valeur de cette propriété à N1 + N2 :

    Tu viens de créer une fonction d’addition de 2 nombres quelconques.

    Pour l’utiliser tu poses un exemplaire de ton composant sur ton écran (ici Calcul_1), et par exemple dans un libellé tu peux faire ceci :

    Sympa non ? Ca ouvre pas mal de possibilités… D’ailleurs, sur le Github de Matthew Devaney tu trouveras des tonnes de fonctions faites par différentes personnes de la communauté… 😉

    NOTEATTENTION, les 2 techniques (avec le bouton et le toggle) décrites ci-dessus ne sont pas recommandées car la tentation est de placer ces contrôles sur un écran inutilisé visuellement par l’application. Or, Power Apps n’aime pas que sur un écran 1 on fasse référence à un contrôle qui se trouve sur un écran 2. Tout simplement parce-qu’il ne garantit pas que l’écran 1 est instancié (existe) AVANT l’écran 2.
    Ainsi, si sur le OnVisible de ton écran 1 tu fais un Select(btnExecuteCode) qui est sur un écran 2 mais que par malheur lorsque tu lances ton application Power Apps n’a pas encore eu le temps d’instancier l’écran 2 alors que ton écran 1 est déjà visible, et bien ton code ne s’exécute pas…
    Cela est encore plus vrai si jamais l’option suivante est activée sur ton application :

    Elle augmente les performances de l’application en ne créant les contrôles (et donc les écrans) de ton application que lorsqu’ils sont affichés.

    CommentID=4ETqVWksJikudH2, PostID=m9I5cvcPjoEoVGk

  • R3dKap

    Membre
    24 mars 2022 à 15h35 en réponse à: Les proprios d'applications

    Tu peux développer @Lo ? Le sujet est intéressant et je suis toujours preneur de REXs… 😉

    SubCommentID=RkS8wqJZiEEKlGi, CommentID=fkVznMUAeJU6Zqi, PostID=M4rJ0pOP1uq9GiS

Page 74 sur 90