Common Data Service’ten uygulama oluşturmaCreating an app from the Common Data Service

Common Data Service'ten üç ekranlı bir uygulama oluşturun ve ardından uygulamadan ekranları ve denetimleri inceleyin.Generate a three screen app from the Common Data Service, then explore screens and controls from the app. Uygulama ekranlarını, denetimlerini ve alanları güncelleştirin; uygulamadan bir akış tetikleyin ve ek veri getirin.Update app screens, controls, and fields; bring in additional data and trigger a flow from the app.

Şunları yapmayı öğreneceksiniz:

Uygulama oluşturmaGenerate an app

Kursun bu bölümünde Common Data Service'teki varlıklara dayalı bir uygulama oluşturacağız.In this section of the course, we'll create an app based on entities in the Common Data Service. Varlıklar değiştirilebilen, depolanabilen, alınabilen ve etkileşim kurulabilen paylaşılmış veri öbekleridir.Entities are chunks of shared data that can be modified, stored, retrieved, and interacted with. Varlıktan uygulama oluşturacak, uygulamayı nasıl özelleştireceğinizi gösterecek, başka bir veri kaynağı ekleyecek ve uygulamadan bir akış çağıracağız.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. SharePoint listesinden uygulama oluşturmaya ilişkin bölümü tamamladıysanız bazı konuları tekrarlayacağımızı ancak özellikle de uygulamayı özelleştirme konusunda daha fazla ayrıntı sağlayacağımızı söyleyebiliriz.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.

Bir kuruluş genelindeki donanım ve yazılım sorunlarının BT departmanı tarafından izlenmesi, önceliklerin belirlenmesi ve bunlarla ilgili harekete geçilmesi için kullanılabilecek bir servis talebi yönetimi uygulaması oluşturacağız.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. Konu başlıklarını incelerken böyle bir uygulamanın farklı kullanım şekillerini de düşünebilirsiniz.As you go through the topics, you might also think of other uses for an app like this. Uygulama verilerinin depolanmasına elverişli olduğu için Common Data Service verilerini kullanacağız ancak siz aynı uygulamayı farklı bir veri kaynağıyla da oluşturabilirsiniz.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'te, oluşturacağımız uygulamayla aynı varlıkları kullanan daha karmaşık bir Servis Talebi Yönetimi şablonu bulunmaktadır.PowerApps includes a more complex Case Management template that uses the same entities as the app we'll build. Bu bölümü tamamladıktan sonra PowerApps'te neler oluşturabileceğinizi anlamanız için bu şablonu incelemenizi öneriyoruz.After you've completed this section, we encourage you to explore that template to get a sense of what you can build in PowerApps.

Common Data Service veritabanı oluşturmaCreate a Common Data Service database

Veritabanınız yoksa bu uygulamayı oluşturmak için öncelikle bir Common Data Service veritabanı oluşturacağız.The first step in building this app is to create a Common Service database if you don't already have one. Common Data Service veritabanını bir ortamda oluşturursunuz.You create a Common Data Service database in an environment. Ortam, uygulamalar ve diğer kaynaklar için kapsayıcı işlevi görür. (Kursun ilerleyen bölümlerinde ortamlar hakkında daha fazla bilgi edineceksiniz.)An environment is a container for apps and other resources (you'll learn more about environments later in the course). Ortam yöneticisi bu adımları uygulayarak bir veritabanı oluşturabilir. (Yönetici değilseniz kuruluşunuzdaki bir yöneticiyle iletişime geçin.)An environment admin can follow these steps to create a database (if you're not an admin, check with an admin in your organization).

Giriş sekmesinde Veritabanı Oluştur'a tıklayın.From the Home tab, click Create Database.

Common Data Service veritabanı oluşturma

Veritabanına erişimi kısıtlamak isteyip istemediğinizi belirttikten sonra Veritabanımı oluştur'a tıklayın. (Biz veritabanına erişimi açık tutacağız.)Specify whether you want to restrict access to the database (we'll keep it open), then click Create my database.

Common Data Service veritabanına erişimi belirtme

