Criando um aplicativo pelo Common Data ServiceCreating an app from the Common Data Service

Gere um aplicativo de três telas a partir do Common Data Service e explore as telas e os controles do aplicativo.Generate a three screen app from the Common Data Service, then explore screens and controls from the app. Atualize as telas, controles e campos do aplicativo, introduza dados adicionais e dispare um fluxo do aplicativo.Update app screens, controls, and fields; bring in additional data and trigger a flow from the app.

Você aprenderá como...

Gerar um aplicativoGenerate an app

Nesta seção do curso, criaremos um aplicativo com base em entidades no Common Data Service.In this section of the course, we'll create an app based on entities in the Common Data Service. Entidades são partes de dados compartilhados com as quais é possível interagir e que podem ser modificadas, armazenadas, recuperadas.Entities are chunks of shared data that can be modified, stored, retrieved, and interacted with. Geraremos o aplicativo com base em uma entidade, mostraremos a você como personalizar o aplicativo, adicionar outra fonte de dados e chamar um fluxo do aplicativo.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. Se você já tiver concluído a seção sobre a criação de um aplicativo de uma lista do SharePoint, abordaremos uma parte desse mesmo conteúdo, porém, com mais detalhes, principalmente com relação à personalização do aplicativo.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.

Criaremos um aplicativo de gerenciamento de ocorrências que pode ser usado por um departamento de TI para acompanhar, priorizar e tomar medidas para resolver problemas de hardware e software de toda a organização.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. Conforme percorrer os tópicos, você também poderá considerar outros usos para um aplicativo como este.As you go through the topics, you might also think of other uses for an app like this. Estamos usando dados do Common Data Service porque ele é adequado para armazenar dados de aplicativo, mas você pode criar o mesmo aplicativo com uma fonte de dados diferente.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.

O PowerApps inclui um modelo de gerenciamento de ocorrências mais complexo que usa as mesmas entidades que o aplicativo que criaremos.PowerApps includes a more complex Case Management template that uses the same entities as the app we'll build. Depois de concluir esta seção, incentivamos você a explorar esse modelo para entender o que você pode criar no 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.

Criar um banco de dados do Common Data ServiceCreate a Common Data Service database

