Réponses céées sur le Forum

Page 27 sur 79
  • R3dKap

    Membre
    14 septembre 2023 à 11h34 en réponse à: Design: Emplacement Calendrier et son DatePicker

    Hello JLF,

    Je sais pas si t’as résolu ton pb… Sinon, dis-moi ce que tu as dans les X et Y des contrôles suivants pour que j’essaie de reproduire chez moi :

    • ctn_BODY__s08

    • dte_02_main_2_REAL__s08

    Et du coup, pourquoi utilises-tu autant le contrôle Conteneur ? Perso je ne l’utilise que lorsque je dois superposer des éléments. Dans TOUS les autres cas je n’utilise que des Conteneur horizontal et Conteneur vertical.

    Sinon, autre recommandation : jette un œil à la proposition de nomenclature que j’avais faite dans cet article (passke là j’avoue que je voudrais pas être celui qui reprends ton app… critique constructive bien sûr 😉) :

    CommentID=GmGzA3XTqP6Jld9, PostID=Sy3ZOy9kWAlj9H6

  • R3dKap

    Membre
    8 septembre 2023 à 7h49 en réponse à: Récupérer de la date d'approbation issue d'un flux

    Mickael, à ta place je rajouterai une petite étape dans le flux d’approbation pour renseigner la date dans une colonne dédiée de ta liste SharePoint… Non ?

    CommentID=AR68q5oh6k1RO15, PostID=vBOQmRqyr6D8jiK

  • R3dKap

    Membre
    7 septembre 2023 à 15h43 en réponse à: Problème de dépendance dans une solution

    Theophile CHIN-NIN, Tanguy Touzard ? 🙂

    CommentID=FryyCEtJnLMJ2l9, PostID=aY1z665xxNi3NG8

  • R3dKap

    Membre
    7 septembre 2023 à 15h10 en réponse à: Relation entre plusieurs listes pour utilisation avec Power apps

    Le Id d’une colonne de recherche d’une liste correspond au ID d’une ligne de la liste liée :

    Voilà un schéma qui te montre ça en détail :

    • y’a une liste Employé avec juste une colonne Titre qui contient le nom de l’employé

    • y’a une liste Formations avec :

      • une colonne Titre qui contient le nom du cours

      • une colonne Employe qui est une colonne de recherche qui pointe vers la liste Employé (et c’est la colonne Titre de Employé qui est affichée dans la colonne Employe de la liste Formations)

    Le First(Formations).Employé renvoie la valeur de la colonne Employe de la première ligne de la liste Formations (flèche rouge du haut). Le résultat est une structure/enregistrement à 2 colonnes : Id et Value (flèche rouge du milieu et rectangle rouge complètement à gauche). La colonne Id de cette structure contient l’ID (tout en majuscule -> voir cercle bleu du haut) de la ligne de l’employé concerné dans la liste Employé (flèche bleu du bas).

    Pas facile à expliquer. Est-ce que t’as compris ? 😅

    CommentID=EVEtgdOW7C14huo, PostID=ScEBXbMgfbT0yNB

  • R3dKap

    Membre
    7 septembre 2023 à 8h46 en réponse à: Mail lorsque valeur d'une cellule =

    Bonjour Maxime PECQUEUR,

    Je dépile les questions non répondues… Navré du délai… Mais je suppose que depuis tu as découvert que ce n’était pas possible à moins de monter une petite usine à gaz… 😉

    N’hésite pas à nous partager ton retour d’expérience. A+

    CommentID=4bGD0mmguVH2Eto, PostID=6VI0sVaDuXg5YJr

  • R3dKap

    Membre
    7 septembre 2023 à 8h44 en réponse à: Ajouter l'email de l'utilisateur dans une URL dynamique

    Salut Romain Ve.,

    Je ne sais pas si tu as trouvé une solution à ta question, mais si l’url dynamique est généré à l’intérieur d’une mise en forme de liste tu peux utiliser l’opérateur @me : https://learn.microsoft.com/en-us/sharepoint/dev/declarative-customization/formatting-syntax-reference#me

    CommentID=zzaefPHcXvXvHHN, PostID=dwAqWnPHzryVdFJ

  • R3dKap

    Membre
    7 septembre 2023 à 8h40 en réponse à: Gérer la délégation

    Hello Shadoks_,

    Si je comprends bien :

    • dans ton OnStart tu crées une collection en filtrant une liste SharePoint

    • sur un écran tu as une galerie branchée sur une liste SharePoint et tu souhaites filtrer les éléments de cette galerie pour n’afficher que ceux qui correspondent au contenu de ta collection à l’aide de l’opérateur “in

    Effectivement, cela te génère un avertissement de délégation : si la liste SharePoint qui alimente ta galerie a plus de 2000 éléments, tu risques fort d’avoir un filtrage incorrect car Power Apps va d’abord récupérer les 2000 premiers éléments de la liste SharePoint ET ENSUITE appliquer le filtrage basé sur ta collection (et donc il va ignorer toutes les lignes au-delà des 2000).

    Il n’y a pas de solution à ton problème tant que l’opérateur “in” n’est pas délégable (et ce n’est pas le cas aujourd’hui). Il faut donc que tu trouves le moyen de réduire le nombre d’éléments de ta galerie AVANT d’y appliquer le filtrage basé sur ta collection.

    Après, tu peux toujours utiliser cette solution de contournement, mais les perfs vont être toutes pourries (de mon point de vue c’est vraiment pas envisageable) :

    Clear(colDataGalerie);;nForAll(n    colGalerieOnStart As LoopItem;n    Collect(n        colDataGalerie;n        Filter(n            TaListeSharePoint;n            TaColonne = LoopItem.Value // Ou une autre colonne que 'Value' dans ta collection du OnStartn        )n    )n)

    Tiens-nous au jus… 😉

    CommentID=snmaEaed9bnGEe5, PostID=V2vbx9CLVuJQffX

  • R3dKap

    Membre
    6 septembre 2023 à 14h56 en réponse à: Relation entre plusieurs listes pour utilisation avec Power apps

    Normalement tu ne devrais pas avoir à rapatrier toutes les colonnes de Parc dans Non conformité, sinon la colonne de recherche n’a plus aucun sens.

    Que veux-tu dire par “…je dois reprendre l’ensemble des informations de la liste Parc” ? Car c’est le lien entre Non conformité et Parc qui te permet d’avoir accès à toutes les données du parc pour une non conformité donnée.

    En fait, ça dépend comment tu as structuré ton écran de création d’une nouvelle non conformité. En toute logique, avec ton modèle de donnée d’origine et juste la colonne de recherche NonConformité.Parc qui pointe vers la liste Parc, tu peux retrouver l’ensemble des informations du parc d’une non-conformité. Mais pour cela tu es obligé d’utiliser la fonction LookUp(Parc, ID = cbxParcNonConformité.Id) (attention aux majuscules/minuscules du “ID” et “Id“), en supposant que cbxParcNonConformité soit une combo box branchée sur ta colonne de recherche NonConformité.Parc. La fonction LookUp() va te renvoyer l’ensemble de l’enregistrement de ta liste Parc pour l’identifiant spécifié.

    Pour info, ta colonne de recherche NonConformité.Parc a une structure interne comme ceci :

    {n    Id: 23,n    Value: "Parc n° 1"n}

    Le Id (avec “d” minuscule) contient la valeur de la colonne SharePoint ID (“D” majuscule) d’une ligne de ta liste Parc.

    CommentID=Uuzay6gi09zxfqW, PostID=ScEBXbMgfbT0yNB

  • R3dKap

    Membre
    6 septembre 2023 à 8h36 en réponse à: Relation entre plusieurs listes pour utilisation avec Power apps

    Salut Florian Gajdos,

    Pour faire cela il te suffit de créer dans chacune des tables qui doit faire référence à un centre de maintenance une colonne de type Recherche où tu spécifieras la liste Centre de maintenance comme liste cible et (par exemple) Centre de maintenance comme champ lié (qui sera affiché dans les listes déroulantes éventuelles de ton app).

    Donc sur ton schéma, pour les listes Utilisateur, Parc et Non conformité remplace tes colonnes Centre de maintenance (Texte) par des colonnes Centre de maintenance (Recherche)… Et dessine tes flèches plutôt dans l’autre sens… 😉

    Si t’as besoin d’aide pour créer ces colonnes n’hésite pas…

    CommentID=C6N2GpP6gJY78FR, PostID=ScEBXbMgfbT0yNB

  • R3dKap

    Membre
    5 septembre 2023 à 7h25 en réponse à: Envoyer un email de rappel la vielle du jour J

    Je t’envoie un message en privé pour qu’on fasse un partage d’écran… 😉

    CommentID=fXHwcWVwYcT5cPA, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    2 septembre 2023 à 19h56 en réponse à: Envoyer un email de rappel la vielle du jour J

    Non la license n’a rien à voir là-dedans…

    L’égalité stricte fonctionne : je l’ai testée chez moi avec un enregistrement stocké à 22h et en le recherchant à 22h je le retrouve bien.

    Procède par étapes :

    • tu crées un petit flux où tu vas lister une ligne précise de ta table (en filtrant par exemple sur un identifiant) et dans le résultat du flux tu regardes la valeur de ta colonne ix_dateaction

    • modifie le flux pour compléter le filtre et rajouter avec un ‘and‘ une condition sur ix_dateaction en faisant une égalité stricte avec la valeur que tu as vue précédemment -> ça doit fonctionner

    CommentID=yx0o9iEVgRbAKDg, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    31 août 2023 à 16h34 en réponse à: Envoyer un email de rappel la vielle du jour J

    Si l’heure par défaut est toujours minuit (stocké 22h), alors tu devrais pouvoir repartir sur une égalité stricte comme ceci :

    VarDate : addDays(utcNow(),1,'yyyy-MM-ddT22:00:00Z')nnFiltre : ix_dateaction eq 'VarDate'

    Essaie pour voir si ça marche…

    CommentID=PPrca0rdHJGoe26, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    30 août 2023 à 16h27 en réponse à: Envoyer un email de rappel la vielle du jour J

    Que veux tu dire par “l’horaire par défaut est minuit” ? D’ailleurs ton application est une application de canevas ou une application pilotée par modèle ?

    Car ça dépends ce qui est stocké en base (pas ce qui est affiché). Car même si à l’écran dans ton app tu vois minuit, dans le système il stockera 22h le jour précédent.

    Il faudrait que tu fasses un petit flux pour lire juste une ligne de ta table et regarder dans le résultat la valeur effective de la date et la comparer avec celle affichée dans l’application. Tu peux mettre une capture de ça ?

    CommentID=QHmVL6r2RuWHM2O, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    30 août 2023 à 9h46 en réponse à: Envoyer un email de rappel la vielle du jour J

    Après avoir fait un test chez moi j’ai trouvé l’origine du problème : dans ton action Lister les lignes tu fais un test d’égalité stricte -> comme les heures sont prises en compte, l’heure de la date du jour ne correspond jamais (à moins d’un coup de bol de malade) à celle des enregistrements de ta table.

    J’ai étudié différentes pistes pour contourner ce problème :

    • impossible de préciser dans la condition de filtrage que tu ne veux comparer que la date et pas l’heure

    • créer une colonne calculée pour n’y mettre que la date : pas possible avec les nouvelles fonctions Power Fx car ne gère pas les fuseaux horaires

    • basculer ta colonne en date uniquement (mais les enregistrements existants conserveront leurs heures d’origine et on ne pourra donc pas faire une comparaison exacte)

    La seule solution consiste à écrire une condition qui vérifie que ta colonne ix_dateaction est comprise entre ta VarDate à minuit et ta VarDate à 23h59mn59s…

    Il te faut donc 2 variables : une VarDateStart avec addDays(utcNow(),1,'yyyy-MM-ddT00:00:00Z') et une VarDateEnd avec addDays(utcNow(),1,'yyyy-MM-ddT23:23:23Z') et d’écrire la condition suivante pour le filtre de ton action Lister les lignes :

    ix_dateaction ge 'VarDateStart' and ix_dateaction le 'VarDateEnd'

    Ca devrait marcher tant que tu n’as pas d’enregistrement dans ta table avec des heures positionnées entre 22h et minuit car on a pas géré le décalage horaire avec l’heure UTC (en effet, les dates sont enregistrées en UTC dans ta table alors que toi t’es sur le fuseau horaire de Paris (+2 en ce moment)). Ce qui veut dire qu’en réalité avec cette solution on vérifie que ix_dateaction est comprise entre (VarDate à 22h) et (VarDate+1 à 22h)… 😉 Mais bon, j’espère que ça le fera quand même. Et d’ailleurs j’espère que tous tes users sont dans le même fuseau horaire, sinon va falloir faire un flux beaucoup plus complexe pour prendre en compte le fuseau horaire de l’utilisateur connecté… 😅

    Dis-nous si ça fonctionne… Vérifie bien les enregistrements que ton action Liste les lignes te retourne : c’est ça qui est important. La suite de ton flux avec la boucle et l’envoi du mail est bon lui…

    CommentID=1Q5YPMIzGB7aeCn, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    5 septembre 2023 à 12h54 en réponse à: Envoyer un mail automatique

    Salut Lilian,

    Tu ne peux pas comparer que les heures. Supprime cette étape et garde simplement ce que DavidZed t’as proposé précédemment avec l’action Obtenir l’heure passée et ça va marcher… 😉

    En fait si tu regardes le résultat de cette action tu vois que le format est le suivant 👍

    Ce format doit être respecté pour la comparaison qui est faite plus bas dans Requête de filtre… 🙂

    SubCommentID=9dfIUFYB1PJKzSl, CommentID=NH4C02lGbk2Mkwf, PostID=S2Kn4agZ3vA4kKQ

Page 27 sur 79