İşlem tamamlandığında, ortak veri modelinde yer alan tüm standart varlıkları görürsünüz.When the process is complete, you see all the standard entities that are included in the common data model. Bunlardan bazıları aşağıda gösterilmiştir.Some of them are shown below.

Common Data Service'teki standart varlıklar

Servis Talebi varlığından uygulama oluşturmaGenerate an app from the Case entity

Veritabanı oluşturulduğuna göre Servis Talebi varlığına bağlanıp uygulama oluşturabiliriz.Now that the database is created, we connect to the Case entity and generate an app. Yeni uygulama'ya ve ardından Web için PowerApps Studio'ya tıklayın.Click New app, then PowerApps Studio for web.

Web için PowerApps Studio'da yeni uygulama oluşturma

Common Data Service varlığına ilişkin bir telefon uygulaması oluşturduğumuz için Common Data Service seçeneğinin altındaki Telefon düzeni düğmesine tıklayın veya dokunun.We're building a phone app for a Common Data Service entity, so under Common Data Service click or tap Phone layout.

Common Data Service'ten telefon uygulaması oluşturma

Bir sonraki ekranda, bir bağlantı ve bağlanacağınız bir varlık seçtikten sonra Bağlan'a tıklayın.In the next screen, you choose a connection and an entity to connect to, then click Connect.

Servis Talebi varlığına bağlanma

Bağlan düğmesine tıkladığınızda PowerApps, uygulamayı oluşturmaya başlar.After you click Connect, PowerApps starts to generate the app. PowerApps, başlangıç noktası olarak faydalı bir uygulama oluşturmak için verilerinizle ilgili her türlü çıkarımı yapar.PowerApps makes all sorts of inferences about your data so that it generates a useful app as a starting point.

Uygulamayı PowerApps Studio'da görüntülemeView the app in PowerApps Studio

Yeni üç ekranlı uygulamanız PowerApps Studio'da açılır.Your new three-screen app opens in PowerApps Studio. Verilerden oluşturulan tüm uygulamalar aynı ekran dizisine sahiptir:All apps generated from data have the same set of screens:

  • Göz atma ekranı: Burada, listeden çekilen verilere göz atabilmenin yanı sıra bu verileri sıralayabilir, filtreleyebilir ve yenileyebilirsiniz. Ayrıca (+) düğmesine tıklayarak öğe ekleyebilirsiniz.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.
  • Ayrıntılar ekranı: Burada bir öğeyle ilgili daha fazla ayrıntı görüntüleyebilir ve ilgili öğeyi silmeyi ya da düzenlemeyi seçebilirsiniz.The details screen: where you view more detail about an item, and can choose to delete or edit the item.
  • Düzenleme/oluşturma ekranı: Burada, var olan öğeleri düzenleyebilir veya yeni bir öğe oluşturursunuz.The edit/create screen: where you edit an existing item or create a new one.

Sol gezinti çubuğunda, küçük resim görünümüne geçmek için sağ üst köşedeki simgeye tıklayın veya dokunun.In the left navigation bar, click or tap an icon in the upper-right corner to switch to the thumbnail view.

Görünümler arasında geçiş yapma

Her bir küçük resme tıklayarak veya dokunarak söz konusu ekrandaki denetimleri görüntüleyin.Click or tap each thumbnail to view the controls on that screen.

Oluşturulan uygulama

Bir sonraki aşamada, uygulamayı daha ayrıntılı olarak inceleyecek ve ihtiyaçlarımızı daha iyi karşılayacak şekilde özelleştireceğiz.Next we'll explore the app in more detail and then customize it to better suit our needs.

Oluşturulan bir uygulamayı incelemeExplore a generated app

Bu konu başlığında, oluşturulan uygulamayı daha ayrıntılı bir şekilde ele almanın yanı sıra ekranları ve uygulamanın davranışını belirleyen denetimleri gözden geçireceğiz.In this topic, we look more closely at the generated app - reviewing the screens and controls that define the app's behavior. Tüm ayrıntılara değinmeyeceğiz ancak bu uygulamanın nasıl çalıştığıyla ilgili daha fazla bilgi edinmek kendi uygulamalarınızı oluşturmanıza yardımcı olacak.We won't go through all the details, but seeing more about how this app works will help you to build your own apps. Sonraki bir konu başlığında ekranlar ve denetimler için kullanılan formülleri inceleyeceğiz.In a later topic, we'll look at the formulas that work with screens and controls.

