Tworzenie aplikacji z poziomu usługi Common Data ServiceCreating an app from the Common Data Service

Wygeneruj aplikację z trzema ekranami przy użyciu usługi Common Data Service, a następnie poznaj ekrany i kontrolki w aplikacji.Generate a three screen app from the Common Data Service, then explore screens and controls from the app. Aktualizuj ekrany, kontrolki i pola aplikacji; użyj dodatkowych danych i wyzwól przepływ z poziomu aplikacji.Update app screens, controls, and fields; bring in additional data and trigger a flow from the app.

Dowiesz się, jak...

Generowanie aplikacjiGenerate an app

W tej sekcji kursu utworzymy aplikację na podstawie jednostek w usłudze Common Data Service.In this section of the course, we'll create an app based on entities in the Common Data Service. Jednostki są fragmentami współdzielonych danych, które można modyfikować, przechowywać i pobierać, a także wchodzić z nimi w interakcję.Entities are chunks of shared data that can be modified, stored, retrieved, and interacted with. Wygenerujemy aplikację na podstawie jednostki oraz przedstawimy sposób dostosowywania tej aplikacji, dodawania nowego źródła danych i wywoływania przepływu z poziomu aplikacji.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. Jeśli znasz już sekcję dotyczącą tworzenia aplikacji na podstawie listy programu SharePoint, niektóre z omawianych zagadnień będą się pokrywać, ale tu zostaną one pogłębione, zwłaszcza w części dotyczącej dostosowywania aplikacji.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.

Utworzymy aplikację do zarządzania sprawami, która mogłaby być używana w dziale informatycznym w celu śledzenia, kategoryzowania i rozwiązywania problemów związanych ze sprzętem i oprogramowaniem w organizacji.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. Podczas tego kursu mogą przyjść Ci do głowy inne zastosowania podobnej aplikacji.As you go through the topics, you might also think of other uses for an app like this. Użyjemy tu danych z usługi Common Data Service, ponieważ jest ona doskonale przystosowana do przechowywania danych aplikacji, ale można utworzyć taką samą aplikację na podstawie innego źródła danych.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.

Usługa PowerApps zawiera również bardziej złożony szablon aplikacji do zarządzania sprawami, zawierający takie same jednostki, jak aplikacja, którą tu utworzymy.PowerApps includes a more complex Case Management template that uses the same entities as the app we'll build. Zachęcamy do zapoznania się z tym szablonem po ukończeniu tej sekcji, co pozwoli Ci lepiej poznać możliwości tworzenia aplikacji w usłudze 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.

Tworzenie bazy danych Common Data ServiceCreate a Common Data Service database

