Envoyer un email de rappel la vielle du jour J

Étiquetté : , , ,

  • Envoyer un email de rappel la vielle du jour J

    Posté par Tom Victor sur 18 août 2023 à 14h06

    Bonjour,

    Je viens de débuter Power Automate et j’ai besoin d’envoyé un mail de rappel la vielle du jour J.

    Cependant je n’arrive pas à envoyer ce mail, je peux bien sûr l’envoyer s’il ne contient aucun contenu de table ou de liste. J’ai essayer de changer la variable qui me permet de comparer les 2 dates requises mais rien n’y fais.

    Voici comment est construit mon flux:

    Que dois-je modifier pour que cela fonctionne ?

    PostID=Cbi2CgiGylshSBK

    R3dKap a répondu Il y a 10 mois, 3 semaines 1 Membre · 13 Réponses
  • 13 Réponses
  • R3dKap

    Membre
    27 août 2023 à 14h26

    Bonjour Tom Victor,

    Est-ce que tu es encore coincé sur ce problème ? As-tu encore besoin d’aide ?

    CommentID=JHV6eX3qd7NrzEw, PostID=Cbi2CgiGylshSBK

  • Tom Victor

    Membre
    28 août 2023 à 7h01

    Bonjour R3dKap,

    Oui je n’ai toujours pas trouver de solution a mon problème

    CommentID=VNHwJ2jykkMd1Vy, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    29 août 2023 à 16h47

    Ok. Alors, sauf erreur de ma part, la date dans ta variable VarDate doit être au format UTC. C’est à dire que ta formule pour alimenter ta variable doit plutôt ressembler à quelque chose comme ceci :

    addDays(utcNow(),1,'yyyy-MM-ddTHH:mm:ssZ')

    Dis-nous si ça marche mieux… 😉

    CommentID=GLZtUCc55aHnTwj, PostID=Cbi2CgiGylshSBK

  • Tom Victor

    Membre
    30 août 2023 à 7h39

    J’ai essayé et toujours rien mais j’ai remarqué ceci :

    Je ne comprend pas vraiment pourquoi cet élément est transparent.

    CommentID=mGcM5xXB9Rt26sk, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    30 août 2023 à 9h46

    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

  • Tom Victor

    Membre
    30 août 2023 à 12h46

    En effet cela devrait fonctionner sauf que malheureusement l’horaire par defaut est minuit… 🥲

    Il y a surement un moyen de contourner ce soucis depuis dataverse non ?

    CommentID=vT8bNFPbk3bA6of, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    30 août 2023 à 16h27

    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

  • Tom Victor

    Membre
    31 août 2023 à 8h11

    Mon application est une application canevas et pour ce qui est du petit flux pour comparer celle affichée dans l’application, c’est bien ce que tu disais, je stocke 22h

    CommentID=xlFZEgLqZDn9zX1, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    31 août 2023 à 16h34

    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

  • Tom Victor

    Membre
    1 septembre 2023 à 10h27

    A la base j’étais déjà sur une égalité strict mais j’ai tout de même réessayer et cela ne fonctionne pas…

    Après je ne sais pas si mon problème peut venir de cela mais est-ce possible que la licence ait un rôle de ce type de problème ?

    CommentID=fyceAY9HFO1HILl, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    2 septembre 2023 à 19h56

    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

  • Tom Victor

    Membre
    5 septembre 2023 à 7h21

    Je pense qu’il y a quelque chose que je ne comprend pas car chez moi ça ne fonctionne toujours pas…

    J’ai créé mon petit flux et je récupère bien ma valeur, sauf que quand je modifie mon flux j’ai toujours le même problème, le mail ne s’envoie pas.

    CommentID=HzrjQzDBohjzeyM, PostID=Cbi2CgiGylshSBK

  • R3dKap

    Membre
    5 septembre 2023 à 7h25

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

    CommentID=fXHwcWVwYcT5cPA, PostID=Cbi2CgiGylshSBK

Connectez-vous pour répondre.