Uygulamayı önizleme modunda çalıştırmaRun the app in preview mode

Uygulamayı çalıştırmak için sağ üstte bulunanClick or tap Uygulama önizlemesini başlat oku düğmesine tıklayın veya dokunun.in the top right to run the app. Uygulamada gezindiğinizde varlığa ait verilerin yer aldığını ve uygulamanın, iyi bir varsayılan deneyim sunduğunu göreceksiniz.If you navigate through the app, you see that it includes data from the entity and provides a good default experience.

Uygulamayı önizleme modunda çalıştırma

PowerApps'teki denetimleri anlamaUnderstanding controls in PowerApps

Kısaca denetim, kendisiyle ilişkilendirilmiş davranışlara sahip bir kullanıcı arabirimi öğesidir.A control is simply a UI element that has behaviors associated with it. PowerApps'teki çoğu denetim, diğer uygulamalarda kullandığınız denetimlerle aynıdır: etiketler, giriş metin kutuları, açılan listeler, gezinti öğeleri vb.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. Ancak PowerApps, Galeriler (özet verileri görüntüler) ve Formlar (ayrıntı verilerini görüntülemenin yanı sıra öğe oluşturup düzenlemenizi sağlar) gibi daha özel denetimlere sahiptir.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). Ayrıca Görüntü, Kamera ve Barkod gibi diğer faydalı denetimler de vardır.And also some other really cool controls like Image, Camera, and Barcode. Mevcut seçenekleri görmek için şeritteki Ekle seçeneğine tıklayın veya dokunun, ardından Metin'den Simgeler'e kadar sunulan seçeneklerin her birine sırayla tıklayın veya dokunun.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.

PowerApps Studio şeridindeki denetimler

Göz atma ekranını inceleyinExplore the browse screen

Bu üç ekranın tümünde bir ana denetimin yanı sıra bazı ek denetimler vardır.Each of the three app screens has a main control and some additional controls. Uygulamadaki ilk ekran göz atma ekranıdır ve varsayılan olarak BrowseScreen1 şeklinde adlandırılmıştır.The first screen in the app is the browse screen, named BrowseScreen1 by default. Bu ekrandaki ana denetim, BrowseGallery1 adlı bir galeridir.The main control on this screen is a gallery named BrowseGallery1. BrowseGallery1'de NextArrow1 gibi diğer denetimler bulunur. NextArrow1 bir simge denetimidir. Ayrıntılar ekranına gitmek için bu denetime tıklayın veya dokunun.BrowseGallery1 contains other controls, like NextArrow1 (an icon control - click or tap it to go to the details screen). Ekranda IconNewItem1 gibi ayrı denetimler de bulunur. IconNewItem1 bir simge denetimidir. Düzenleme/oluşturma ekranında öğe oluşturmak için bu denetime tıklayın veya dokunun.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).

Denetimler içeren göz atma ekranı

PowerApps, çeşitli galeri türlerine sahiptir. Bu sayede uygulamanızın düzen gereksinimlerine en uygun galeri türünü kullanabilirsiniz.PowerApps has a variety of gallery types so you can use the one that best suits your app's layout requirements. Bu bölümün sonraki kısımlarında, düzeni denetlemek için kullanabileceğiniz diğer yollar hakkında bilgi edineceksiniz.You will see more ways to control layout later in this section.

PowerApps galeri seçenekleri

Ayrıntılar ekranını incelemeExplore the details screen

