Création d’une application à partir de Common Data ServiceCreating an app from the Common Data Service

Générez une application à trois écrans à partir du Common Data Service, puis explorez les écrans et contrôles à partir de l’application.Generate a three screen app from the Common Data Service, then explore screens and controls from the app. Mettez à jour les écrans, les contrôles et les champs de l’application. Importez des données supplémentaires et déclenchez un flux à partir de l’application.Update app screens, controls, and fields; bring in additional data and trigger a flow from the app.

Vous allez apprendre à...

Générer une applicationGenerate an app

Dans cette section du cours, nous allons créer une application basée sur des entités dans le Common Data Service.In this section of the course, we'll create an app based on entities in the Common Data Service. Les entités sont des blocs de données partagées qui peuvent être modifiés, stockés, récupérés et manipulés.Entities are chunks of shared data that can be modified, stored, retrieved, and interacted with. Nous allons générer l’application à partir d’une entité, montrer comment personnaliser l’application, ajouter une autre source de données, et appeler un flux à partir de l’application.We'll generate the app from an entity, show you how to customize the app, add another data source, and call a flow from the app. Si vous avez déjà pris connaissance de la section relative à la création d’une application à partir d’une liste SharePoint, nous allons y revenir partiellement, mais de façon plus détaillée, notamment concernant la personnalisation de l’application.If you already completed the section on creating an app from a SharePoint list, we will cover some of the same territory but in more depth, especially around customizing the app.

Nous allons créer une application de gestion de cas qu’un service informatique pourrait utiliser pour suivre, hiérarchiser et résoudre des problèmes matériels et logiciels au sein d’une organisation.We'll create a case-management app that an IT department could use to track, prioritize, and act on hardware and software issues across an organization. En parcourant les rubriques, vous imaginerez peut-être d’autres usages pour une application telle que celle-ci.As you go through the topics, you might also think of other uses for an app like this. Nous utilisons des données du Common Data Service parce qu’elles sont bien adaptées au stockage de données d’application, mais vous pourriez créer la même application avec une autre source de données.We're using data from the Common Data Service because it's well-suited to storing app data, but you could build the same app with a different data source.

PowerApps inclut un modèle de gestion de cas plus complexe, qui utilise les mêmes entités que l’application que nous allons créer.PowerApps includes a more complex Case Management template that uses the same entities as the app we'll build. Lorsque vous aurez terminé cette section, nous vous encourageons à explorer ce modèle pour vous faire une idée de ce qu’il est possible de créer dans PowerApps.After you've completed this section, we encourage you to explore that template to get a sense of what you can build in PowerApps.

Créer une base de données du Common Data ServiceCreate a Common Data Service database