Pierwszym krokiem procesu tworzenia aplikacji jest utworzenie bazy danych Common Data Service, o ile nie została jeszcze utworzona.The first step in building this app is to create a Common Service database if you don't already have one. Baza danych Common Data Service jest tworzona w środowisku.You create a Common Data Service database in an environment. Środowisko to kontener dla aplikacji i innych zasobów (więcej informacji na temat środowisk zostanie przedstawionych w dalszej części kursu).An environment is a container for apps and other resources (you'll learn more about environments later in the course). Administrator środowiska może utworzyć bazę danych, wykonując następujące czynności (jeśli nie jesteś administratorem, skontaktuj się z administratorem w swojej organizacji).An environment admin can follow these steps to create a database (if you're not an admin, check with an admin in your organization).

Na karcie Narzędzia główne kliknij pozycję Utwórz bazę danych.From the Home tab, click Create Database.

Tworzenie bazy danych Common Data Service

Określ, czy chcesz ograniczyć dostęp do bazy danych (w tym przykładzie pozostawimy nieograniczony dostęp), a następnie kliknij przycisk Utwórz moją bazę danych.Specify whether you want to restrict access to the database (we'll keep it open), then click Create my database.

Określanie dostępu w usłudze Common Data Service

Po zakończeniu procesu zostaną wyświetlone wszystkie jednostki standardowe znajdujące się we wspólnym modelu danych.When the process is complete, you see all the standard entities that are included in the common data model. Poniżej przedstawiono niektóre z nich.Some of them are shown below.

Jednostki standardowe usługi Common Data Service

Generowanie aplikacji na podstawie jednostki CaseGenerate an app from the Case entity

Po utworzeniu bazy danych połączymy się z jednostką Case i wygenerujemy aplikację.Now that the database is created, we connect to the Case entity and generate an app. Kliknij pozycję Nowa aplikacja, a następnie pozycję PowerApps Studio dla sieci Web.Click New app, then PowerApps Studio for web.

Nowa aplikacja w programie PowerApps Studio dla sieci Web

Tworzymy aplikację na telefony na podstawie jednostki usługi Common Data Service, dlatego w obszarze Common Data Service należy kliknąć lub nacisnąć pozycję Układ telefonu.We're building a phone app for a Common Data Service entity, so under Common Data Service click or tap Phone layout.

Aplikacja na telefon utworzona przy użyciu usługi Common Data Service

Na kolejnym ekranie wybierz połączenie oraz jednostkę, z którą chcesz się połączyć, a następnie kliknij przycisk Połącz.In the next screen, you choose a connection and an entity to connect to, then click Connect.

Łączenie z jednostką Case

Po kliknięciu przycisku Połącz w usłudze PowerApps rozpoczyna się generowanie aplikacji.After you click Connect, PowerApps starts to generate the app. Usługa PowerApps dokładnie analizuje Twoje dane, aby wygenerować przydatną aplikację jako punkt wyjścia.PowerApps makes all sorts of inferences about your data so that it generates a useful app as a starting point.

Wyświetlanie aplikacji w programie PowerApps StudioView the app in PowerApps Studio

Twoja nowa aplikacja składająca się z trzech ekranów zostanie otwarta w programie PowerApps Studio.Your new three-screen app opens in PowerApps Studio. Wszystkie aplikacje wygenerowane na podstawie danych mają ten sam zestaw ekranów:All apps generated from data have the same set of screens:

  • Ekran przeglądania, na którym możesz przeglądać, sortować, filtrować i odświeżać dane pobierane z listy, a także dodawać elementy, klikając ikonę (+).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.
  • Ekran szczegółów, na którym możesz wyświetlać dodatkowe szczegóły wybranego elementu, a także usunąć go lub edytować.The details screen: where you view more detail about an item, and can choose to delete or edit the item.
  • Ekran edytowania/tworzenia, który umożliwia edytowanie istniejącego elementu lub utworzenie nowego.The edit/create screen: where you edit an existing item or create a new one.

Na lewym pasku nawigacyjnym kliknij lub naciśnij ikonę w prawym górnym rogu, aby przełączyć się do widoku miniatur.In the left navigation bar, click or tap an icon in the upper-right corner to switch to the thumbnail view.

Przełączanie widoków

Klikaj lub naciskaj poszczególne miniatury, aby wyświetlać kontrolki na danym ekranie.Click or tap each thumbnail to view the controls on that screen.

Wygenerowana aplikacja

W następnej części omówimy utworzoną aplikację bardziej szczegółowo, a następnie przedstawimy sposób dostosowywania jej do określonych potrzeb.Next we'll explore the app in more detail and then customize it to better suit our needs.

Eksplorowanie wygenerowanej aplikacjiExplore a generated app

W tym temacie przyjrzymy się bliżej wygenerowanej aplikacji, omawiając ekrany i kontrolki definiujące działanie aplikacji.In this topic, we look more closely at the generated app - reviewing the screens and controls that define the app's behavior. Nie zostaną tu omówione wszystkie szczegóły, ale zapoznanie się ze sposobem działania tej aplikacji pomoże Ci w tworzeniu własnych.We won't go through all the details, but seeing more about how this app works will help you to build your own apps. W jednym z kolejnych tematów omówimy formuły używane wraz z ekranami i kontrolkami.In a later topic, we'll look at the formulas that work with screens and controls.

Uruchamianie aplikacji w trybie podgląduRun the app in preview mode

Kliknij lub naciśnij ikonęClick or tap Strzałka uruchamiania podglądu aplikacji w prawym górnym rogu, aby uruchomić aplikację.in the top right to run the app. Jeśli przyjrzysz się różnym elementom aplikacji, zobaczysz, że zawiera wszystkie dane z jednostki i zapewnia dobre domyślne środowisko.If you navigate through the app, you see that it includes data from the entity and provides a good default experience.

Uruchamianie aplikacji w trybie podglądu

Opis kontrolek w usłudze PowerAppsUnderstanding controls in PowerApps

Kontrolka to po prostu element interfejsu użytkownika, do którego są przypisane określone działania.A control is simply a UI element that has behaviors associated with it. Usługa PowerApps zawiera wiele kontrolek znanych z innych aplikacji, takich jak etykiety, pola tekstowe, listy rozwijane, elementy nawigacyjne itp.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. Ale w usłudze PowerApps są dostępne również bardziej wyspecjalizowane kontrolki, takie jak Galerie (w których wyświetlane są dane podsumowania) oraz Formularze (w których wyświetlane są dane szczegółowe i w których można tworzyć oraz edytować elementy).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). Dostępne są również inne naprawdę ciekawe kontrolki, takie jak Obraz, Aparat czy Kod kreskowy.And also some other really cool controls like Image, Camera, and Barcode. Aby poznać dostępne opcje, kliknij lub naciśnij pozycję Wstaw na wstążce, a następnie klikaj lub naciskaj poszczególne opcje, od pozycji Tekst do pozycji Ikony.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.

Karta kontrolek na wstążce w programie PowerApps Studio

Poznawanie ekranu przeglądaniaExplore the browse screen

Każdy z trzech ekranów aplikacji zawiera kontrolkę główną oraz kontrolki dodatkowe.Each of the three app screens has a main control and some additional controls. Pierwszym ekranem w aplikacji jest ekran przeglądania, domyślnie noszący nazwę BrowseScreen1.The first screen in the app is the browse screen, named BrowseScreen1 by default. Główną kontrolką na tym ekranie jest galeria o nazwie BrowseGallery1.The main control on this screen is a gallery named BrowseGallery1. Kontrolka BrowseGallery1 zawiera inne kontrolki, takie jak NextArrow1 (kontrolka w postaci ikony — kliknięcie lub naciśnięcie jej spowoduje przejście do ekranu szczegółów).BrowseGallery1 contains other controls, like NextArrow1 (an icon control - click or tap it to go to the details screen). Na ekranie znajdują się również oddzielne kontrolki, takie jak IconNewItem1 (kontrolka w postaci ikony — kliknięcie lub naciśnięcie jej spowoduje utworzenie elementu na ekranie edytowania/tworzenia).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).

