Réponses céées sur le Forum

Page 48 sur 68
  • DavidZed

    Membre
    11 janvier 2023 à 15h45 en réponse à: Flux de relance et suivi du nombre d'actions

    Bonjour,

    Initialiser la variable est l’action à mettre en premier (une seule fois)

    Definir une variable est l’action à mettre ensuite quand on souhaite changer la valeur (peut être utilisée plusieurs fois)

    CommentID=wSsYFGgFTTRTnwP, PostID=8AsDSo1XCQTOzIc

  • DavidZed

    Membre
    9 janvier 2023 à 14h39 en réponse à: Flux de relance et suivi du nombre d'actions

    Hello pat ,

    pour compter le nombre de relances qui ont été faites, il faut ajouter une colonne dans ton tableau (ex : NB relances) :

    Ensuite, dans ton "definir la variable" tu mets l'expression : if(not(equals(item()?['NB relances'], null)), Add(item()?['NB relances'],1), 1)

    et ensuite ta variable dans le champ NB Relances de ton ‘mettre à jour une ligne’
    le is(not(equals…. ,null)) est nécessaire car ton flux va tomber en erreur si ta cellule NB relances est vide.

    On peut envoyer le mail depuis une autre messagerie que celle du compte qui génère le flux de deux manières normalement :

    • Soit le compte qui exécute le flux a des droit outlook pour envoyer “en tant que” (ou pour l’envoyer depuis une BAL partagée)

    • Soit en partageant le flux et en changeant la référence de connexion

    Regrouper dans un fichier Excel (incorporé dans le corps du mail si c’est possible) la liste des commandes concernées :

    à ta place, si le but est d’envoyer une liste dans le corps du mail, je ferais un tableau HTML, la liste des étapes :

    Avant ton for each : initialiser une variable de tableau : vListRelances

    Dans ton for each, dans la condition “si oui”, Ajouter à une vairable de tableau :

    {n"Facture N°" : item()?['Colonne EXCEL N° Facture'],n"NB Relance" : item()?['Colonne EXCEL NB Relance'],n"Colonne HTML 3" : item()?['Colonne EXCEL 3'],n"Colonne HTML 4" : item()?['Colonne EXCEL 4']n}

    Ensuite, après ton for each : Créer un tableau HTML

    • avec en entrée : la variable vListRelances

    Et efin, Outlook, envoyer un email V2

    • La sortie de ton Créer un tableau HTML dans le corps du mail

    PS : Une expression du type “item()?[‘Colonne EXCEL 3’]” peut être ajoutée (normalement) directement via la fenêtre objet dynamique dans un “for each” / “Appliquer à chacun”

    CommentID=mcr1vDVxTZX8Z4u, PostID=8AsDSo1XCQTOzIc

  • DavidZed

    Membre
    6 janvier 2023 à 17h09 en réponse à: Test bouton radio vide et accès à la liste sharepoint

    Bonjour, tu as plusieurs moyens pour tester si une valeur est sélectionnée, soit tester si une valeur est sélectionnée :

    Len(Radio1.Selected.Value)>0 // true si la valeur sélectionnée contient 1 caractère ou plus
    !IsBlank(Radio1.Selected.Value) // false si aucune valeur sélectionnée

    Sont quelques exemples qui devraient fonctionner

    CommentID=eRSkP74ggTtaroY, PostID=KaEaPY859aRsIgp

  • Bonjour Vincent HERY ,

    C’est faisable, mais en général quand on me formule ce genre de besoin j’essaie de trouver une autre solution, car il y a beaucoup de contraintes et de difficultés.

    Mais en gros, les étapes seraient :

    • Déclencheur : Quand un fichier est ajouté

    • Action Excel > Obtenir une ligne

    • Action Sharepoint > Mettre à jour un élément

    La principale contrainte : il faut que la donnée dans le fichier Excel soit au format de table

    CommentID=METxIIHctSRdUZv, PostID=8TaCWjGVelWezrV

  • Et pour les colonnes à choix unique, tu vas devoir faire un AddColumns(Source,"NouvColonne",ColonneChoix.Value) pour pouvoir trier sur cette donnée. Mais ce n’est pas délégable, donc à éviter sur les gros jeux de données

    CommentID=jG9wpttfIODkUpG, PostID=jZC3qDLXk8NMlZb

  • Hello Nathaly Gomez lopez ,

    Tout d’abord félicitations, c’est plutôt pas mal si tu es débutante sur les app Canvas !

    Voici quelques conseils, mais je préfère préciser: je vais partir du principe que ta liste SP contient moins de 500 éléments (ou au pire, moins de 2000 éléments) et que l’absence de délégation ne posera pas de problème.

    Pour les valeurs uniques, tu as bien identifié les fonctions à utiliser : GroupBy() ou Distinct(). La contrainte qui va découler de l’utilisation de ces formules, c’est que tu vas changer la structure de la donnée affichée dans ta gallerie. Rien de bien grave, mais si tu as dans ton appli un formulaire avec dans item : Gallery1.Selected par exemple, cela ne fonctionnera plus.

    Avec GroupBy() :

      SortByColumns(n        GroupBy(n        Filter([@PT_G];n            StartsWith(Title;TextSearchBox1.Text)n             && (Cmb_Sinistre.Selected.Value in Sinistre.Value n             || Cmb_Sinistre.Selected.Value  = Blank()  )n             && (Cmb_Administratif.Selected.Value in Administratif.Value n             ||Cmb_Administratif.Selected.Value = Blank()   )n             && (Cmb_Vehicule.Selected.Value in Vehicule.Valuen             || Cmb_Vehicule.Selected.Value = Blank()   )n            && (Cmb_Achat.Selected.Value in Achat.Value n            || Cmb_Achat.Selected.Value = Blank ()  )n            && (Cmb_Procedure.Selected.Value in Procedure.Value n            || Cmb_Procedure.Selected.Value = Blank ()  )n            && (Cmb_Sauvetage.Selected.Value in Sauvetage.Valuen            || Cmb_Sauvetage.Selected.Value = Blank ()  )n             n             );"Title";"Doc")n    ;"Title")n

    Pour récupérer les données il faudra “dégrouper” l’enregistrement, idéalement en passant par une variable sur le OnSelect de ton icône, tu peux mettre :

    Set(vSelectedDoc;First(Ungroup(ThisItem;"Doc")))

    Pour la recherche sur tout le texte et pas seulement sur le début, tu peux remplacer dans ton filtre :

    StartsWith(Title;TextSearchBox1.Text)

    par

    TextSearchBox1.Text in Title

    Encore une fois, ce n’est pas délégable 😢

    CommentID=InUPlp0R6taezmB, PostID=InKAt5e9tjAjxHu

  • Hello Knr ,

    Ce problème est dû au mode de requête “Import” qui ne renvoie que les ID des choix sélectionnés. Normalement en requête “Direct Query”, tu dois avoir deux colonnes : une pour les valeurs, une pour les ID.

    J’avais déjà rencontré ce problème dans un cas où il ne m’était pas possible de faire du Direct Query. On est censé pouvoir le résoudre quand on fait un “publier toutes les personnalisations” depuis le menu principal de la solution Dataverse.

    Si ça ne fonctionne pas (il me semble que cela a été mon cas), il reste deux options :

    1. Faire un replace values (si on a peut d’options et qu’il y a peu de risques qu’elles soient modifiées)

    2. Sinon il faut faire une autre query pour récupérer (via webapi) une table avec les ID et les Values et faire un lookup dans la requête principale

    un exemple ici :

    CommentID=d9w4op0uJG0tPg6, PostID=lhu3ukz3gpazORc

  • DavidZed

    Membre
    22 décembre 2022 à 10h24 en réponse à: Récupérer l' ID d'un élément créé à partir de Power Apps

    hello RANDRIATAHINA Charles ,

    Si ton item est créé via un formulaire, tu peux normalement récupérer l’id via la formule : NomDeTonForm.LastSubmit.ID

    CommentID=buLKK1nqHue5OF0, PostID=fKaqWUStj0TpiXh

    • DavidZed

      Membre
      22 décembre 2022 à 10h54 en réponse à: Récupérer l' ID d'un élément créé à partir de Power Apps

      Je me fais des noeuds au cerveau pour essayer de comprendre ton besoin 😄

      Normalement, si tu mets ton patch (liste B) dans le OnSucces du formulaire de ta liste B, tu devrais parvenir à tes fins 🙂 Il faudra simplement conditionner ton patch à la valeur de ton checkbox au lieu de mettre le patch dans le onselect de celle-ci.

      Exemple:

      if(Checkbox.Value,nPatch( colExistingBusinessValue,nThisItem,n{ nColonne1:Self.LastSubmit.Colonne1,nChecked:Checkbox.Value,nCustomID: Self.LastSubmit.ID n}))

      SubCommentID=i53mEv6IgtdHNo5, CommentID=buLKK1nqHue5OF0, PostID=fKaqWUStj0TpiXh

  • Arf j’avais une réponse assez longue et complète, mais j’ai tout perdu. Alors en gros, il faut que tu présentes une table au format attendu dans ton update, donc une table qui a deux colonnes : ‘Id’ et ‘Value’.

    Ceci étant, si tu mets une collection ou une source de données filtrées dans ton update, ça ne fonctionnera pas, même si le format est bon, il va falloir passer par une variable

    Dans ta gallerie, mets directement la source de données de ta colonne de recherche

    Si tu utilises un checkbox dans ta galerie, tu peux mettre dans le OnSelect :

    UpdateContext({vMulti:Filter(Choices([@'Sample List'].MultipleLookup),Id in Filter(Gallery11.AllItems,Checkbox1.Value).ID)})

    Tu peux aussi faire une formule à base de ShowColumns(RenameColumns(Filter(….

    et dans l’update du DataCard, tu peux mettre :

    vMulti

    CommentID=RiVQiwcw4bCwsGe, PostID=3pyNQec9Cg3stkI

  • DavidZed

    Membre
    11 janvier 2023 à 18h04 en réponse à: Flux de relance et suivi du nombre d'actions

    Du coup, il faut voir dans la dernière exécution, dans les actions d’incrémentation de la variable et de mise à jour de la ligne : vérifier input et output pour voir où le +1 ne se fait pas

    SubCommentID=IekvXemvKOvHIKD, CommentID=MQnjTvw8pku8dGC, PostID=8AsDSo1XCQTOzIc

  • Pour les variables d’environnement, il faut supprimer les valeurs actuelles de la solution avant l’export :

    La valeur par défaut, tu n’es pas obligé de l’utiliser, il faut faire attention de ne pas supprimer la valeur de l’environnement

    Si tu as importé par erreur des current value, il faudra aller sur ta solution par défaut dans l’environnement destination pour modifier ces valeurs manuellement

    SubCommentID=5Fub0fCWMq5UH3a, CommentID=5l9u1USYV3kMR7Q, PostID=2Q9QzYb1PcPPAcN

  • DavidZed

    Membre
    4 janvier 2023 à 19h44 en réponse à: Import donnée, via la fonction wizard

    Oui, c’est exactement cela.

    Dans le mappage des données de ta Table B, tu vas voir une nouvelle colonne qui sera certainement nommée “Prefixe_TableA.Prefixe.NomA”, pour laquelle il suffira de rentrer la valeur qui sert de Clé (NomA).

    SubCommentID=6fN8mLUgz3Sfikd, CommentID=jZP7aqQo5NmlOzS, PostID=Sd3DPZtEaaY9Ppl

  • DavidZed

    Membre
    4 janvier 2023 à 14h50 en réponse à: Import donnée, via la fonction wizard

    Bonjour,

    Pour importer des valeurs dans des colonnes lookup, il y a un prérequis: il faut ajouter une clé secondaire à la table de destination du lookup afin que le processus d’importation puisse s’appuyer sur des valeurs uniques pour lier les enregistrements.

    Le passage par une clé secondaire est nécessaire car la clé primaire d’un enregistrement dataverse est un GUID généré automatiquement par la base de données et change d’un environnement à un autre. Les clés secondaires sont des valeurs uniques qui ne changent pas d’un environnement à un autre.

    SubCommentID=04GIsNAswzY5eUf, CommentID=jZP7aqQo5NmlOzS, PostID=Sd3DPZtEaaY9Ppl

Page 48 sur 68