La première étape de la génération de cette application consiste à créer une base de données du Common Data Service si vous n’en avez pas encore.The first step in building this app is to create a Common Service database if you don't already have one. Vous créez une base de données du Common Data Service dans un environnement.You create a Common Data Service database in an environment. Un environnement est un conteneur d’applications et d’autres ressources (vous en apprendrez davantage sur les environnements plus loin dans ce cours).An environment is a container for apps and other resources (you'll learn more about environments later in the course). Un administrateur d’environnement peut suivre ces étapes pour créer une base de données (si vous n’êtes pas un administrateur, contactez un administrateur de votre organisation).An environment admin can follow these steps to create a database (if you're not an admin, check with an admin in your organization).

Sous l’onglet Home, cliquez sur Create Database.From the Home tab, click Create Database.

Créer une base de données dans le Common Data Service

Spécifiez si vous voulez restreindre l’accès à la base de données (nous gardons cet accès ouvert), puis cliquez sur Create my database.Specify whether you want to restrict access to the database (we'll keep it open), then click Create my database.

Spécifier l’accès au Common Data Service

Une fois le processus terminé, vous voyez toutes les entités standard incluses dans le modèle Common Data Model.When the process is complete, you see all the standard entities that are included in the common data model. Certaines d’entre elles sont présentées ci-dessous.Some of them are shown below.

Entités standard du Common Data Service

Générer une application à partir de l’entité CaseGenerate an app from the Case entity

La base de données étant créée, nous nous connectons à l’entité Case et générons une application.Now that the database is created, we connect to the Case entity and generate an app. Cliquez sur New app, puis sur PowerApps Studio for web.Click New app, then PowerApps Studio for web.

Nouvelle application dans PowerApps Studio pour le web

Étant donné que nous générons une application de téléphonie pour une entité du Common Data Service, sous Common Data Service, cliquez ou appuyez sur Phone layout.We're building a phone app for a Common Data Service entity, so under Common Data Service click or tap Phone layout.

Application de téléphonie à partir du Common Data Service

Dans l’écran suivant, vous choisissez une connexion et une entité à laquelle vous connecter, puis cliquez sur Connect.In the next screen, you choose a connection and an entity to connect to, then click Connect.

Se connecter à l’entité Case

Après que vous avez cliqué sur Connect, PowerApps commence à générer l’application.After you click Connect, PowerApps starts to generate the app. PowerApps effectue toutes sortes d’inférences à partir de vos données afin de générer une application utile comme point de départ.PowerApps makes all sorts of inferences about your data so that it generates a useful app as a starting point.

Afficher l’application dans PowerApps StudioView the app in PowerApps Studio

Votre nouvelle application à trois écrans s’ouvre dans PowerApps Studio.Your new three-screen app opens in PowerApps Studio. Toutes les applications générées à partir de données contiennent les mêmes écrans :All apps generated from data have the same set of screens:

  • l’écran de navigation dans lequel vous pouvez parcourir, trier, filtrer et actualiser les données extraites de la liste, ainsi qu’ajouter des éléments en cliquant sur l’icône (+) ;The browse screen: where you browse, sort, filter, and refresh the data pulled in from the list, as well as add items by clicking the (+) icon.
  • l’écran de détails dans lequel vous pouvez consulter les détails d’un élément et choisir de supprimer ou de modifier celui-ci ;The details screen: where you view more detail about an item, and can choose to delete or edit the item.
  • l’écran de création/modification dans lequel vous pouvez modifier ou créer un élément.The edit/create screen: where you edit an existing item or create a new one.

Dans la barre de navigation à gauche, cliquez ou appuyez sur une icône dans l’angle supérieur droit pour basculer vers la vue miniature.In the left navigation bar, click or tap an icon in the upper-right corner to switch to the thumbnail view.

Activer/désactiver les vues

Cliquez ou appuyez sur chaque miniature pour afficher les contrôles sur cet écran.Click or tap each thumbnail to view the controls on that screen.

Application générée

Nous allons ensuite explorer l’application plus en détail, puis la personnaliser pour qu’elle réponde mieux à nos besoins.Next we'll explore the app in more detail and then customize it to better suit our needs.

Explorer l’application généréeExplore a generated app

Cette rubrique examine de plus près l’application générée, en considérant les écrans et contrôles qui définissent le comportement de celle-ci.In this topic, we look more closely at the generated app - reviewing the screens and controls that define the app's behavior. Elle n’aborde pas tous les détails, mais le fait d’en savoir plus sur le fonctionnement de cette application vous aidera à générer vos propres applications.We won't go through all the details, but seeing more about how this app works will help you to build your own apps. L’une des rubriques suivantes traite des formules qui opèrent avec les écrans et contrôles.In a later topic, we'll look at the formulas that work with screens and controls.

Exécuter l’application en mode AperçuRun the app in preview mode

Cliquez ou appuyez surClick or tap Flèche Démarrer l’aperçu de application dans l’angle supérieur droit pour exécuter l’application.in the top right to run the app. Si vous naviguez dans l’application, vous voyez que celle-ci inclut toutes les données de l’entité et offre une bonne expérience par défaut.If you navigate through the app, you see that it includes data from the entity and provides a good default experience.

Exécuter l’application en mode Aperçu

Compréhension des contrôles dans PowerAppsUnderstanding controls in PowerApps

Un contrôle est simplement un élément d’interface utilisateur auquel des comportements sont associés.A control is simply a UI element that has behaviors associated with it. De nombreux contrôles dans PowerApps sont identiques à des contrôles que vous avez déjà utilisés dans d’autres applications : étiquettes, listes déroulantes, éléments de navigation, etc.Many controls in PowerApps are the same as controls that you've used in other apps: labels, text-input boxes, drop-down lists, navigation elements, and so on. Toutefois, PowerApps offre des contrôles plus spécialisé tels que Galleries (qui affiche les données de synthèse) et Forms (qui affiche des données détaillées et vous permet de créer et modifier des éléments).But PowerApps has more specialized controls like Galleries (which display summary data) and Forms (which display detail data and enable you to create and edit items). Il comprend également d’autres contrôles très appréciables tels que Image, Camera et Barcode.And also some other really cool controls like Image, Camera, and Barcode. Pour voir ce qui est disponible, cliquez ou appuyez sur Insérer dans le ruban, puis cliquez ou appuyez sur les options successives, de Texte à Icônes.To see what's available, click or tap Insert on the ribbon, and then click or tap each of the options in turn, Text through Icons.

Onglet Controls dans le ruban de PowerApps Studio

Explorer l’écran de navigationExplore the browse screen

Chacun des trois écrans de l’application comprend un contrôle principal et des contrôles supplémentaires.Each of the three app screens has a main control and some additional controls. Le premier écran est l’écran de navigation BrowseScreen1 par défaut.The first screen in the app is the browse screen, named BrowseScreen1 by default. Le contrôle principal de cet écran est une galerie nommée BrowseGallery1.The main control on this screen is a gallery named BrowseGallery1. La galerie BrowseGallery1 contient d’autres contrôles, tels que NextArrow1 (icône sur laquelle vous pouvez cliquer ou appuyer pour accéder à l’écran de détails).BrowseGallery1 contains other controls, like NextArrow1 (an icon control - click or tap it to go to the details screen). L’écran contient également des contrôles séparés, tels que IconNewItem1 (icône sur laquelle vous pouvez cliquer ou appuyer pour créer un élément dans l’écran de modification/création).There are also separate controls on the screen, like IconNewItem1 (an icon control - click or tap it to create an item in the edit/create screen).

Naviguer dans l’écran à l’aide de contrôles

PowerApps inclut divers types de galeries. Vous pouvez utiliser celui qui répond le mieux aux besoins de disposition de votre application.PowerApps has a variety of gallery types so you can use the one that best suits your app's layout requirements. D’autres façons de contrôler la disposition sont abordées plus loin dans cette section.You will see more ways to control layout later in this section.

Options de galerie PowerApps

Explorer l’écran de détailsExplore the details screen

Vient ensuite l’écran de détails, nommé DetailScreen1 par défaut.Next is the details screen, named DetailScreen1 by default. Le contrôle principal de cet écran est un formulaire d’affichage nommé DetailForm1.The main control on this screen is a display form named DetailForm1. Le formulaire DetailForm1 contient d’autres contrôles, tels que DataCard1 (contrôle de carte affichant la catégorie de la question dans ce cas).DetailForm1 contains other controls, like DataCard1 (a card control, which displays the question category in this case). L’écran contient également des contrôles séparés, tels que IconEdit1 (icône sur laquelle vous pouvez cliquer ou appuyer pour modifier l’élément actif dans l’écran de modification/création).There are also separate controls on the screen like IconEdit1 (an icon control - click or tap it to edit the current item on the edit/create screen).

Écran de détails avec des contrôles

S’il existe un grand nombre d’options de galerie, les formulaires ne sont qu’au nombre de deux : le formulaire de modification et le formulaire d’affichage.There are lots of gallery options, but forms are more straightforward - it's either an edit form or a display form.

Options de formulaire de PowerApps

Explorer l’écran de modification/créationExplore the edit/create screen

Le troisième écran de l’application est l’écran de modification/création, nommé EditScreen1 par défaut.The third screen in the app is the edit/create screen, named EditScreen1 by default. Le contrôle principal de cet écran est un formulaire de modification nommé EditForm1.The main control on this screen is an edit form named EditForm1. Le formulaire EditForm1 contient d’autres contrôles, tels que DataCard8 (contrôle de carte permettant de modifier la catégorie de la question dans ce cas).EditForm1 contains other controls, like DataCard8 (a card control, which allows you to edit the question category in this case). L’écran contient également des contrôles séparés, tels que IconAccept1 (icône sur laquelle vous pouvez cliquer ou appuyer pour enregistrer les modifications apportées dans l’écran de modification/création).There are also separate controls on the screen like IconAccept1 (an icon control - click or tap it to save the changes you made on the edit/create screen).

Écran de modification avec des contrôles

À présent que vous avez une idée des écrans et contrôles qui composent l’application, nous allons voir dans la rubrique suivante comment personnaliser celle-ci.Now that you have a sense of how the app is composed of screens and controls, we'll look at how you customize the app in the next topic.

Personnaliser l’applicationCustomize the app

Dans les deux premières rubriques de cette section, vous avez généré une application à partir d’une entité Common Data Service, et exploré l’application pour mieux comprendre la composition des applications à trois écrans.In the first two topics in this section, you generated an app from a Common Data Service entity and explored the app to get a better understanding of how three screen apps are composed. L’application générée par PowerApps est utile, mais vous serez souvent amené à personnaliser une application après sa génération.The app that PowerApps generated is useful, but you will often customize an app after it's generated. Cette rubrique décrit certaines modifications de l’écran de navigation de l’application.In this topic, we'll walk through some changes for the browse screen of the app. Il est possible de personnaliser tous les écrans, mais nous souhaitons nous concentrer sur l’un d’eux et approfondir un peu les personnalisations.You can customize any of the screens, but we wanted to focus on one and provide a bit more depth to the customizations. Nous vous encourageons à prendre une application quelconque que vous générez (à partir d’une entité, d’un fichier Excel ou d’une autre source), et de voir comment vous pouvez la personnaliser.We encourage you to take any app you generate - from an entity, an Excel file, or another source - and see how you can customize it. C’est vraiment le meilleur moyen de découvrir la manière dont les applications sont assemblées.It really is the best way to learn how apps are put together.

Lors de la génération de l’application, PowerApps a choisi la disposition de celle-ci, et les champs à afficher sur chaque écran.When PowerApps generated the app, it decided on a layout to use, and particular fields to show on each screen. Pour cette application, nous choisissons un contrôle de galerie comprenant une barre d’état que nous allons personnaliser par la suite.For this app, let's choose a gallery control that has a status bar (we'll customize the status bar shortly). Dans le volet de droite, sous l’onglet Layout, sélectionnez la disposition souhaitée.In the right-hand pane, on the Layout tab, select the layout you want. Vous voyez immédiatement les résultats, car PowerApps met à jour l’application à mesure que vous la modifiez.You see the results right away because PowerApps updates the app as you make changes.

Modifier la disposition de l’écran de navigation

En partant de la disposition de base appropriée, modifiez les champs affichés.With the right basic layout, now change the fields that are displayed. Cliquez ou appuyez sur un champ dans le premier élément, puis, dans le volet de droite, modifiez les données qui s’affichent pour chaque élément.Click or tap a field in the first item, then in the right-hand pane, change the data that is displayed for each item. Vous obtenez ainsi un meilleur résumé de chaque élément de l’entité.This provides a better summary of each item in the entity.

Modifier les champs de l’écran de navigation

Modifier le thème de l’applicationChange the app theme

PowerApps fournit un ensemble de thèmes que vous pouvez utiliser dans votre application, très similaires à ceux disponibles dans PowerPoint.PowerApps provides a set of themes you can use in your app, much like PowerPoint. L’écran suivant montre le thème Dune appliqué, et un logo simple que nous avons collé dans l’application.In the following screen, you see the Dune theme applied, and a simple logo that we pasted into the app. Bien qu’élémentaires, ces modifications peuvent améliorer sensiblement l’apparence de votre application.These are basic changes, but can do a lot to improve the appearance of your app.

Modifier le thème et ajouter un logo

Utiliser une formule pour afficher l’état du casUse a formula to show the case status

L’un des principaux avantages de la solution PowerApps est qu’elle évite de devoir écrire du code d’application traditionnel, de sorte qu’il n’est nullement besoin d’être développeur pour créer des applications.One of the major benefits of PowerApps is not having to write traditional application code - you don’t have to be a developer to create apps! En revanche, il faut toujours trouver un manière d’exprimer une logique au sein d’une application, ainsi que de contrôler la navigation, le filtrage, le tri et d’autres fonctionnalités de celle-ci.But you still need a way to express logic in an app and to control an app’s navigation, filtering, sorting, and other functionality. C’est là que les formules entrent en jeu.This is where formulas come in.

Si vous avez déjà utilisé des formules dans Excel, l’approche de PowerApps devrait sembler familière.If you have used Excel formulas, the approach that PowerApps takes should feel familiar. Supposons que vous souhaitez afficher la barre d’état en vert si un cas est résolu, ou sinon en rouge.Suppose you want to show the status bar in green if a case is resolved, or in red otherwise. Pour ce faire, vous sélectionnez le contrôle d’état sur l’écran, puis définissez la propriété Fill du contrôle dans la barre de formule sur la formule suivante : If(Status="Resolved", Color.Green, Color.Red).To do this, you select the status control on the screen, and then set the Fill property of that control to this formula in the formula bar: If(Status="Resolved", Color.Green, Color.Red). Cela est comparable à une formule Excel, mais les formules PowerApps font référence à des contrôles et à d’autres éléments de l’application, plutôt qu’à des cellules dans une feuille de calcul.This is like an Excel formula, but PowerApps formulas refer to controls and other app elements rather than cells in a spreadsheet. L’illustration suivante montre où définir la formule et le résultat dans l’application.The following image shows where to set the formula, and the result in the app.

Formule pour afficher l’état d’un cas

Trier et filtrer en fonction d’une dateSort and filter based on date

Sur l’écran de navigation, l’application générée vous permet de rechercher des cas et de trier la liste des éléments de la galerie.On the browse screen, the generated app lets you search for cases and sort the list of items in the gallery. Nous allons supprimer les fonctionnalités de recherche et de tri afin de pouvoir montrer des cas basés sur une date.We're going to remove the search and sort functionality in favor of showing cases based on a date. Il est possible de combiner ces méthodes mais, pour cette application, nous allons nous concentrer sur l’approche basée sur la date.You could combine these methods, but we'll focus on the date-based approach for this app. L’image ci-dessous montre les éléments que nous avons ajoutés :In the image below, you see the items we added:

  • Une étiquette de texte (« Show cases after: ») afin que les utilisateurs sachent quoi faire : Insérer > Texte > Label ; changer la formule Fill en White.A text label ("Show cases after:") so users know what to do: Insert > Text > Label; change the Fill formula to White.
  • Un sélecteur de dates : Insert > Controls > Date picker.A date picker: Insert > Controls > Date picker.
  • Une formule qui connecte la propriété Items de la galerie de navigation au sélecteur de dates : Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).A formula that connects the browse gallery Items property to the date picker: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).