Ekran przeglądania z kontrolkami

W usłudze PowerApps jest dostępnych wiele typów galerii, dzięki czemu możesz użyć tego, który najlepiej spełnia Twoje wymagania związane z układem aplikacji.PowerApps has a variety of gallery types so you can use the one that best suits your app's layout requirements. Później w tej sekcji poznasz więcej sposobów określania układu.You will see more ways to control layout later in this section.

Opcje galerii w usłudze PowerApps

Poznawanie ekranu szczegółówExplore the details screen

Następnym ekranem jest ekran szczegółów, domyślnie nazwany DetailScreen1.Next is the details screen, named DetailScreen1 by default. Główną kontrolką na tym ekranie jest formularz wyświetlania o nazwie DetailForm1.The main control on this screen is a display form named DetailForm1. Formularz DetailForm1 zawiera inne kontrolki, takie jak DataCard1 (kontrolka w postaci karty, w tym przypadku wyświetlająca kategorię pytania).DetailForm1 contains other controls, like DataCard1 (a card control, which displays the question category in this case). Na ekranie znajdują się również oddzielne kontrolki, takie jak IconEdit1 (kontrolka w postaci ikony — kliknięcie lub naciśnięcie jej umożliwia edytowanie bieżącego elementu na ekranie edytowania/tworzenia).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).