A primeira etapa na criação desse aplicativo é criar um banco de dados do Common Data Service se você ainda não tem um.The first step in building this app is to create a Common Service database if you don't already have one. Você cria um banco de dados do Common Data Service em um ambiente.You create a Common Data Service database in an environment. Um ambiente é um contêiner de aplicativos e outros recursos (você aprenderá mais sobre ambientes posteriormente neste curso).An environment is a container for apps and other resources (you'll learn more about environments later in the course). Um administrador de ambiente pode seguir estas etapas para criar um banco de dados (se não for um administrador, verifique com o administrador da sua organização).An environment admin can follow these steps to create a database (if you're not an admin, check with an admin in your organization).

Da guia Início, clique em Criar Banco de Dados.From the Home tab, click Create Database.

Common Data Service – criar banco de dados

Especifique se deseja restringir o acesso ao banco de dados (nós o manteremos aberto), então clique em Criar meu banco de dados.Specify whether you want to restrict access to the database (we'll keep it open), then click Create my database.

Common Data Service – especificar acesso

Quando o processo for concluído, você verá todas as entidades padrão incluídas no common data service.When the process is complete, you see all the standard entities that are included in the common data model. Algumas delas são mostradas abaixo.Some of them are shown below.

Entidades padrão do Common Data Service

Gerar um aplicativo com base na entidade OcorrênciaGenerate an app from the Case entity

Agora que o banco de dados foi criado, o conectamos à entidade Ocorrência e geramos um aplicativo.Now that the database is created, we connect to the Case entity and generate an app. Clique em Novo aplicativo e, em seguida, em PowerApps Studio para Web.Click New app, then PowerApps Studio for web.

Novo aplicativo no PowerApps Studio para Web

Estamos criando um aplicativo de telefone para uma entidade do Common Data Service, então, em Common Data Service, clique ou toque em Layout de telefone.We're building a phone app for a Common Data Service entity, so under Common Data Service click or tap Phone layout.

Aplicativo de telefone do Common Data Service

Na próxima tela, escolha uma conexão e uma entidade à qual se conectar e clique em Conectar.In the next screen, you choose a connection and an entity to connect to, then click Connect.

Conectar-se à entidade Ocorrência

Depois que você clica em Conectar, o PowerApps começa a gerar o aplicativo.After you click Connect, PowerApps starts to generate the app. O PowerApps faz todos os tipos de inferências sobre seus dados para que ele gere um aplicativo útil como um ponto de partida.PowerApps makes all sorts of inferences about your data so that it generates a useful app as a starting point.

Exibir o aplicativo no PowerApps StudioView the app in PowerApps Studio

Seu novo aplicativo de três telas é aberto no PowerApps Studio.Your new three-screen app opens in PowerApps Studio. Todos os aplicativos gerados de dados têm o mesmo conjunto de telas:All apps generated from data have the same set of screens:

  • A tela de navegação: na qual você procura, classifica, filtra e atualiza os dados obtidos por pull da lista, além de adicionar itens clicando no ícone (+).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.
  • A tela de detalhes: na qual você exibe mais detalhes sobre um item e pode optar por excluir ou editar o item.The details screen: where you view more detail about an item, and can choose to delete or edit the item.
  • A tela de edição/criação: aquela em que você pode editar um item existente ou criar um novo.The edit/create screen: where you edit an existing item or create a new one.

Na barra de navegação à esquerda, clique ou toque em um ícone no canto superior direito para mudar para o modo de exibição em miniatura.In the left navigation bar, click or tap an icon in the upper-right corner to switch to the thumbnail view.

Alternar entre modos de exibição

Clique ou toque em cada miniatura para exibir os controles nessa tela.Click or tap each thumbnail to view the controls on that screen.

O aplicativo gerado

Em seguida, exploraremos o aplicativo em mais detalhes e, posteriormente, personalizaremos o aplicativo de modo que ele se adapte melhor às nossas necessidades.Next we'll explore the app in more detail and then customize it to better suit our needs.

Explorar um aplicativo geradoExplore a generated app

Neste tópico, analisaremos com detalhes o aplicativo gerado – examinando as telas e controles que definem o comportamento do aplicativo.In this topic, we look more closely at the generated app - reviewing the screens and controls that define the app's behavior. Não examinaremos todos os detalhes, mas ver mais sobre como esse aplicativo funciona ajudará você a criar seus próprios aplicativos.We won't go through all the details, but seeing more about how this app works will help you to build your own apps. Em um tópico posterior, examinaremos as fórmulas que funcionam com controles e telas.In a later topic, we'll look at the formulas that work with screens and controls.

Executar o aplicativo no modo de visualizaçãoRun the app in preview mode

Clique ou toque naClick or tap Seta Iniciar visualização do aplicativo no canto superior direito para executar o aplicativo.in the top right to run the app. Se você navegar pelo aplicativo, verá que ele inclui dados da entidade e fornece uma boa experiência padrão.If you navigate through the app, you see that it includes data from the entity and provides a good default experience.

Executar o aplicativo no modo de visualização

Noções básicas sobre controles no PowerAppsUnderstanding controls in PowerApps

Um controle é simplesmente um elemento de interface do usuário com comportamentos associados a ele.A control is simply a UI element that has behaviors associated with it. Muitos controles do PowerApps são os mesmos que você usou em outros aplicativos: rótulos, caixas de entrada de texto, listas suspensas, elementos de navegação e assim por diante.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. Mas o PowerApps tem mais controles especializados como Galerias (que exibem dados de resumo) e Formulários (que exibem dados detalhados e permitem que você crie e edite itens).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). Há também alguns outros controles realmente interessantes como Imagem, Câmera e Código de barras.And also some other really cool controls like Image, Camera, and Barcode. Para ver o que está disponível, clique ou toque em Inserir na faixa de opções e, em seguida, clique ou toque em cada uma das opções de cada vez, de Texto a Ícones.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.

Guia de controles na faixa de opções PowerApps Studio

Explorar a tela de navegaçãoExplore the browse screen

Cada uma das três telas do aplicativo tem um controle principal e alguns controles adicionais.Each of the three app screens has a main control and some additional controls. A primeira tela no aplicativo é a tela de navegação, chamada BrowseScreen1 por padrão.The first screen in the app is the browse screen, named BrowseScreen1 by default. O controle principal nessa tela é uma galeria chamada BrowseGallery1.The main control on this screen is a gallery named BrowseGallery1. BrowseGallery1 contém outros controles como NextArrow1 (um controle de ícone – clique ou toque nele para ir para a tela de detalhes).BrowseGallery1 contains other controls, like NextArrow1 (an icon control - click or tap it to go to the details screen). Também existem controles separados na tela, como IconNewItem1 (um controle de ícone – clique ou toque nele para criar um item na tela de edição/criação).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).

