Exercice : écrire le code du bouton Envoyer

Effectué

Votre prochain défi consiste à configurer le bouton Envoyer et ses fonctionnalités. Heureusement, seules quelques différences mineures existent entre la logique du bouton Enregistrer en tant que brouillon et celle du bouton Envoyer.

  1. Copiez l’instruction Patch() depuis la propriété OnSelect de Btn_SaveAsDraft_EditExpense.

  2. Sélectionnez Btn_Submit_EditExpense, puis collez le code copié dans la propriété OnSelect.

  3. Remplacez la portion de code 'Report Status':['Report Status'.Draft] par 'Report Status':['Report Status'.'Awaiting Approval'].

    Consultez l’image suivante par souci de clarté :

    Capture d’écran de la portion Report Status mise à jour dans Power Apps.

    Le code restant est toujours valide et n’a pas besoin d’être modifié.

    La seule autre mesure que vous devez prendre est d’informer le superviseur (ou la personne de votre choix). Pour ajouter la fonctionnalité supplémentaire permettant d’informer quelqu’un lorsqu’une note de frais est envoyée, vous allez ajouter la source de données Office 365 Outlook et quelques lignes de code supplémentaires.

  4. Dans le rail de navigation gauche, cliquez sur l’onglet Données, puis sur Ajouter des données. (Si vous disposez déjà du connecteur Office 365 Outlook comme source de données, passez à l’étape 6.)

  5. Recherchez « outlook », puis sélectionnez Office 365 Outlook.

    Capture d’écran de la vue Données dans Power Apps, avec le bouton Ajouter des données et le résultat Office 365 Outlook mis en évidence.

    Le système vous demande alors de choisir une connexion ou d’en ajouter une nouvelle. Cette action entraîne votre connexion à votre compte. Si vous avez déjà créé une connexion, utilisez-la. De nombreux nouveaux développeurs créent une connexion pour chaque application, ce qui peut prêter à confusion.

    Maintenant que vous avez ajouté Outlook comme source de données, revenez à votre Arborescence.

  6. Ajoutez le code suivant à la fin de votre propriété OnSelect pour Btn_Submit_EditExpense :

    ; Office365Outlook.SendEmailV2(
        VarUser.Email,
        "An Expense Report is Ready for Review",
        VarUser.FullName & " has submitted a new expense report for your review. Please visit the expense report app to see the details."
    )
    

    Remarque

    Veillez à ajouter le point-virgule au début avant de commencer votre nouvelle fonction.

La fonction que vous utilisez dans cet exercice appelle Outlook en tant que source de données. Outlook est une source de données basée sur des fonctions. Autrement dit, elle vous permet d’appeler des fonctions au lieu de renvoyer des données tabulaires comme vous le feriez avec Dataverse.

Cette fonction vous permet d’envoyer un e-mail depuis Power Apps en cliquant sur un bouton. Voici les informations dont cette fonction a besoin :

  • Destinataire de l’e-mail : VarUser.Email
  • Objet : "An Expense Report is Ready for Review"
  • Corps de l’e-mail : VarUser.FullName & " has submitted a new expense report for your review. Please visit the expense report app to see the details."

Le corps de l’e-mail combine du texte, comme vous l’avez fait pour les dates sur l’écran Toutes les dépenses. En outre, vous allez peut-être remarquer que le destinataire de cet e-mail est l’utilisateur connecté, ce qui est courant pour les tests.

En production, vous auriez besoin d’un moyen de distinguer le superviseur de l’utilisateur connecté. Si votre société conserve ces informations dans votre instance Microsoft Entra ID, vous pouvez la connecter en tant que source de données et rechercher le superviseur. Sinon, vous pourriez avoir besoin d’une table pour rechercher le responsable d’un utilisateur ou envoyer toutes les approbations à une seule personne.

Vous pouvez développer cet e-mail pour inclure bien plus d’informations. En pratique, tentez de référencer d’autres champs pour ajouter plus de détails à votre e-mail.

Après avoir terminé votre bouton Envoyer, vous pouvez tester les fonctionnalités de votre application et essayer d’envoyer une note de frais pour approbation.