Ekran szczegółów z kontrolkami

Istnieje wiele opcji galerii, ale formularze są prostsze — dostępne typy to formularz edycji i formularz wyświetlania.There are lots of gallery options, but forms are more straightforward - it's either an edit form or a display form.

Opcje formularzy w usłudze PowerApps

Poznawanie ekranu edytowania/tworzeniaExplore the edit/create screen

Trzecim ekranem w aplikacji jest ekran edytowania/tworzenia, domyślnie noszący nazwę EditScreen1.The third screen in the app is the edit/create screen, named EditScreen1 by default. Główną kontrolką na tym ekranie jest formularz edycji o nazwie EditForm1.The main control on this screen is an edit form named EditForm1. Formularz EditForm1 zawiera inne kontrolki, takie jak DataCard8 (kontrolka w postaci karty, w tym przypadku umożliwiająca edytowanie kategorii pytania).EditForm1 contains other controls, like DataCard8 (a card control, which allows you to edit the question category in this case). Na ekranie znajdują się również oddzielne kontrolki, takie jak IconAccept1 (kontrolka w postaci ikony — kliknięcie lub naciśnięcie jej spowoduje zapisanie zmian wprowadzonych na ekranie edytowania/tworzenia).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).

Ekran edytowania z kontrolkami

Ponieważ znasz już strukturę aplikacji obejmującą ekrany i kontrolki, w następnym temacie omówimy sposoby dostosowywania aplikacji.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.

Dostosowywanie aplikacjiCustomize the app

W pierwszych dwóch tematach w tej sekcji wygenerowana została aplikacja na podstawie jednostki usługi Common Data Service, a następnie zostały przedstawione informacje w celu lepszego zrozumienia budowy aplikacji składającej się z trzech ekranów.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. Aplikacja wygenerowana przez usługę PowerApps jest przydatna, ale często dojdziesz do wniosku, że warto ją dostosować.The app that PowerApps generated is useful, but you will often customize an app after it's generated. W tym temacie omówimy pewne zmiany wprowadzane w ramach ekranu przeglądania aplikacji.In this topic, we'll walk through some changes for the browse screen of the app. Można dostosowywać każdy ekran, ale chcemy skupić się na jednym i przekazać bardziej szczegółowe informacje dotyczące jego dostosowywania.You can customize any of the screens, but we wanted to focus on one and provide a bit more depth to the customizations. Zachęcamy do podjęcia próby dostosowania dowolnej wygenerowanej aplikacji — na podstawie jednostki, pliku programu Excel lub innego źródła.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. Jest to zdecydowanie najlepszy sposób, aby dowiedzieć się, w jaki sposób tworzone są aplikacje.It really is the best way to learn how apps are put together.

Podczas generowania aplikacji to w usłudze PowerApps określany jest jej układ oraz pola wyświetlane na poszczególnych ekranach.When PowerApps generated the app, it decided on a layout to use, and particular fields to show on each screen. W przypadku tej aplikacji wybierzmy kontrolkę galerii z paskiem stanu, który zostanie wkrótce dostosowany.For this app, let's choose a gallery control that has a status bar (we'll customize the status bar shortly). W okienku po prawej stronie kliknij kartę Układ, a następnie wybierz żądany układ.In the right-hand pane, on the Layout tab, select the layout you want. Wyniki zostaną wyświetlone od razu, ponieważ usługa PowerApps aktualizuje aplikacje na bieżąco, w miarę wprowadzania zmian.You see the results right away because PowerApps updates the app as you make changes.

Zmienianie układu ekranu przeglądania