Tela de navegação com controles

O PowerApps tem uma variedade de tipos de galeria, de modo que você pode usar aquele que melhor atende aos requisitos de layout do seu aplicativo.PowerApps has a variety of gallery types so you can use the one that best suits your app's layout requirements. Você verá mais maneiras de controlar o layout posteriormente nesta seção.You will see more ways to control layout later in this section.

Opções de galeria do PowerApps

Explorar a tela de detalhesExplore the details screen

Em seguida, temos a tela de detalhes, chamada DetailScreen1 por padrão.Next is the details screen, named DetailScreen1 by default. O principal controle nesta tela é um formulário de exibição denominado DetailForm1.The main control on this screen is a display form named DetailForm1. DetailForm1 contém outros controles, como DataCard1 (um cartão controle, que exibe a categoria de pergunta nesse caso).DetailForm1 contains other controls, like DataCard1 (a card control, which displays the question category in this case). Também existem controles separados na tela, como IconEdit1 (um controle de ícone – clique ou toque nele para editar o item atual na tela de edição/criação).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).

Tela de detalhes com controles

Há muitas opções de galeria, mas os formulários são mais simples – podem ser formulários de edição ou de exibição.There are lots of gallery options, but forms are more straightforward - it's either an edit form or a display form.

Opções de formulário do PowerApps

Explorar a tela de edição/criaçãoExplore the edit/create screen

A terceira tela no aplicativo é a tela de edição/criação, chamada EditScreen1 por padrão.The third screen in the app is the edit/create screen, named EditScreen1 by default. O principal controle nesta tela é um formulário de edição denominado EditForm1.The main control on this screen is an edit form named EditForm1. EditForm1 contém outros controles, como DataCard8 (um cartão controle, que exibe a categoria de pergunta nesse caso).EditForm1 contains other controls, like DataCard8 (a card control, which allows you to edit the question category in this case). Também existem controles separados na tela como IconAccept1 (um controle de ícone – clique ou toque nele para salvar as alterações que você fez na tela de edição/criação).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).

Tela de edição com controles

Agora que você tem uma ideia de como o aplicativo é composto de telas e controles, veremos no próximo tópico como personalizar o aplicativo.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.

Personalizar o aplicativoCustomize the app

Nos dois primeiros tópicos nesta seção, você gerou um aplicativo de uma entidade do Common Data Service e explorou o aplicativo para obter um melhor entendimento de como aplicativos de três telas são compostos.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. O aplicativo gerado pelo PowerApps é útil, mas geralmente você personalizará um aplicativo após ele ser gerado.The app that PowerApps generated is useful, but you will often customize an app after it's generated. Neste tópico, percorreremos algumas alterações básicas para a tela de navegação no aplicativo.In this topic, we'll walk through some changes for the browse screen of the app. Você pode personalizar qualquer uma das telas, mas queríamos nos concentrar em uma e fornecer um pouco mais de detalhes sobre as personalizações.You can customize any of the screens, but we wanted to focus on one and provide a bit more depth to the customizations. Recomendamos que você tome qualquer aplicativo que você gerar de uma entidade, de um arquivo do Excel ou de outra fonte e veja como você pode personalizá-lo.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. Essa é realmente a melhor maneira de saber como os aplicativos são formados.It really is the best way to learn how apps are put together.

Quando o PowerApps gerou o aplicativo, ele decidiu que layout usar e campos específicos para mostrar em cada tela.When PowerApps generated the app, it decided on a layout to use, and particular fields to show on each screen. Para esse aplicativo, escolheremos um controle da Galeria que tem uma barra de status (personalizaremos a barra de status em breve).For this app, let's choose a gallery control that has a status bar (we'll customize the status bar shortly). No painel direito, na guia Layout, selecione o layout desejado.In the right-hand pane, on the Layout tab, select the layout you want. Você verá os resultados imediatamente porque o PowerApps atualiza o aplicativo conforme você faz as alterações.You see the results right away because PowerApps updates the app as you make changes.

Alterar o layout de tela de navegação

Com o layout básico correto, altere agora os campos que são exibidos.With the right basic layout, now change the fields that are displayed. Clique ou toque em um campo no primeiro item e, em seguida, no painel à direita, altere os dados que são exibidos para cada item.Click or tap a field in the first item, then in the right-hand pane, change the data that is displayed for each item. Isso fornece um resumo melhor de cada item na entidade.This provides a better summary of each item in the entity.

Alterar os campos da tela de navegação