La date définie est le 20 octobre, et le résultat est que l’application affiche les cas créés après cette date.The date is set to Oct 20 and you see the result that the app is showing the cases created after this date. Notez que, par défaut, la date de dernière modification est identique pour tous les cas de l’entité.Note that by default, all cases in the entity have the same last modified date. Vous pouvez en mettre à jour un ou plusieurs pour voir le fonctionnement du filtrage.You can update one or more to see how filtering works. Nous abordons l’utilisation des données de l’entité plus loin dans ce cours.We cover working with entity data later in the course.

Application mise à jour pour utiliser un sélecteur de données

Afficher le nombre total de casShow total number of cases

Nous abordons de nombreux points ici, mais nous en avons presque terminé avec les personnalisations.We're covering a lot of ground here, but we're almost done with the customizations. Pour conclure cette rubrique, nous allons ajouter des étiquettes affichant deux nombres : le nombre total de cas et le nombre de cas correspondant à notre filtre de date.The last thing we'll do in this topic is add labels that show two numbers: the total number of cases and the number of cases that match our date-based filter.

Afficher le nombre total de cas et les cas filtrés

La vidéo montre en détail comment ajouter les deux étiquettes, mais voici les principes de base du choix des propriétés que nous définissons pour chaque étiquette :The video goes into detail about how to add the two labels, but here's the basics on which properties we set for each label:

  • Align = CenterAlign = Center
  • Width = Parent.Width/2Width = Parent.Width/2
  • Zone de gauche Text = "Total cases: " & CountRows(Case).Left box Text = "Total cases: " & CountRows(Case). Cela inclut tous les cas de l’entité.This includes all cases that are in the entity.
  • Zone de droite Text = Filtered cases: " & CountRows(BrowseGallery1.AllItems).Right box Text = Filtered cases: " & CountRows(BrowseGallery1.AllItems). Cela inclut uniquement les cas correspondant au filtre de date.This includes only those cases that match the date-based filter.