Po wybraniu właściwego układu można zmienić wyświetlane pola.With the right basic layout, now change the fields that are displayed. Kliknij lub naciśnij pole w ramach pierwszego elementu, a następnie w okienku po prawej stronie zmień wyświetlane dane poszczególnych elementów.Click or tap a field in the first item, then in the right-hand pane, change the data that is displayed for each item. Zapewnia to lepsze podsumowanie każdego elementu w obiekcie.This provides a better summary of each item in the entity.

Zmienianie pól na ekranie przeglądania

Zmienianie układu aplikacjiChange the app theme

Usługa PowerApps udostępnia zestaw motywów, podobnych do tych z programu PowerPoint, które można użyć w aplikacji.PowerApps provides a set of themes you can use in your app, much like PowerPoint. Na poniższym ekranie widoczny jest motyw Dune i proste logo wklejone do aplikacji.In the following screen, you see the Dune theme applied, and a simple logo that we pasted into the app. Są to podstawowe modyfikacje, które mogą jednak znacznie poprawić wygląd aplikacji.These are basic changes, but can do a lot to improve the appearance of your app.

Zmienianie motywu i dodawanie logo

Używanie formuły do wyświetlania stanu przypadkuUse a formula to show the case status

Jedną z głównych korzyści korzystania z usługi PowerApps jest brak konieczności pisania tradycyjnego kodu aplikacji — nie musisz być zatem programistą, aby tworzyć aplikacje.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! W dalszym ciągu konieczny jest jednak sposób na wyrażenie logiki aplikacji w celu kontrolowania nawigacji, filtrowania, sortowania i innych funkcji w ramach aplikacji.But you still need a way to express logic in an app and to control an app’s navigation, filtering, sorting, and other functionality. Do tego właśnie służą formuły.This is where formulas come in.

Jeśli masz doświadczenie w korzystaniu z formuł programu Excel, podejście użyte w usłudze PowerApps powinno wydać Ci się znajome.If you have used Excel formulas, the approach that PowerApps takes should feel familiar. Załóżmy, że pasek stanu ma być wyświetlany w kolorze zielonym, jeśli przypadek został rozwiązany, lub w kolorze czerwonym, jeśli przypadek nie został rozwiązany.Suppose you want to show the status bar in green if a case is resolved, or in red otherwise. Aby to zrobić, wybierz kontrolkę stanu na ekranie, a następnie ustaw na pasku formuły właściwość Wypełnienie tej kontrolki na wartość następującej formuły: 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). Formuła ta przypomina formułę programu Excel, ale formuły usługi PowerApps odnoszą się do kontrolek i innych elementów aplikacji, a nie komórek w arkuszu kalkulacyjnym.This is like an Excel formula, but PowerApps formulas refer to controls and other app elements rather than cells in a spreadsheet. Na poniższej ilustracji pokazano, gdzie należy ustawić formułę, a także wynik jej działania w aplikacji.The following image shows where to set the formula, and the result in the app.

Formuła służąca do wyświetlania stanu przypadku

Sortowanie i filtrowanie na podstawie datySort and filter based on date

Na ekranie przeglądania wygenerowana aplikacja umożliwia wyszukiwanie przypadków i sortowanie listy elementów w galerii.On the browse screen, the generated app lets you search for cases and sort the list of items in the gallery. Usuniemy funkcję wyszukiwania i sortowania, aby przypadku były wyświetlane na podstawie daty.We're going to remove the search and sort functionality in favor of showing cases based on a date. Można połączyć te metody, ale w przypadku tej aplikacji skupimy się na podejściu związanym z datą.You could combine these methods, but we'll focus on the date-based approach for this app. Na poniższej ilustracji widoczne są dodane elementy:In the image below, you see the items we added:

  • Etykieta tekstowa („Pokaż przypadki późniejsze niż:”), aby użytkownicy wiedzieli, co należy zrobić: Wstaw > Tekst > Etykieta; zmień formułę Fill na wartość Biały.A text label ("Show cases after:") so users know what to do: Insert > Text > Label; change the Fill formula to White.
  • Wybór daty: Wstaw > Kontrolki > Selektor daty.A date picker: Insert > Controls > Date picker.
  • Formuła, której łączy właściwość Elementy galerii przeglądania z selektorem daty: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).A formula that connects the browse gallery Items property to the date picker: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).