Bir sonraki ekran, varsayılan olarak DetailScreen1 şeklinde adlandırılmış ayrıntılar ekranıdır.Next is the details screen, named DetailScreen1 by default. Bu ekrandaki ana denetim, DetailForm1 adlı bir görüntüleme formudur.The main control on this screen is a display form named DetailForm1. DetailForm1, DataCard1 gibi başka denetimler de içerir. DataCard1 bir kart denetimidir ve bu örnekte, ilgili kategoriyi görüntülemektedir.DetailForm1 contains other controls, like DataCard1 (a card control, which displays the question category in this case). Ekranda IconEdit1 gibi ayrı denetimler de bulunur. IconEdit1 bir simge denetimidir. Düzenleme/oluşturma ekranında geçerli öğeyi düzenlemek için bu denetime tıklayın veya dokunun.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).

Denetimler içeren ayrıntılar ekranı

Çok sayıda galeri seçeneği vardır ancak formlar daha basittir. Yalnızca iki tür form vardır: düzenleme formu ve görüntüleme formu.There are lots of gallery options, but forms are more straightforward - it's either an edit form or a display form.

PowerApps form seçenekleri

Düzenleme/oluşturma ekranını inceleyinExplore the edit/create screen

Uygulamadaki üçüncü ekran, düzenleme/oluşturma ekranıdır. Bu ekranın adı varsayılan olarak EditScreen1 şeklindedir.The third screen in the app is the edit/create screen, named EditScreen1 by default. Bu ekrandaki ana denetim EditForm1 adlı bir düzenleme formudur.The main control on this screen is an edit form named EditForm1. EditForm1, DataCard8 gibi başka denetimler de içerir. DataCard8, bir kart denetimidir ve bu örnekte ilgili kategoriyi düzenlemenizi sağlar.EditForm1 contains other controls, like DataCard8 (a card control, which allows you to edit the question category in this case). Ekranda, IconAccept1 gibi ayrı denetimler de bulunur. IconAccept1 bir simge denetimidir. Düzenleme/oluşturma ekranında yaptığınız değişiklikleri kaydetmek için bu simgeye tıklayın veya dokunun.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).

Denetimler içeren düzenleme ekranı

Bu kısımda, uygulamadaki ekranların ve denetimlerin nasıl oluşturulduğuna ilişkin bir fikir edindiniz. Bir sonraki konu başlığında uygulamayı nasıl özelleştireceğinizi ele alacağız.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.

Uygulamayı özelleştirmeCustomize the app

Bu bölümdeki ilk iki konuda Common Data Service varlığından bir uygulama oluşturdunuz ve uygulamayı inceleyerek üç ekranlı uygulamaların nasıl oluşturulduğuna ilişkin daha kapsamlı bir fikir edindiniz.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. PowerApps'in oluşturduğu uygulamalar kullanışlıdır ancak uygulamaları genellikle oluşturduktan sonra özelleştirirsiniz.The app that PowerApps generated is useful, but you will often customize an app after it's generated. Bu konu başlığında, uygulamanın göz atma ekranına yönelik bazı değişiklikleri ele alacağız.In this topic, we'll walk through some changes for the browse screen of the app. Bu ekranların tümünü özelleştirebilirsiniz ancak biz tek bir ekrana odaklanıp özelleştirmelerle ilgili biraz daha fazla ayrıntı sağlamak istedik.You can customize any of the screens, but we wanted to focus on one and provide a bit more depth to the customizations. Varlıklardan, Excel dosyalarından veya başka kaynaklardan oluşturduğunuz herhangi bir uygulamayı nasıl özelleştirebileceğinizi görmek istiyoruz.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. Bu, uygulamaların nasıl oluşturulduğunu öğrenmenin en iyi yoludur.It really is the best way to learn how apps are put together.

PowerApps; uygulamayı oluşturduğunda, kullanılacak düzeni ve her ekranda gösterilecek alanları belirler.When PowerApps generated the app, it decided on a layout to use, and particular fields to show on each screen. Bu uygulama için durum çubuğu olan bir galeri denetimi seçelim. (Kısa bir süre sonra durum çubuğunu özelleştireceğiz.)For this app, let's choose a gallery control that has a status bar (we'll customize the status bar shortly). Sağ bölmede Düzen sekmesinden istediğiniz düzeni seçin.In the right-hand pane, on the Layout tab, select the layout you want. PowerApps siz değişiklik yaptığınız anda uygulamayı güncelleştirdiği için sonuçları anında görürsünüz.You see the results right away because PowerApps updates the app as you make changes.