Bien. Cela conclut les personnalisations d’application. Dans le cadre de la rubrique suivante, nous allons ajouter une source et un flux de données, et montrer l’application finie.OK, that wraps up the app customizations - in the next topic we'll add a data source, and a flow, and show you the finished app.

Ajouter une source et un flux de donnéesAdd a data source and flow

Jusqu’à présent, dans cette section, nous avons généré une application basée sur l’entité Case à partir du Common Data Service, exploré l’application pour voir comment elle était assemblée, et personnalisé l’application de plusieurs façons.So far in this section, we have generated an app based on the Case entity from the Common Data Service, explored the app to see how it's put together, and customized the app in several ways. Dans la dernière rubrique de cette section, nous allons introduire une autre entité standard, et utiliser Microsoft Flow pour envoyer un message électronique.In the final topic for this section, we will bring in another standard entity, and use Microsoft Flow to send an email. L’application a pour fonction de déclencher un flux afin que la personne ayant ouvert un cas soit informée lors de la mise à jour de celui-ci.The app will trigger a flow so that the person who opened a case is notified when the case is updated. Dans le cadre de cette rubrique, nous suivons un scénario particulier, mais les compétences que vous pouvez y acquérir s’appliquent à de nombreux genres d’applications.We're completing a particular scenario in this topic, but the skills you learn are applicable across many kinds of apps. Commençons par les entités.Let's get started with the entities.