Data jest ustawiona na 20 października, a wynikiem jest wyświetlanie przez aplikację przypadków utworzonych po tej dacie.The date is set to Oct 20 and you see the result that the app is showing the cases created after this date. Należy zauważyć, że domyślnie wszystkie przypadki w ramach jednostki mają taką samą datę ostatniej modyfikacji.Note that by default, all cases in the entity have the same last modified date. Można zaktualizować jeden przypadek (lub więcej), aby sprawdzić, jak działa filtrowanie.You can update one or more to see how filtering works. Operacje na danych jednostki zostaną omówione w dalszej części tego kursu.We cover working with entity data later in the course.

Aplikacja zaktualizowana do używania selektora daty

Wyświetlanie łącznej liczby przypadkówShow total number of cases

W tym temacie omawianych jest wiele zagadnień, ale to już prawie koniec dostosowań.We're covering a lot of ground here, but we're almost done with the customizations. Ostatnią czynnością, jaką wykonamy w ramach tego tematu, będzie dodanie etykiet, w których będą wyświetlane dwie liczby: łączna liczba przypadków i liczba przypadków zgodnych z filtrem na podstawie daty.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.

Wyświetlanie łącznej liczby przypadków i liczby odfiltrowanych przypadków

W tym filmie szczegółowo opisano sposób dodawania dwóch etykiet, ale poniżej przedstawiono podstawowe informacje dotyczące właściwości, które możemy ustawić dla każdej etykiety: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:

  • Wyrównaj = CenterAlign = Center
  • Szerokość = Parent.Width/2Width = Parent.Width/2
  • Lewe pole Tekst = "Total cases: " & CountRows(Case).Left box Text = "Total cases: " & CountRows(Case). Obejmuje to wszystkie przypadki, które znajdują się w jednostce.This includes all cases that are in the entity.
  • Prawe pole Tekst = Filtered cases: " & CountRows(BrowseGallery1.AllItems).Right box Text = Filtered cases: " & CountRows(BrowseGallery1.AllItems). Obejmuje to tylko przypadki zgodne z filtrem na podstawie daty.This includes only those cases that match the date-based filter.

Zamyka to temat dostosowywania aplikacji — w następnym temacie zostanie dodane źródło danych i przepływ oraz zostanie pokazana gotowa aplikacja.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.

Dodawanie przepływu i źródła danychAdd a data source and flow

Do tej pory w tej sekcji została wygenerowana aplikacja na podstawie jednostki Case z usługi Common Data Service, przedstawione zostały informacje dotyczące sposobu tworzenia aplikacji, a sama aplikacja została dostosowana na kilka sposobów.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. W ostatnim temacie w tej sekcji użyta zostanie inna standardowa jednostka, a za pomocą usługi Microsoft Flow zostanie wysłana wiadomości e-mail.In the final topic for this section, we will bring in another standard entity, and use Microsoft Flow to send an email. Aplikacja wyzwoli przepływ, dzięki czemu osoba, która otworzy przypadek, zostanie powiadomiona po jego aktualizacji.The app will trigger a flow so that the person who opened a case is notified when the case is updated. W tym temacie wykonywany jest określony scenariusz, ale nabyte dzięki niemu umiejętności będzie można użyć w wielu różnych aplikacjach.We're completing a particular scenario in this topic, but the skills you learn are applicable across many kinds of apps. Zacznijmy od jednostek.Let's get started with the entities.

Przegląd relacji między jednostkamiReview entity relationships

Wkrótce zostanie dodana jednostka Contact, ale najpierw spójrzmy, jaka jest relacja między jednostkami Case, a Contact.We'll add the Contact entity shortly, but first we'll look at how the Case and Contact entities relate to each other. W przypadku jednostki Case jednym z pól jest pole CurrentContact z typem danych Wyszukaj.In the Case entity, you see that one of the fields is CurrentContact, with a data type of Lookup. Oznacza to, że to pole jest używane w relacji z inną tabelą.This means that this field is used in a relationship with another table.