Alterar o tema do aplicativoChange the app theme

O PowerApps fornece um conjunto de temas que você pode usar em seu aplicativo, de modo muito parecido com o que ocorre no PowerPoint.PowerApps provides a set of themes you can use in your app, much like PowerPoint. Na tela seguinte, você vê o tema Duna e um logotipo simples que colamos no aplicativo.In the following screen, you see the Dune theme applied, and a simple logo that we pasted into the app. Essas são alterações básicas, mas que podem fazer muita diferença para melhorar a aparência do seu aplicativo.These are basic changes, but can do a lot to improve the appearance of your app.

Alterar o tema e adicione um logotipo

Usar uma fórmula para mostrar o status da ocorrênciaUse a formula to show the case status

Um dos principais benefícios do PowerApps é não precisar escrever o código de aplicativo tradicional – você não precisa ser um desenvolvedor para criar aplicativos!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! Mas você ainda precisa de uma maneira para expressar a lógica em um aplicativo e para controlar a navegação, a filtragem, a classificação e as outras funcionalidades de um aplicativo.But you still need a way to express logic in an app and to control an app’s navigation, filtering, sorting, and other functionality. É aí que entram as fórmulas.This is where formulas come in.

Se você já usou as fórmulas do Excel, a abordagem usada pelo PowerApps lhe deve ser familiar.If you have used Excel formulas, the approach that PowerApps takes should feel familiar. Suponha que você deseja mostrar a barra de status em verde se uma ocorrência for resolvida ou em vermelho se não for.Suppose you want to show the status bar in green if a case is resolved, or in red otherwise. Para fazer isso, selecione o controle do status na tela e, em seguida, defina a propriedade Preenchimento desse controle para esta fórmula na barra de fórmulas: 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). Ela é como uma fórmula do Excel, mas fórmulas do PowerApps se referem a controles e outros elementos do aplicativo em vez de células em uma planilha.This is like an Excel formula, but PowerApps formulas refer to controls and other app elements rather than cells in a spreadsheet. A imagem a seguir mostra onde definir a fórmula e o resultado no aplicativo.The following image shows where to set the formula, and the result in the app.

Fórmula para mostrar o status da ocorrência

Classificar e filtrar com base na dataSort and filter based on date

Na tela de navegação, o aplicativo gerado permite pesquisar ocorrências e classificar a lista de itens na galeria.On the browse screen, the generated app lets you search for cases and sort the list of items in the gallery. Removeremos as funcionalidades de pesquisa e de classificação para priorizar a exibição de ocorrências com base em uma data.We're going to remove the search and sort functionality in favor of showing cases based on a date. Você pode combinar esses métodos, mas vamos nos concentrar na abordagem baseada em dados para esse aplicativo.You could combine these methods, but we'll focus on the date-based approach for this app. Na imagem abaixo, você vê os itens que adicionamos:In the image below, you see the items we added:

  • Um rótulo de texto (“Mostrar ocorrências após:”) para que os usuários saibam o que fazer: Inserir > Texto > Rótulo; altere a fórmula Preenchimento para Branco.A text label ("Show cases after:") so users know what to do: Insert > Text > Label; change the Fill formula to White.
  • Um seletor de data: Inserir > Controles > Seletor de data.A date picker: Insert > Controls > Date picker.
  • Uma fórmula que conecta a propriedade Itens da galeria de navegação ao seletor de data: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).A formula that connects the browse gallery Items property to the date picker: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).

A data é definida como 20 de outubro e você vê como resultado que o aplicativo está mostrando as ocorrências criadas após essa data.The date is set to Oct 20 and you see the result that the app is showing the cases created after this date. Observe que, por padrão, todas as ocorrências na entidade têm a mesma data da última modificação.Note that by default, all cases in the entity have the same last modified date. Você pode atualizar um ou mais para ver como a filtragem funciona.You can update one or more to see how filtering works. Abordaremos o trabalho com os dados de entidade posteriormente no curso.We cover working with entity data later in the course.

Aplicativo atualizado para usar o seletor de data

Mostrar o número total de ocorrênciasShow total number of cases

Estamos abordando muitos aspectos básicos aqui, praticamente terminamos as personalizações.We're covering a lot of ground here, but we're almost done with the customizations. A última coisa que vamos fazer neste tópico é adicionar rótulos que mostram dois números: o número total de ocorrências e o número de ocorrências que correspondem ao nosso filtro baseado em data.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.

Mostre o total de ocorrências e as ocorrências filtradas