Göz atma ekranı düzenini değiştirme

Doğru temel düzeni seçtiğinize göre şimdi de görüntülenen alanları değiştirin.With the right basic layout, now change the fields that are displayed. İlk öğedeki bir alana tıklayın veya dokunun, ardından sağ bölmede her öğe için görüntülenen verileri değiştirin.Click or tap a field in the first item, then in the right-hand pane, change the data that is displayed for each item. Burada, varlıktaki her öğenin daha kapsamlı bir özeti yer alır.This provides a better summary of each item in the entity.

Göz atma ekranındaki alanları değiştirme

Uygulama temasını değiştirmeChange the app theme

PowerApps tıpkı PowerPoint gibi uygulamanızda kullanabileceğiniz bir dizi tema sunar.PowerApps provides a set of themes you can use in your app, much like PowerPoint. Bir sonraki ekranda, Kumul temasının uygulandığını ve uygulamaya yapıştırdığımız basit bir logoyu görebilirsiniz.In the following screen, you see the Dune theme applied, and a simple logo that we pasted into the app. Bunlar temel değişikliklerdir ancak uygulamanızın görünümünün geliştirilmesine önemli ölçüde katkı sağlayabilir.These are basic changes, but can do a lot to improve the appearance of your app.

Temayı değiştirme ve logo ekleme

Formül kullanarak servis talebi durumunu göstermeUse a formula to show the case status

PowerApps'in en önemli avantajlarından biri de geleneksel uygulama kodları yazmak zorunda olmamanızdır. Uygulama oluşturmak için geliştirici olmanıza gerek yok!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! Ancak yine de bir uygulamada mantığı ifade etmek, uygulamanın gezintisini, filtrelemesini, sıralamasını ve diğer işlevlerini denetlemek için bir yönteme ihtiyaç duyarsınız.But you still need a way to express logic in an app and to control an app’s navigation, filtering, sorting, and other functionality. Formüller bu noktada devreye girer.This is where formulas come in.

Excel formüllerini kullandıysanız PowerApps'in yaklaşımı size tanıdık gelecektir.If you have used Excel formulas, the approach that PowerApps takes should feel familiar. Durum çubuğunun, servis talebi çözümlendiğinde yeşil renkte; çözümlenmediğinde kırmızı renkte görünmesini istediğinizi varsayın.Suppose you want to show the status bar in green if a case is resolved, or in red otherwise. Bunu yapmak için ekrandaki durum denetimini seçmeniz ve formül çubuğunda, bu denetimin Fill özelliğini şu formüle ayarlamanız gerekir: 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). Bu bir Excel formülü gibidir ancak PowerApps formülleri, elektronik tablolardaki hücreler yerine denetimlere ve diğer uygulama öğelerine başvurur.This is like an Excel formula, but PowerApps formulas refer to controls and other app elements rather than cells in a spreadsheet. Aşağıdaki görüntüde, formülün nerede ayarlanacağı ve uygulamadaki sonucu gösterilmektedir.The following image shows where to set the formula, and the result in the app.

Servis talebi durumunu gösteren formül

Tarihe göre sıralama ve filtrelemeSort and filter based on date

Oluşturulan uygulama, göz atma ekranında servis taleplerini aramanıza ve galerideki öğe listesini sıralamanıza olanak tanır.On the browse screen, the generated app lets you search for cases and sort the list of items in the gallery. Arama ve sıralama işlevini, servis talepleri tarihe göre gösterilecek şekilde kaldıracağız.We're going to remove the search and sort functionality in favor of showing cases based on a date. Bu yöntemleri birleştirebilirsiniz ancak bu uygulama için tarih temelli yaklaşıma odaklanacağız.You could combine these methods, but we'll focus on the date-based approach for this app. Aşağıdaki görüntüde, eklediğimiz öğeleri görebilirsiniz:In the image below, you see the items we added:

  • Kullanıcıların ne yapacaklarını bilmesi için bir metin etiketi ("Şu tarihten sonraki servis taleplerini göster:"): Ekle > Metin > Etiket'i seçin ve ardından Fill formülünü White olarak değiştirin.A text label ("Show cases after:") so users know what to do: Insert > Text > Label; change the Fill formula to White.
  • Tarih seçici: Ekle > Denetimler > Tarih seçici'yi seçin.A date picker: Insert > Controls > Date picker.
  • Göz atma galerisinin Items özelliğini tarih seçiciye bağlayan bir formül: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).A formula that connects the browse gallery Items property to the date picker: Filter(Case, DatePicker1.SelectedDate < LastModifiedDateTime).

