Flux de relance et suivi du nombre d'actions

Étiquetté : ,

  • Flux de relance et suivi du nombre d'actions

    Posté par pat sur 9 janvier 2023 à 14h10

    Bonjour à tous,

    Je souhaite relancer les fournisseurs dont la date de livraison de la commande est dépassée et connaître le nombre de relance réalisée pour chacune des commande. La base de données, le suivi se fera depuis un fichier Excel dans OneDrive.

    Le flux fonctionne bien en l’état : envoi du mail selon le nombre de jours de dépassement de la date de livraison et avec la récupération des informations depuis

    le fichier Excel.

    Je souhaite incorporer des actions supplémentaires et je me permets de vous demander de l’aide :

    • Incrémenter dans une cellule pour chaque commande le nombre de fois que le flux a été réalisé. L’idée étant de constater la réactivité du fournisseur. Je peux actuellement écrire une date dans la colonne associée mais je perds la traçabilité.

    • Regrouper dans un fichier Excel (incorporé dans le corps du mail si c’est possible) la liste des commandes concernées par les relances. Dans ce flux, c’est un mail pour chaque commande dont la date est dépassée. Il faut donc filtrer le fichier Excel et je n’arrive pas à le faire. Ainsi c’est un seul mail par fournisseur listant les commandes concernées qui sera généré.

    • Peut-on envoyer le mail depuis une autre messagerie que celle du compte qui génère le flux ?

    D’avance merci

    PostID=8AsDSo1XCQTOzIc

    DavidZed a répondu Il y a 11 mois, 3 semaines 1 Membre · 8 Réponses
  • 8 Réponses
  • DavidZed

    Membre
    9 janvier 2023 à 14h39

    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

  • pat

    Membre
    11 janvier 2023 à 15h35

    Bonjour,

    Merci pour le rapide retour. Voilà où j’en suis depuis votre message :

    1) Malgré vos explications, je n’arrive pas à incrémenter les relances. Le flux se lance, mais la valeur reste sur 1 malgré avoir réalisé 2 essais.

    2 ) Je peux insérer le tableau dans le mail, tout fonctionne. Je souhaite filtrer également, voici un exemple concret:

    J’ai des références de commandes unique, des fournisseur différents avec bien entendu un mail spécifique. Si l’état de la livraison est “Oui” alors envoyer ma relance au mail fournisseur:

    Mon fournisseur A va recevoir la liste des commandes:

    Le fournisseur B va recevoir sa liste associée.

    Peut-on intégrer cette action dans le flux ?

    3) Envoyer depuis une autre messagerie : merci c’était simple en fait, je ne pensais pas qu’on pouvait le faire simplement.

    Merci !

    CommentID=TZ3JzKdH7POqpcz, PostID=8AsDSo1XCQTOzIc

  • DavidZed

    Membre
    11 janvier 2023 à 15h45

    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

  • pat

    Membre
    11 janvier 2023 à 15h59

    La variable est bien renseignée, merci. Elle fonctionne, mais après 3 essais j’ai toujours la valeur “1” dans le tableau.

    CommentID=MQnjTvw8pku8dGC, PostID=8AsDSo1XCQTOzIc

    • DavidZed

      Membre
      11 janvier 2023 à 18h04

      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

  • pat

    Membre
    12 janvier 2023 à 13h58

    J’ai réalisé plusieurs test sans succès.

    Voici le résultat des entrées et sorties sur ce champ:

    Et le détail du paramétrage du flux:

    L’erreur ne peut-elle pas venir de la définition de la variable ou de son emplacement ? Merci

    CommentID=edXNiDsqwMZ9pec, PostID=8AsDSo1XCQTOzIc

    • DavidZed

      Membre
      12 janvier 2023 à 19h33

      Voici une solution plus simple, sans passer par une variable :

      Le détail du compose / message :

      If(equals(items('Apply_to_each')?['NB Relances'],''),1, add(int(items('Apply_to_each')?['NB Relances']),1))

      SubCommentID=HzaqhYCcS3hOKwG, CommentID=edXNiDsqwMZ9pec, PostID=8AsDSo1XCQTOzIc

  • DavidZed

    Membre
    12 janvier 2023 à 19h36

    Par contre un conseil : si tu peux passer sur une liste Sharepoint ou mieux du Dataverse / Dataverse for teams, ce sera beaucoup simple à gérer qu’avec Excel en source de données.

    CommentID=AfEiJdkTUTfN8bF, PostID=8AsDSo1XCQTOzIc

Connectez-vous pour répondre.