Pola jednostki Case

Na karcie Relacje wyświetlana jest informacja, że powiązana jednostka to Contact.On the Relationships tab, you see that the related entity is Contact. Pamiętaj o tym, ponieważ ta relacja będzie używana w dalszej części tego tematu.Keep that in mind because we will use this relationship later in this topic.

Relacje między jednostkami Case

Dodawanie jednostki do aplikacjiAdd an entity to the app

Dodawanie źródła danych w usłudze PowerApps jest bardzo proste.Adding a data source in PowerApps is straightforward. W okienku po prawej stronie kliknij lub naciśnij pozycję Źródło danych, a następnie pozycję Dodaj źródło danych.In the right-hand pane, click or tap Data sources, then Add data source. Dla tego przypadku wybierz połączenie Common Data Service, a następnie wybierz jednostkę Contact.In this case, then choose the Common Data Service connection and select the Contact entity. Po kliknięciu lub naciśnięciu pozycji Połącz jednostka zostanie dodana do aplikacji.After you click or tap Connect, the entity is added to the app.

Dodawanie jednostki Contact

Należy pamiętać, że w tym przykładzie dodawane są dane z innej jednostki, ale w aplikacji można połączyć dane z wielu źródeł.Note that in this example, we're adding data from another entity, but you can combine data from many sources in your apps.

Wyszukiwanie informacji kontaktowychLook up contact information

Teraz, gdy mamy już dostęp do danych jednostki Contact w aplikacji, można jej użyć.Now that we have access to the Contact entity data in our app, it's time to put it to use. Jak opisano we wprowadzeniu, po zaktualizowaniu przypadku ma zostać wysłana wiadomość e-mail.As mentioned in the introduction, we want to send an email when a case is updated. W tym celu użyte zostaną dwie formuły i przepływ.We will use two formulas and a flow to accomplish this. Pierwsza formuła zostanie użyta na potrzeby ekranu edycji, a w szczególności właściwości OnSelect przycisku Zapisz.The first formula is for the edit screen, specifically the OnSelect property of the save button.

Ekran edycji aplikacji

Domyślnie ten przycisk używa formuły SubmitForm(EditForm1) do przesłania aktualizacji, gdy użytkownik dokona edycji danych w formularzu.By default, this button uses the formula SubmitForm(EditForm1) to submit the update when a user edits data in the form. Konieczne jest dodanie danych do formuły, aby najpierw wyszukane zostały informacje kontaktowe dla osoby, która otworzyła bieżący przypadek, a następnie zostały one zapisane lokalnie w aplikacji: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)

Jest to nieco złożone, ale James w doskonały sposób szczegółowo wytłumaczył działanie tej formuły — można to zobaczyć w filmie od momentu 2:04.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.

Wyzwalanie przepływu z poziomu aplikacjiTrigger a flow from the app

Gdy wiemy, kto jest kontaktem w ramach każdego przypadku, możemy wysyłać tym osobom wiadomość e-mail.Now that we know who the contact is for each case, we can send an email to them. Możliwe jest wysłanie wiadomości e-mail bezpośrednio z aplikacji, ale na potrzeby tego przykładu pokażemy sposób wyzwolenia przepływu z poziomu aplikacji.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. Poniżej przedstawiono przepływ, który jest tak prosty, jak to tylko możliwe: wysyła wiadomość e-mail na podstawie akcji w aplikacji.Here's the flow, which is as simple as it gets: send an email based on an action in an app. W tym miejscu nie będą przedstawiane dodatkowe szczegóły dotyczące przepływów, ale istnieje cała seria Nauka krok po kroku dotycząca usługi Microsoft Flow.We won't get into more detail on flows here, but there is a whole Guided Learning series for Microsoft Flow.