Tarih 20 Ekim olarak ayarlanmış durumda ve gördüğünüz üzere uygulama, bu tarihten sonra oluşturulan servis taleplerini gösteriyor.The date is set to Oct 20 and you see the result that the app is showing the cases created after this date. Varsayılan olarak, varlıktaki tüm servis taleplerinin son değiştirme tarihinin aynı olacağını unutmayın.Note that by default, all cases in the entity have the same last modified date. Filtrelemenin nasıl çalıştığını görmek için bir veya daha fazla servis talebini güncelleştirebilirsiniz.You can update one or more to see how filtering works. Varlık verileriyle çalışma konusunu kursun ilerleyen kısımlarında ele alacağız.We cover working with entity data later in the course.

Tarih seçicinin kullanılması için güncelleştirilen uygulama

Toplam servis talebi sayısını göstermeShow total number of cases

Burada birçok konuyu ele alıyoruz ancak özelleştirmeler konusunu neredeyse tamamladık.We're covering a lot of ground here, but we're almost done with the customizations. Bu konu başlığında son olarak şu iki sayıyı gösteren etiketler ekleyeceğiz: toplam servis talebi sayısı ve tarih temelli filtremizle eşleşen servis talebi sayısı.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.

Toplam servis talebi sayısını ve filtrelenen servis talebi sayısını gösterme

Videoda bu iki etiketin nasıl ekleneceğine ilişkin daha fazla ayrıntıya yer verilmektedir ancak her etiket için hangi özelliklerin ayarlanacağıyla ilgili temel bilgiler şunlardır: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
  • Sol kutu için Text = "Total cases: " & CountRows(Case).Left box Text = "Total cases: " & CountRows(Case). Bu, varlıktaki tüm servis taleplerini içerir.This includes all cases that are in the entity.
  • Sağ kutu için Text = Filtered cases: " & CountRows(BrowseGallery1.AllItems).Right box Text = Filtered cases: " & CountRows(BrowseGallery1.AllItems). Bu, yalnızca tarih temelli filtreyle eşleşen servis taleplerini içerir.This includes only those cases that match the date-based filter.

Böylece uygulama özelleştirmeleri konusunun sonuna geldik. Bir sonraki konu başlığında veri kaynağı ile akış ekleyecek ve uygulamanın tamamlanmış halini göstereceğiz.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.

Bir veri kaynağı ve akış eklemeAdd a data source and flow

Şimdiye kadar bu bölümde Common Data Service'in Servis Talebi varlığına dayalı bir uygulama oluşturduk, uygulamanın nasıl oluşturulduğunu inceledik ve uygulamayı farklı şekillerde özelleştirdik.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. Bu bölümün son konu başlığında başka bir standart varlık ekleyecek ve e-posta göndermek için Microsoft Flow'u kullanacağız.In the final topic for this section, we will bring in another standard entity, and use Microsoft Flow to send an email. Uygulama bir akış tetikleyecek ve böylece servis talebi güncelleştirildiğinde servis talebini açan kullanıcı bilgilendirilecek.The app will trigger a flow so that the person who opened a case is notified when the case is updated. Bu konu başlığında belirli bir senaryoyu uygulayacağız ancak edindiğiniz becerileri, birçok farklı uygulama çeşidinde de kullanabileceksiniz.We're completing a particular scenario in this topic, but the skills you learn are applicable across many kinds of apps. Varlıklarla başlayalım.Let's get started with the entities.

Varlık ilişkilerini gözden geçirmeReview entity relationships

