Réponses céées sur le Forum

Page 60 sur 85
  • R3dKap

    Membre
    4 mai 2022 à 13h09 en réponse à: Faire un copier/coller de PowerApps vers le presse-papier

    ZIP : tu importes la solution, tu actives les composants PCF sur ton environnement, puis tu ajoutes le composant à ton app…

    CommentID=biCycxs7aNnUuOW, PostID=kXHIl43ttki0FZS

  • R3dKap

    Membre
    4 mai 2022 à 13h04 en réponse à: Faire un copier/coller de PowerApps vers le presse-papier

    @Vincent HERY je viens de le tester chez moi et ça fonctionne bien… Où est-ce que tu bloques ?

    CommentID=z5Y9HkqRQmMUaFO, PostID=kXHIl43ttki0FZS

  • R3dKap

    Membre
    4 mai 2022 à 11h17 en réponse à: SortByColums sur une colonne Lookup

    Content que ça marche… 😉

    CommentID=iC7ru4H3PuA348f, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    4 mai 2022 à 9h57 en réponse à: Problème de condition de colonne

    Pas de soucis… Je viens de t’envoyer une demande de connexion sur LinkedIn. Une fois que tu l’auras acceptée, on pourra échanger par messagerie interposée…

    CommentID=sjVnUxxYNuhXeDw, PostID=5uMF1oxNpYQfnbO

  • R3dKap

    Membre
    4 mai 2022 à 9h35 en réponse à: Problème de condition de colonne

    Pas de soucis…

    Bon… Là y’a un truc qui nous échappe… Ca te va si on fait un p’tit Google Meet avec partage d’écran pour régler ça ? Passke sinon on peut y passer des heures par message interposés… 😬

    Contacte-moi sur LinkedIn (https://www.linkedin.com/in/egallis/)…

    CommentID=9XQZzFY5Kie8mdS, PostID=5uMF1oxNpYQfnbO

  • R3dKap

    Membre
    4 mai 2022 à 9h17 en réponse à: Problème de condition de colonne

    Non non, ne modifie pas ta colonne Title. C’est dans ta colonne calculée que tu mets :

    =[Title]

    CommentID=ttSwwih8ohqXQWD, PostID=5uMF1oxNpYQfnbO

  • R3dKap

    Membre
    4 mai 2022 à 9h02 en réponse à: Problème de condition de colonne

    Là y’a un truc qui va vraiment pas… Pas normal ça… Chez moi ça fonctionne bien… Est-ce que tu peux essayer avec la colonne Title ?

    CommentID=2HBzISUBpaW6wH3, PostID=5uMF1oxNpYQfnbO

  • R3dKap

    Membre
    4 mai 2022 à 8h49 en réponse à: Problème de condition de colonne

    Est-ce que tu peux tester juste ça dans la formule ?

    =[Statut LDM]

    Est-ce ça c’est accepté ?

    CommentID=eiKkASBgRtMdPMg, PostID=5uMF1oxNpYQfnbO

  • R3dKap

    Membre
    4 mai 2022 à 8h44 en réponse à: Problème de condition de colonne

    Tu peux nous mettre une capture complète des caractéristiques de ta colonne Statut LDM stp ?

    CommentID=14nzm3I1L1sHS1N, PostID=5uMF1oxNpYQfnbO

  • R3dKap

    Membre
    4 mai 2022 à 7h51 en réponse à: Problème de condition de colonne

    @Marine est-ce que comme l’a indiqué @Guillaume RENARD tu as bien recréé une colonne CALCULEE pour y mettre ta fonction ? Car dans ta capture d’origine tu mettais ta formule dans les paramètres de validation de ta liste…

    Sinon, chez moi j’ai fait le même test que toi, une colonne calculée basée sur une colonne de type Choice :

    Par contre, faut utiliser des points-virgules si la langue par défaut de ton site est bien Français. A vérifier ici :

    https://<ton domaine>.sharepoint.com/sites/<ta collection de sites>/_layouts/15/muisetng.aspx

    CommentID=CNK0nX4GJ6D4jaR, PostID=5uMF1oxNpYQfnbO

  • R3dKap

    Membre
    3 mai 2022 à 14h42 en réponse à: Actions en cascade sans attente précédente

    Oui tu peux tout à fait utiliser le résultat du Patch() (locNewOrModifiedItem dans mon exemple) pour t’assurer qu’il n’y a pas eu d’erreur : If(IsBlank(locNewOrModifiedItem); Notify("Erreur"); Notify("OK")).

    Mais le mieux consiste à utiliser la fonction Errors().

    De manière générale, faut que t’utilises à fond la doc officielle sur les fonctions qui décrit tout ça hyper bien :

    Et sinon, oui bien sûr, tu peux tout à fait utiliser une collection comme source de données d’une galerie… 😉

    CommentID=7XKTmRUQlkdXJna, PostID=QwgjeaKmdvRNPuH

  • R3dKap

    Membre
    3 mai 2022 à 13h54 en réponse à: Actions en cascade sans attente précédente

    @JLF le site a pas mal réduit la qualité de ta capture donc je vois pas bien mais peut-être juste une remarque : pourquoi faire un ShowColumns() avec autant de colonnes ? J’ai envie de dire qu’à ce compte-là autant prendre toutes les colonnes. A mon avis faire un ShowColumns() pour garder 80% des colonnes de ta sources de données est plus lent qu’en récupérer direct la totalité…

    Et pour réagir à ta problématique “…mais ma collection colTICKET ne récupérait pas mon numéro de Ticket créé juste avant…” :

    • une collection est une photo à un instant t d’une source de données

    • modifier ou créer un élément dans cette source de données n’a absolument aucun impact sur la collection correspondante

    • c’est donc à toi de mettre à jour ta collection pour qu’elle soit bien “synchro” avec ta source de données

    T’as 2 solutions :

    • soit tu refais un ClearCollect() pour réalimenter ta collection à partir de ta source de données (pas besoin de rafraîchir cette dernière) -> pas terrible en termes de perf de recharger tout juste parce-qu’un seul élément a été créé ou modifié

    • soit tu appliques à ta collection la même opération (de création ou de modif) qu’à ta source de données

    Ce que je fais personnellement :

    • lorsque je crée/modifie un élément dans une source de données à l’aide d’un Patch() je m’assure de bien récupérer l’élément en question en faisant : locNewOrModifiedItem = Patch(...)

    • ensuite, j’applique la même opération sur la collection correspondante : j’ajoute l’élément locNewOrModifiedItem dans la collection s’il s’agissait d’une création ou je mets à jour l’élément correspondant dans la collection à partir de locNewOrModifiedItem

    Par exemple :

    locNewItem = Patch(TICKET; Defaults(TICKET); {...});;nCollect(colTICKET; locNewItem)

    CommentID=cb8HRlRtMKVthrL, PostID=QwgjeaKmdvRNPuH

  • R3dKap

    Membre
    3 mai 2022 à 13h38 en réponse à: "Get Items" vs "Send HTTP request to sharepoint" ?

    @JLF je suis assez d’accord avec l’idée qu’une requête HTTP pour faire une mise à jour sur un champ ça n’a pas trop d’intérêt.

    L’action UpdateItem doit simplement être bien utilisée : seuls les champs obligatoires doivent être renseignés. Ceux qui ne le sont pas (et donc les Choices qui restent bien à Sélectionner un élément) ne seront pas modifiés. A toi de bien maîtriser la manipulation de l’action pour faire exactement ce que tu veux… 😉
    Le vrai point d’attention, par contre, ce sont les champs avec des valeurs par défaut, comme par exemple ENRG_actif qui va être positionné par défaut à Oui -> il faut penser à le rebasculer à VIDE :

    CommentID=6HG4WT5dypAV8LW, PostID=iyC6YuEdWQiyQst

  • R3dKap

    Membre
    3 mai 2022 à 10h50 en réponse à: Actions en cascade sans attente précédente

    @JLF mon avis…

    Si je comprends bien, toutes tes opérations de action_RECORD_num_1 jusqu’à action_TICKET_Record_1 dépendent en gros de action_Refresh_1 car tu as besoin de tes données les plus à jour possible pour faire les actions concernées.

    Ce que je ferais c’est de sortir le code de action_Refresh_1 (et donc supprimer le bouton correspondant) pour le mettre directement à la place du Select(action_Refresh_1). Car lorsque tu fais appel à la fonction Refresh(), Power Apps attends que le rafraîchissement soit terminé avant de poursuivre le code…

    Par contre je vois un problème potentiel plus grave dans ton approche : si action_TICKET_Record_1 a besoin des données récupérées par les actions de action_RECORD_num_1 à action_colHAB_get_1, rien ne te garantis que tes données auront été récupérées à temps pour les utiliser dans action_TICKET_Record_1. En effet, utiliser la fonction Select() c’est comme cliquer sur le bouton : là les clics vont s’enchaîner en moins d’une milliseconde, et potentiellement la récupération des données ne sera pas terminée que tu vas déjà créer ton enregistrement dans la table TICKET. Tu me suis ?

    Au passage, ton Concurrent() ici va te faire gagner 0,000001ms vu que la seule opération qui est parallélisée avec ton Select() c’est un Set() (qui est ultra rapide). Le Concurrent() a du sens lorsque tu veux par exemple paralléliser des chargements multiples qui peuvent potentiellement prendre du temps.

    Du coup, au vu de mes 2 dernières remarques, ce que je te suggère c’est de faire c’est ceci : tu vires tous tes boutons et tu parallélises les chargements des données dont tu vas avoir besoin pour créer ton ticket. Globalement ton code serait donc plutôt structuré ainsi (j’invente un peu hein vu que je connais pas exactement ton modèle de données) :

    Set(glbTICKET, Blank());nSet(glbETAPE, "Saisie Ticket");nConcurrent(n    Refresh(AGENT),n    Refresh(RECORD),n    Refresh(TICKET),n    Refresh(TECH),n    Refresh(HAB)n);nConcurrent(// Là je sais pas si c'est plutôt des LookUp() ou des ClearCollect() que t'as besoinn    ClearCollect(colRECORD, Filter(RECORD, ...)),n    ClearCollect(colTICKET, Filter(TICKET, ...)),n    ClearCollect(colTECH, Filter(TECH, ...)),n    ClearCollect(colHAB, Filter(HAB, ...))n);nPatch(TICKET; Defaults(TICKET); {...})

    Remarque générale : l’utilisation du Select() pour déclencher du code sur un bouton est utile lorsque l’on veut éviter de dupliquer le code sur un écran où il est utilisé à différent endroits. Mais ATTENTION à ne pas faire un Select() sur un bouton qui est sur un autre écran !!! Ce n’est pas du tout recommandé, voire ça ne marche plus désormais… Pour mutualiser du code il faut plutôt partir sur des fonctions dans des composants comme proposé par @Guillaume RENARD qui fait référence à mon article sur le sujet… 😉

    CommentID=pYojEl1fFqKa4d0, PostID=QwgjeaKmdvRNPuH

  • R3dKap

    Membre
    3 mai 2022 à 10h24 en réponse à: Power apps enregistre des données vide dans sharepoint

    Est-ce que toi (ou quelqu’un d’autre) avez branché un flux Power Automate sur cette liste, qui pourrait expliquer que les champs se remettent à blanc suite à une mise à jour de l’élément ?

    CommentID=G8VkFb90UjUQ2Up, PostID=2bfyc58DmLG22CM

Page 60 sur 85