Examiner les relations d’entitésReview entity relationships

Nous allons bientôt ajouter l’entité Contact, mais commençons par examiner la relation entre les entités Contact et Case.We'll add the Contact entity shortly, but first we'll look at how the Case and Contact entities relate to each other. Dans l’entité Case, vous pouvez voir le champ CurrentContact dont le type de données est Lookup.In the Case entity, you see that one of the fields is CurrentContact, with a data type of Lookup. Cela signifie que ce champ est utilisé dans une relation avec une autre table.This means that this field is used in a relationship with another table.

Champs de l’entité Case

Sous l’onglet Relationships, vous pouvez voir que l’entité avec laquelle existe une relation est Contact.On the Relationships tab, you see that the related entity is Contact. Gardez cela à l’esprit, car nous allons utiliser cette relation plus loin dans cette rubrique.Keep that in mind because we will use this relationship later in this topic.

Relations de l’entité Case

Ajouter une entité à l’applicationAdd an entity to the app

L’ajout d’une source de données dans PowerApps est une opération simple.Adding a data source in PowerApps is straightforward. Dans le volet de droite, cliquez ou appuyez sur Data sources, puis sur Add data source.In the right-hand pane, click or tap Data sources, then Add data source. Dans ce cas, choisissez la connexion Common Data Service, puis sélectionnez l’entité Contact.In this case, then choose the Common Data Service connection and select the Contact entity. Lorsque vous cliquez ou appuyez sur Connect, l’entité est ajoutée à l’application.After you click or tap Connect, the entity is added to the app.