Birazdan Kişi varlığını ekleyeceğiz ancak öncelikle Servis Talebi ve Kişi varlıklarının birbirleriyle nasıl bir ilişkisinin olduğuna göz atacağız.We'll add the Contact entity shortly, but first we'll look at how the Case and Contact entities relate to each other. Servis Talebi varlığında Arama veri türüne sahip bir Geçerli İlgili Kişi alanının olduğunu görüyorsunuz.In the Case entity, you see that one of the fields is CurrentContact, with a data type of Lookup. Bu, bu alanın başka bir tabloyla ilişkili olarak kullanıldığını gösterir.This means that this field is used in a relationship with another table.

Servis Talebi varlığı alanları

İlişkiler sekmesinde, bu varlığın Kişi varlığıyla ilişkili olduğunu görüyorsunuz.On the Relationships tab, you see that the related entity is Contact. Konu başlığının ilerleyen kısımlarında bu ilişkiyi kullanacağımız için bu bilgiyi aklınızda tutun.Keep that in mind because we will use this relationship later in this topic.

Servis Talebi varlığının ilişkileri

Uygulamaya varlık eklemeAdd an entity to the app

PowerApps'te veri kaynağı eklemek oldukça basittir.Adding a data source in PowerApps is straightforward. Sağ bölmede Veri kaynakları'na ve ardından Veri kaynağı ekle'ye tıklayın veya dokunun.In the right-hand pane, click or tap Data sources, then Add data source. Ardından, bu örnek için Common Data Service bağlantısını ve ardından Kişi varlığını seçin.In this case, then choose the Common Data Service connection and select the Contact entity. Bağlan'a tıkladığınızda veya dokunduğunuzda varlık, uygulamaya eklenir.After you click or tap Connect, the entity is added to the app.

Kişi varlığı ekleme

Bu örnekte başka bir varlıktan veri eklediğimizi ancak kendi uygulamalarınızda farklı kaynaklara ait verileri birleştirebileceğinizi unutmayın.Note that in this example, we're adding data from another entity, but you can combine data from many sources in your apps.

Kişi bilgilerini aramaLook up contact information

Uygulamamızda Kişi varlığına erişimimiz olduğuna göre artık bu varlığı kullanmaya başlayabiliriz.Now that we have access to the Contact entity data in our app, it's time to put it to use. Girişte bahsettiğimiz gibi bir servis talebi güncelleştirildiğinde e-posta göndermek istiyoruz.As mentioned in the introduction, we want to send an email when a case is updated. Bunu gerçekleştirmek için iki formül ve bir akış kullanacağız.We will use two formulas and a flow to accomplish this. İlk formülü, düzenleme ekranında, özellikle de Kaydet düğmesinin OnSelect özelliği için kullanacağız.The first formula is for the edit screen, specifically the OnSelect property of the save button.

Uygulamanın düzenleme ekranı

Varsayılan olarak bu düğme, bir kullanıcı formdaki verileri düzenlediğinde güncelleştirmeyi göndermek için SubmitForm(EditForm1) formülünü kullanır.By default, this button uses the formula SubmitForm(EditForm1) to submit the update when a user edits data in the form. Formülün, öncelikle geçerli servis talebini açan kullanıcının kişi bilgilerini araması ve ardından bu bilgileri uygulama içinde yerel olarak depolaması için formüle bazı eklemeler yapmamız gerekiyor: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)

Evet, bu işlem biraz karmaşık ancak James, videoda 2:04 itibarıyla bu formülü daha ayrıntılı olarak çok güzel bir şekilde açıklıyor.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.

Uygulamadan akış tetiklemeTrigger a flow from the app

Artık her servis talebi için kiminle iletişime geçeceğimizi bildiğimize göre bu kişilere e-posta gönderebiliriz.Now that we know who the contact is for each case, we can send an email to them. E-postayı doğrudan uygulamadan da gönderebilirdik ancak bu örnekte uygulamadan nasıl akış tetikleyeceğinizi göstereceğiz.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. Kısaca akış, bu bağlamda uygulamadaki bir eyleme dayalı olarak e-posta göndermektir.Here's the flow, which is as simple as it gets: send an email based on an action in an app. Bu konu başlığında akışlarla ilgili daha fazla ayrıntıya yer vermeyeceğiz ancak Microsoft Flow'a ilişkin tüm konuların ele alındığı bir Destekli Öğrenme serisi mevcuttur.We won't get into more detail on flows here, but there is a whole Guided Learning series for Microsoft Flow.