Przepływ służący do wysyłania wiadomości e-mail

W aplikacji należy wywołać przepływ na podstawie zdarzenia.Back in the app, we need to call the flow based on an event. W tym celu zostanie użyta właściwość OnSuccess formularza edycji, aby przepływ został wyzwolony po pomyślnym zakończeniu edycji.We'll use the OnSuccess property of the edit form, so the flow is triggered when the edit succeeds. Kliknij lub naciśnij formularz edycji, a następnie na wstążce kliknij lub naciśnij pozycję Akcja > Przepływy.Click or tap the edit form, then on the ribbon click or tap Action > Flows. Wybierz przepływ, którego chcesz użyć.Select the flow you want to use.

Przepływ służący do wysyłania wiadomości e-mail

Przepływ jest teraz skojarzony ze zdarzeniem OnSuccess formularza edycji i można odwołać się do kontaktu w celu wysłania wiadomości e-mail.The flow is now associated with the OnSuccess event of the edit form, and we can refer to the contact for the email. Następująca formuła służy do wywołania przepływu z adresem e-mail osoby, która otworzyła przypadek, a także wierszem tematu i treścią wiadomości e-mail.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")

To wszystkie informacje dotyczące dodawania źródła danych do aplikacji i wyzwalania przepływu, który powoduje wysłanie wiadomości e-mail.That's it for adding a data source to the app, and triggering a flow that sends an email. Zachęcamy do obejrzenia filmów znajdujących się w tej sekcji.If you haven't watched the videos in this section already, we encourage you to do it. Zawierają one wiele szczegółowych informacji dotyczących kwestii poruszanych w tych tematach jedynie w sposób ogólny.They fill in lots of the details that we've moved through quickly in the topics.

PodsumowanieWrapping it all up

W ten sposób dotarliśmy do końca tej sekcji.This brings us to the end of this section. Mamy nadzieję, że kurs spełnił Twoje oczekiwania i umożliwił zdobycie odpowiedniej wiedzy.We hope you've enjoyed it and learned a ton. Rozpoczęliśmy od generowania podstawowej aplikacji na podstawie jednostki, a następnie zostały przedstawione informacje dotyczące sposobu tworzenia aplikacji.We started out generating a basic app from an entity, and explored the app a little to understand how it's put together. Poświęciliśmy dużo czasu na dostosowanie aplikacji, a następnie dodaliśmy źródło danych i poznaliśmy sposób wyzwalania przepływu.We spent a good deal of time on customizing the app, then added a data source and saw how to trigger a flow. W tej sekcji utworzyliśmy specyficzną aplikację służącą do zarządzania przypadkami, ale nabyte w tym czasie umiejętności będą miały zastosowanie do wielu typów aplikacji.We built out a specific case management app in this section, but the skills you learned could be applied to many types of apps. Jak wspomniano na początku tej sekcji — jeśli chcesz uzyskać szczegółowe informacje dotyczące bardziej złożonych aplikacji do zarządzania przypadkami, zapoznaj się z szablonem dostępnym w programie PowerApps Studio dla systemu 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.

Następnym omawianym zagadnieniem będzie zarządzanie aplikacjami.Next up we'll move into managing apps. W sekcji dotyczącej zarządzania znajdują się informacje dotyczące sposobu udostępniania aplikacji i tworzenia ich wersji, a także wprowadzenie do środowisk, czyli kontenerów dla aplikacji, danych i innych zasobów.The management section shows you how to share and version apps, and introduces environments, which are containers for apps, data, and other resources.

Gratulacje!

Ukończono sekcję Tworzenie aplikacji z poziomu usługi Common Data Service przewodnika Nauka krok po kroku dla usługi Microsoft PowerApps.You've completed the Creating an app from the Common Data Service section of Microsoft PowerApps Guided Learning.

Teraz już wiesz, jak...

Następny samouczek

Zarządzanie aplikacjamiManaging apps

Współautorzy

  • Michael Blythe
  • olprod