Ajouter une entité Contact

Dans cet exemple, nous ajoutons des données d’une autre entité, mais vous pouvez combiner des données de nombreuses sources dans vos applications.Note that in this example, we're adding data from another entity, but you can combine data from many sources in your apps.

Rechercher des informations de contactLook up contact information

À présent que nous avons accès aux données de l’entité Contact dans notre application, il est temps de les utiliser.Now that we have access to the Contact entity data in our app, it's time to put it to use. Comme mentionné dans l’introduction, nous souhaitons envoyer un message électronique en cas de mise à jour d’un cas.As mentioned in the introduction, we want to send an email when a case is updated. Pour ce faire, nous allons utiliser deux formules et un flux.We will use two formulas and a flow to accomplish this. La première formule à trait à l’écran de modification, plus spécifiquement à la propriété OnSelect du bouton d’enregistrement.The first formula is for the edit screen, specifically the OnSelect property of the save button.

Écran de modification de l’application

Par défaut, ce bouton utilise la formule SubmitForm(EditForm1) pour soumettre la mise à jour quand un utilisateur modifie les données du formulaire.By default, this button uses the formula SubmitForm(EditForm1) to submit the update when a user edits data in the form. Nous devons compléter la formule afin qu’elle recherche d’abord les informations de contact de la personne ayant ouvert le cas en cours, puis stocke ces informations localement dans l’application :We need to add to the formula so that it first looks up the contact information for the person who opened the current case, and then stores that information locally in the app:

UpdateContext({contact:LookUp(Contact, ContactId=BrowseGallery1.Selected.CurrentContact.ContactId)}); SubmitForm(EditForm1)

C’est un peu complexe, mais James détaille cette formule de façon remarquable à partir de 2:04 dans la vidéo.Yes, it's a little complex, but James does a great job of explaining this formula in more detail, starting at 2:04 in the video.

Déclencher un flux à partir de l’applicationTrigger a flow from the app