O vídeo entra em detalhes sobre como adicionar os dois rótulos, mas estas são as informações básicas sobre quais propriedades definimos para cada rótulo: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:

  • Alinhar = CenterAlign = Center
  • Largura = Parent.Width/2Width = Parent.Width/2
  • Texto = "Total cases: " & CountRows(Case) da caixa esquerda.Left box Text = "Total cases: " & CountRows(Case). Isso inclui todos as ocorrências que estão na entidade.This includes all cases that are in the entity.
  • Texto = Filtered cases: " & CountRows(BrowseGallery1.AllItems) da caixa direita.Right box Text = Filtered cases: " & CountRows(BrowseGallery1.AllItems). Isso inclui somente as ocorrências que correspondem ao filtro de data.This includes only those cases that match the date-based filter.

OK, o que conclui as personalizações de aplicativo – no próximo tópico, adicionaremos uma fonte de dados e um fluxo e mostraremos a você o aplicativo concluído.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.

Adicionar uma fonte de dados e um fluxoAdd a data source and flow

Até o momento nesta seção, geramos um aplicativo baseado na entidade Ocorrência do Common Data Service, exploramos o aplicativo para ver como ele é formado e personalizamos o aplicativo de várias maneiras.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. No último tópico dessa seção, introduziremos outra entidade padrão e usaremos o Microsoft Flow para enviar um email.In the final topic for this section, we will bring in another standard entity, and use Microsoft Flow to send an email. O aplicativo disparará um fluxo para que a pessoa que abriu uma ocorrência seja notificada quando houver atualizações.The app will trigger a flow so that the person who opened a case is notified when the case is updated. Estamos concluindo um cenário específico neste tópico, mas as habilidades que você aprende podem ser aplicadas em vários tipos de aplicativos.We're completing a particular scenario in this topic, but the skills you learn are applicable across many kinds of apps. Vamos começar com as entidades.Let's get started with the entities.

Examinar relacionamentos entre entidadesReview entity relationships

Adicionaremos a entidade Contato em breve, mas primeiro examinaremos como as entidades Ocorrência e Contato se relacionam entre si.We'll add the Contact entity shortly, but first we'll look at how the Case and Contact entities relate to each other. Na entidade Ocorrência, você vê que um dos campos é CurrentContact, com um tipo de dados de Pesquisa.In the Case entity, you see that one of the fields is CurrentContact, with a data type of Lookup. Isso significa que esse campo é usado em um relacionamento com outra tabela.This means that this field is used in a relationship with another table.

Campos da entidade Ocorrência

Na guia Relacionamentos, você verá que a entidade relacionada é Contato.On the Relationships tab, you see that the related entity is Contact. Tenha isso em mente, pois usaremos esse relacionamento posteriormente neste tópico.Keep that in mind because we will use this relationship later in this topic.

Relacionamentos entre entidades Ocorrência

Adicionar uma entidade ao aplicativoAdd an entity to the app

Adicionar uma fonte de dados no PowerApps é simples.Adding a data source in PowerApps is straightforward. No painel direito, clique ou toque em Fontes de dados, depois em Adicionar fonte de dados.In the right-hand pane, click or tap Data sources, then Add data source. Nesse caso, escolha a conexão do Common Data Service e selecione a entidade Contato.In this case, then choose the Common Data Service connection and select the Contact entity. Depois que você clica ou toca em Conectar, a entidade é adicionada ao aplicativo.After you click or tap Connect, the entity is added to the app.

Adicionar entidade Contato

Observe que neste exemplo estamos adicionando dados de outra entidade, mas você pode combinar dados de várias fontes em seus aplicativos.Note that in this example, we're adding data from another entity, but you can combine data from many sources in your apps.

Pesquisar informações de contatoLook up contact information

Agora que temos acesso aos dados da entidade Contato em nosso aplicativo, é hora de colocá-los em uso.Now that we have access to the Contact entity data in our app, it's time to put it to use. Conforme mencionado na introdução, queremos enviar um email quando uma ocorrência é atualizada.As mentioned in the introduction, we want to send an email when a case is updated. Usaremos duas fórmulas e um fluxo para fazer isso.We will use two formulas and a flow to accomplish this. A primeira fórmula é para a tela de edição, especificamente a propriedade OnSelect do botão salvar.The first formula is for the edit screen, specifically the OnSelect property of the save button.

Tela de edição do aplicativo

