Réponses céées sur le Forum

Page 22 sur 68
  • DavidZed

    Membre
    18 octobre 2023 à 11h58 en réponse à: Reset des données

    Bonjour, le plus simple dans ce cas de figure :

    Ecran 1 avec la galerie :

    Dans la galerie sur Onselect :

    Navigate(‘Ecran 2’ ; ScreenTransition.Fade ; {ctxSelectedItem : ThisItem}) // on stocker l’enregistrement dans une variable de contexte

    Ecran 2 :

    un formulaire (Form1) avec en items : la liste SP, et en Item : ctxSelectedItem

    Sur le bouton flêche droite : SubmitForm(Form1)

    Sur le OnSuccess de Form1 : Navigate(‘Ecran 3’ ; ScreenTransition.Fade ; {ctxSelectedItem : ctxSelectedItem})

    CommentID=IIsIlXv3rEv66uE, PostID=ACTElqYQPYdm6bx

  • DavidZed

    Membre
    18 octobre 2023 à 11h47 en réponse à: Afficher Etiquette (Label) d'une liste de choix

    Hello,

    Tu peux voir le format de sortie en examinant le json de sortie de ton action “list rows” :

    il ne restera plus qu’à utiliser le nom de champ (Nom colonne + @Odata.community.Display…. etc) dans une expression en s’inspirant de la valeur dynamique :

    le résultat

    CommentID=zoYFnabJF8fzdx6, PostID=xB5oVx8b1DYyFZM

  • DavidZed

    Membre
    11 octobre 2023 à 19h35 en réponse à: Licence PowerApps Canvas sur environnement de production.

    Bonjour Kim Laurent CHAP ,

    L’optimisation du licensing, c’est un vaste sujet, mais dans les grandes lignes :

    • Favoriser l’utilisation de connecteurs standards quand c’est possible : il peut arriver que dans un user-case, seule une petite partie des utilisateurs ont besoin de connecteurs premium, dans ce cas on peut tirer parti d’avoir plusieurs apps.

    • Quand c’est possible, avoir une seule appli et des licences per app permet de diviser le coût de licence par 3 (mais attention aux appli trop complexes)

    • Pour certains usecases, Dataverse for Teams est adapté, c’est une sorte de version light de Dataverse au sein d’une équipe teams qui offre plus de possibilités que SP et qui est accessible avec une licence M365 office

    • Dans le cas d’applications qui vont être utilisée de manière peu fréquente, le pay-as-you-go peut être une alternative intéressante

    Pour les use case avec 1000+ utilisateurs :

    • déjà ce sont souvent de grandes entités qui bénéficient de tarifs dégressifs aux vues des volumes de licences commandées

    • Le prix de la licence peut paraitre important, mais si on est pragmatique : 18,70€ c’est 45 minutes de salaire médian (super brut) => Si la solution fait gagner au moins 45 min par mois à chaque utilisateur, c’est rentable… Autant dire que c’est un objectif largement atteignable.

    • Si les use case se multiplient, le prix des licences per user est le même, autrement dit, c’est un effort de départ à fournir mais les usages supplémentaires ne génèrent pas ou peu de coûts supplémentaires.

    CommentID=0WVMV56xXPqUt1K, PostID=OWghehRvAXTq33L

  • DavidZed

    Membre
    11 octobre 2023 à 18h55 en réponse à: Téléchargement Liste sharepoint

    Hello Hugotr35 ,

    Pour la sauvegarde des listes, en général je me contente de la corbeille de sharepoint, par contre se pose souvent la question de l’archivage. En général je duplique la liste et je fais un power automate qui va archiver périodiquement les lignes qui ont plus de X mois.

    Je préfère sauvegarder dans une autre liste car la restauration est moins douloureuse car la structure de la donnée est la même

    Pour ce qui est d’exporter périodiquement les données de SP vers des fichiers Excel, tu peux préparer un fichier avec une table et les colonnes correspondantes à ta liste et partir sur un flux du type :

    • Déclenchement planifié tous les 7j

    • Obtenir les éléments SP

      • Pour chaque élément de la liste SP :

    • Ajouter une ligne à une table => Fichier Excel

    • Onedrive > Obtenir le fichier (fichier excel)

    • Onedrive > Créer un fichier (mettre le contenu du fichier excel et la date de backup dans le nom du fichier)

    • Excel lister les lignes d’une table

      • Pour chaque ligne de la table > supprimer la ligne

    C’est simple à faire mais super gourmand en requêtes si tes listes sont limitées à quelques centaines de lignes c’est jouable, sinon il faudra envisager une solution plus élaborée.

    CommentID=byUIyTF0lDundzB, PostID=4URTtHTGLLyqQkD

  • Bonjour Mickael ,

    Il faudrait nous en dire plus sur ta base de données et ton “statut de l’item”, peux-tu nous dire :

    1. Quelle est la source de données ( liste SP, excel, dataverse… )

    2. à quoi correspond le “statut de l’item” ( colonne de type option, recherche, texte ? )

    3. Le “champ non renseigné” est-il une autre colonne dans ta source ?

    CommentID=etQAOncJiJuYkX7, PostID=3ydBnOSExRouylb

    • Dans ce cas,

      Filter('Source de donnée';n      Statut.Value = "Approuvée"; // 1er test logique du filtren      'N° de commande' = "" || IsBlank('N° de commande') // 2eme test logique (IsBlank si le champ n'a jamais été saisi ou = "" si une saisie a été faite puis remplacée par "")n)

      SubCommentID=bxOkvGtLWwOoZog, CommentID=etQAOncJiJuYkX7, PostID=3ydBnOSExRouylb

  • DavidZed

    Membre
    10 octobre 2023 à 12h05 en réponse à: Compter le nombre de nouveau enregistrement

    Bonjour Matthias

    En considérant que tu as un DatePicker pour sélectionner la date à partir de laquelle il faut compter les lignes, tu peux utiliser une de ces deux formules :

    CountRows(Filter('liste SP'; 'Créé le' > DatePicker1.SelectedDate))nn//ounnCountIf('Liste SP'; 'Crée le' > DatePicker1.SelectedDate) )

    CommentID=JtMBHycmjyi8pYK, PostID=2L5uMloPwfdCz9S

  • DavidZed

    Membre
    9 octobre 2023 à 13h34 en réponse à: FORM en édition : Reset auto aux valeur d'origines

    Hello JLF ,

    Normalement, les seuls évènements qui peuvent réinitialiser un form, se font au niveau du formulaire avec ResetFrom(), mais aussi EditForm(). => faire une recherche sur cette formule dans toute l’appli.

    Mais il peut également y avoir une variable sur une propriété default, elle peut-être sur le DataCardVaule mais également sur le DataCard

    CommentID=79CAtYyX9jubQDp, PostID=OuNOQ8HAuAg8Jgh

  • DavidZed

    Membre
    8 octobre 2023 à 9h38 en réponse à: MAJ d'une liste SP depuis PowerApps

    Hello,

    Si tu débutes, je te conseille vivement de définir le modèle de données de tes colonnes dans ta liste SP, cela va grandement simplifier le développement d’une appli avec des galeries et surtout, des formulaires, car ces derniers sont préformatés pour interpréter les types de données que va lui indiquer ta source et proposer le mode de saisie adapté.

    Si c’est un impératif absolu ou une contrainte imposée que ta liste de projets ne contienne que des colonnes texte, le moyen le plus simple de saisir via un ComboBox est de modifier le “Type de contrôle” du DataCard et de le passer de “Modifier Texte” à “Valeurs autorisées”

    Le datacard va se réinitialiser et afficher un DropDown à la place du textinput. Il faudra ensuite déverrouiller le DataCard et mettre ta collection dans le paramètre “items” du DropDown (1), et veiller à à ce que le Value soit mis sur le champ de ta collection que tu veux avoir en valeur texte (2). Il peut être intéressant de mettre le AllowEmptySelection à true si ton champ est facultatif (3)

    CommentID=UlwWIdmwHos0bOx, PostID=R1OSXZS9gJNCKld

  • DavidZed

    Membre
    6 octobre 2023 à 15h56 en réponse à: Relation double sens…

    La dessus je n’ai pas eu à désactiver les filtres bidirectionnels, mais en cas d’impact sur les performances, et dans le cas où l’effet souhaité est d’avoir un filtrage dynamique dans les deux sens, il est conseillé d’utiliser le filtrage à sens unique d’une part et d’ajouter un filtre sur les visuels sur le critère “contient des données” d’autre part.

    Cela est censé reproduire la fonctionnalité de filtre bidirectionnel. En espérant que cela réponde à ton besoin.

    CommentID=4Cuude7hNRd882V, PostID=IyndyFmmRfvaVuL

  • DavidZed

    Membre
    5 octobre 2023 à 16h40 en réponse à: Relation double sens…

    Hello StevannS ,

    L’idéal pour remplacer une relation N:N, est de créer une table intermédiaire.

    Dans l’exemple cours / élèves : Les cours comportent plusieurs élèves et les élèves assistent à plusieurs cours, on a bien une relation N:N

    Dans ce cas, on peut remplacer cette liaison par une table intermédiaire, qui pourrait être “Emargement” ou présence,

    chaque cours comporte plusieurs émargements, chaque élève remplit plusieurs émargements, mais chaque ligne d’émargement ne correspond qu’à un seul cours et un seul élève.

    On a une relation : 1 cours – N émargements et N émargements – 1 élève.

    La table intermédiaire, quand elle correspond comme ici à quelque chose d’applicable dans le process, donne également l’opportunité d’ajouter des données liées, on pourrait par exemple avoir des champs date et heure de début et fin et une liaison avec une table ‘Salle de classe”

    CommentID=s85VxEexjRwYYUl, PostID=IyndyFmmRfvaVuL

  • DavidZed

    Membre
    5 octobre 2023 à 16h20 en réponse à: Générer un PowerPoint à partir d'une canvas app

    Hello Moon ,

    A ma connaissance ce n’est pas possible, ou alors pas avec des outils ‘out of the box’

    La solution alternative la plus approchante serait d’alimenter un template word

    CommentID=yUUWe3QG0TOXQRH, PostID=LH5H1UgtAnQIpuQ

  • DavidZed

    Membre
    4 octobre 2023 à 16h01 en réponse à: Jour de la semaine +n

    Hello Mick ,

    Pour récupérer l’Id au lieu de la Value d’un champ choix, tu peux : ajouter la valeur suggérée, passer la souris en survol et regarder l’expression.

    Ensuite il suffit de recopier l’expression et simplement changer le /Value à la fin en /Id , exemple :

    Tu peux également sélectionner ta valeur dynamique, comme si c’était du texte et la coller dans le module expression, il faudra simplement veiller à supprimer les balises@{ et } :

    CommentID=NnyS39FzFJqWUyD, PostID=o4qwRcQZ0FcUcXG

  • Hello,

    Le stockage des photos dans une bibliothèque plutôt que dans la liste me parait intéressant pour pouvoir lier un nombre variable de photos. Le soucis, c’est que pour pouvoir uploader ces photos, tu dois passer par un flux power automate en arrière-plan. Si la présence des photos dans une bibliothèque n’est pas indispensable, tu peux envisager d’utiliser une liste à la place, ce qui aura pour avantage de ne pas nécessiter d’envoyer de la donnée à un flux.

    Pour que l’application soit plus réactive, voici quelques pistes :

    • Galerie liste constats :

      • Supprimer les éventuels lookup() ou Filter() imbriqués dans la galerie

      • si la galerie doit faire apparaitre une image, mieux vaut ajouter une colonne image et y loger une des photos de en mode .small ou .medium (en faire une photo principale)

    • Capture des photos

      • Collecter les photos prises dans une collection

      • Récupérer une des photos de la collection et la mettre dans la colonne image de la liste

      • à l’envoi du formulaire sur le onSuccess, lancer le flux power automate sans attendre de réponse ou patcher la liste des photos en précisant l’id du constat pour la colonne lookup

    CommentID=wfdac648f9OQOj2, PostID=cd8butj24MKbUWv

  • DavidZed

    Membre
    3 octobre 2023 à 17h34 en réponse à: Soumettre un formulaire que si la PJ est en format pdf

    Hello Geoffroy WAGNER ,

    Il me semble que le la propriété “Display Name” (Dataverse) Ou “name” (SP) de l’objet “ajout de fichier” comporte l’extension

    Dès lors tu dois pouvoir faire un test logique :

    CountIf(Attachments_DataCard2.Updates, Lower(Right( Name , 4 )) <> ".pdf" ) >0

    Qui va te renvoyer true si un fichier ne se termine pas par l’extension .pdf

    CommentID=OJXYxyMjnd3VjwY, PostID=MxQEgnE4hpw2bPD

Page 22 sur 68