E-posta gönderme akışı

Uygulamaya geri dönecek olursak akışı bir olaya bağlı olarak çağırmamız gerekiyor.Back in the app, we need to call the flow based on an event. Bunun için düzenleme formunun OnSuccess özelliğini kullanacağız. Böylece düzenleme işlemi başarılı olduğunda akış tetiklenecek.We'll use the OnSuccess property of the edit form, so the flow is triggered when the edit succeeds. Düzenleme formuna tıklayın veya dokunun, ardından Eylem > Akışlar seçeneğine tıklayın veya dokunun.Click or tap the edit form, then on the ribbon click or tap Action > Flows. Kullanmak istediğiniz akışı seçin.Select the flow you want to use.

E-posta gönderme akışı

Akışı, düzenleme formunun OnSuccess olayı ile ilişkilendirdik ve e-posta için kişi bilgisine başvurabiliriz.The flow is now associated with the OnSuccess event of the edit form, and we can refer to the contact for the email. Aşağıdaki formül, servis talebini açan kullanıcının e-posta adresi, bir konu satırı ve e-posta gövdesiyle birlikte akışı çağırır.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")

Uygulamaya veri kaynağı ekleme ve e-posta gönderen bir akış tetikleme ile ilgili bilmeniz gerekenler bunlar.That's it for adding a data source to the app, and triggering a flow that sends an email. Henüz bu bölümdeki videoları izlemediyseniz izlemenizi öneriyoruz.If you haven't watched the videos in this section already, we encourage you to do it. Bu videolarda, konu başlıklarında hızlıca geçtiğimiz birçok ayrıntıyı bulabilirsiniz.They fill in lots of the details that we've moved through quickly in the topics.

ÖzetWrapping it all up

Böylece bu bölümün sonuna geldik.This brings us to the end of this section. Keyif aldığınızı ve çok şey öğrendiğinizi umuyoruz.We hope you've enjoyed it and learned a ton. Varlıktan temel bir uygulama oluşturarak başlayıp uygulamanın nasıl oluşturulduğunu anlamanız için uygulamayı biraz inceledik.We started out generating a basic app from an entity, and explored the app a little to understand how it's put together. Ardından uygulamayı özelleştirdik, uygulamaya veri kaynağı ekledik ve nasıl akış tetikleyeceğinizi gösterdik.We spent a good deal of time on customizing the app, then added a data source and saw how to trigger a flow. Bu bölümde belirli bir servis talebi yönetimi uygulaması oluşturduk ancak edindiğiniz becerileri birçok farklı uygulama türünde de kullanabileceksiniz.We built out a specific case management app in this section, but the skills you learned could be applied to many types of apps. Bu bölümün başında da belirttiğimiz gibi, daha karmaşık bir servis talebi yönetimi uygulaması üzerinde çalışmak istiyorsanız Windows için PowerApps Studio'daki şablona göz atın.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.

Bir sonraki konu başlığında uygulamaların nasıl yönetildiğini ele alacağız.Next up we'll move into managing apps. Yönetim bölümünde uygulamaları nasıl paylaşacağınız, uygulama sürümlerini nasıl oluşturacağınız gösterilmekte ve uygulamalar, veriler ve diğer kaynaklar için kapsayıcı işlevi gören ortamlar tanıtılmaktadır.The management section shows you how to share and version apps, and introduces environments, which are containers for apps, data, and other resources.

Tebrikler!

Microsoft PowerApps Destekli Öğrenme Common Data Service'ten uygulama oluşturma bölümünü tamamladınız.You've completed the Creating an app from the Common Data Service section of Microsoft PowerApps Guided Learning.

Şunları yapmayı öğrendiniz:

Sonraki Öğretici

Uygulamaları yönetmeManaging apps

Katkıda Bulunanlar

  • Michael Blythe
  • olprod