Por padrão, esse botão usa a fórmula SubmitForm(EditForm1) para enviar a atualização quando um usuário edita dados no formulário.By default, this button uses the formula SubmitForm(EditForm1) to submit the update when a user edits data in the form. Precisamos adicionar uma parte à fórmula de modo que ela primeiro procure as informações de contato da pessoa que abriu a ocorrência atual e, em seguida, armazene essas informações localmente no aplicativo: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)

Sim, isso é um pouco complicado, mas James faz um ótimo trabalho explicando esta fórmula mais detalhadamente, começando em 2:04 no vídeo.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.

Disparar um fluxo do aplicativoTrigger a flow from the app

Agora que sabemos quem é o contato de cada ocorrência, podemos enviar um email para eles.Now that we know who the contact is for each case, we can send an email to them. Poderíamos enviar um email diretamente do aplicativo, mas para este exemplo, mostraremos como disparar um fluxo do aplicativo.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. Aqui está o fluxo, que é o mais simples possível: enviar um email com base em uma ação em um aplicativo.Here's the flow, which is as simple as it gets: send an email based on an action in an app. Não entraremos em mais detalhes sobre fluxos aqui, mas há uma série de aprendizado guiado inteira para o Microsoft Flow.We won't get into more detail on flows here, but there is a whole Guided Learning series for Microsoft Flow.

Fluxo para enviar email

De volta ao aplicativo, precisamos chamar o fluxo com base em um evento.Back in the app, we need to call the flow based on an event. Vamos usar a propriedade OnSuccess do formulário de edição, para que o fluxo seja disparado quando a edição for bem-sucedida.We'll use the OnSuccess property of the edit form, so the flow is triggered when the edit succeeds. Clique ou toque em formulário de edição e, em seguida, na faixa de opções, clique ou toque em Ação > Fluxos.Click or tap the edit form, then on the ribbon click or tap Action > Flows. Selecione o fluxo que você deseja usar.Select the flow you want to use.

Fluxo para enviar email

O fluxo é agora associado ao evento OnSuccess do formulário de edição e podemos consultar o contato para obter o email.The flow is now associated with the OnSuccess event of the edit form, and we can refer to the contact for the email. A fórmula a seguir chama o fluxo com o endereço de email da pessoa que abriu a ocorrência, bem como uma linha do assunto e o corpo do email.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")

Isso é tudo sobre como adicionar uma fonte de dados ao aplicativo e disparar um fluxo que envia um email.That's it for adding a data source to the app, and triggering a flow that sends an email. Se você ainda não assistiu aos vídeos nesta seção, recomendamos faze-lo.If you haven't watched the videos in this section already, we encourage you to do it. Eles tratam de muitos dos detalhes pelos quais passamos rapidamente nos tópicos.They fill in lots of the details that we've moved through quickly in the topics.

ConcluindoWrapping it all up

Isso nos leva ao final desta seção.This brings us to the end of this section. Esperamos que você tenha gostado e aprendido bastante.We hope you've enjoyed it and learned a ton. Começamos gerando um aplicativo básico de uma entidade e exploramos um pouco o aplicativo para entender como ele é formado.We started out generating a basic app from an entity, and explored the app a little to understand how it's put together. Passamos um bom tempo estudando como personalizar o aplicativo, então adicionamos uma fonte de dados e vimos como disparar um fluxo.We spent a good deal of time on customizing the app, then added a data source and saw how to trigger a flow. Criamos um aplicativo de gerenciamento de ocorrências específicas nesta seção, mas as habilidades que você adquiriu podem ser aplicadas a muitos tipos de aplicativos.We built out a specific case management app in this section, but the skills you learned could be applied to many types of apps. Conforme mencionado no início desta seção, se você desejar se aprofundar em um aplicativo de gerenciamento de ocorrências mais complexo, não deixe de conferir o modelo que está disponível no PowerApps Studio para 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.

Em seguida, passaremos para o gerenciamento de aplicativos.Next up we'll move into managing apps. A seção de gerenciamento mostra como compartilhar e realizar o controle de versão de aplicativos; além disso, ela apresenta os ambientes, que são contêineres para aplicativos, dados e outros recursos.The management section shows you how to share and version apps, and introduces environments, which are containers for apps, data, and other resources.

Parabéns!

Você concluiu a seção Criando um aplicativo pelo Common Data Service do Aprendizado Guiado do Microsoft PowerApps.You've completed the Creating an app from the Common Data Service section of Microsoft PowerApps Guided Learning.

Você aprendeu como...

Próximo Tutorial

Gerenciando aplicativosManaging apps

Colaboradores

  • Michael Blythe
  • olprod
  • Alisha-Acharya