À présent que nous connaissons les personnes de contact pour chaque cas, nous pouvons leur envoyer un message électronique.Now that we know who the contact is for each case, we can send an email to them. Nous pourrions envoyer un message électronique directement à partir de l’application mais, pour cet exemple, nous allons montrer comment déclencher un flux à partir de l’application.We could send an email directly from the app, but for this example we'll show you how to trigger a flow from the app. Le flux, extrêmement simple, consiste à envoyer un message électronique suite à une action dans une application.Here's the flow, which is as simple as it gets: send an email based on an action in an app. Nous ne détaillons pas les flux ici, mais il existe une série complète d’apprentissages guidés pour Microsoft Flow.We won't get into more detail on flows here, but there is a whole Guided Learning series for Microsoft Flow.

Flux pour envoyer un message électronique

Dans l’application, nous devons appeler le flux suite à un événement.Back in the app, we need to call the flow based on an event. Nous allons utiliser la propriété OnSuccess de l’écran de modifications, de sorte que le flux soit déclenché en cas de réussite de la modification.We'll use the OnSuccess property of the edit form, so the flow is triggered when the edit succeeds. Cliquez ou appuyez sur le formulaire de modification, puis, dans le ruban, cliquez ou appuyez sur Action > Flows.Click or tap the edit form, then on the ribbon click or tap Action > Flows. Sélectionnez le flux à utiliser.Select the flow you want to use.

Flux pour envoyer un message électronique

Le flux est désormais associé à l’événement OnSuccess du formulaire de modification, et nous pouvons faire référence au contact pour le message électronique.The flow is now associated with the OnSuccess event of the edit form, and we can refer to the contact for the email. La formule suivante appelle le flux avec l’adresse de messagerie de la personne ayant ouvert le cas, ainsi qu’une ligne d’objet et le corps du message électronique.The following formula calls the flow with the email address of the person who opened the case, as well as a subject line and the body of the email.

CaseResolvedEmailConfirmation.Run(contact.EmailPrimary, "Your case has been updated", "Check it out")

Voilà pour l’ajout d’une source de données à l’application et le déclenchement d’un flux qui envoie un message électronique.That's it for adding a data source to the app, and triggering a flow that sends an email. Si vous n’avez pas encore regardé les vidéos de cette section, nous vous encourageons à le faire.If you haven't watched the videos in this section already, we encourage you to do it. Elles contiennent de nombreux détails évoqués brièvement dans les rubriques.They fill in lots of the details that we've moved through quickly in the topics.

ConclusionWrapping it all up

Cela nous amène à conclure cette section.This brings us to the end of this section. Nous espérons que vous l’avez appréciée et avez acquis de nombreuses connaissances.We hope you've enjoyed it and learned a ton. Nous avons généré une application de base à partir d’une entité, puis exploré un peu l’application pour comprendre comment elle était assemblée.We started out generating a basic app from an entity, and explored the app a little to understand how it's put together. Nous avons passé pas mal de temps à personnaliser l’application, puis avons ajouté une source de données et vu comment déclencher un flux.We spent a good deal of time on customizing the app, then added a data source and saw how to trigger a flow. Dans cette section, nous avons créé une application de gestion de cas spécifique, mais les compétences que vous avez acquises sont applicables à de nombreux types d’applications.We built out a specific case management app in this section, but the skills you learned could be applied to many types of apps. Comme mentionné au début de cette section, si vous souhaitez examiner une application de gestion de cas plus complexe, consultez le modèle disponible dans PowerApps Studio pour Windows.As we mentioned at the beginning of this section - if you want to dig into a more complex case management app, be sure to check out the template that's available in PowerApps Studio for Windows.

Nous allons à présent passer à la gestion des applications.Next up we'll move into managing apps. La section relative à la gestion montre comment partager des applications et contrôler leurs versions, et présente les environnements qui sont des conteneurs d’applications, de données et d’autres ressources.The management section shows you how to share and version apps, and introduces environments, which are containers for apps, data, and other resources.

Félicitations !

Vous avez terminé la section Création d’une application à partir de Common Data Service de l’Apprentissage guidé Microsoft PowerApps.You've completed the Creating an app from the Common Data Service section of Microsoft PowerApps Guided Learning.

Vous avez appris à...

Didacticiel suivant

Gestion des applicationsManaging apps

Contributeurs

  • Michael Blythe
  • olprod
  • Alisha-Acharya