Übung – Die Dive Center Canvas-App erstellen
In dieser Übung wenden Sie beim Erstellen einer Dive Center Canvas-App Ihr erlerntes Wissen an.
Szenario
Sie arbeiten in einem Tauchzentrum, bieten Services an und verkaufen Tauchausrüstung. Sie verwalten die Dataverse-Umgebung der Organisation.
Die Mitarbeiter der Serviceabteilung brauchen eine Power Apps-App, mit der sie die Check-in‑ und Check-out-Prozesse für Kunden durchführen können, die Tauchausrüstung zur Reparatur bringen.
Die Mitarbeiter benötigen zur Unterstützung dieser Prozesse folgende Eigenschaften:
Eine Kundenliste für die Reparaturdienste
Die Möglichkeit, Check-Ins zu speichern
Eine Liste der Tauchausrüstung zum Identifizieren der Art der zu registrierenden Ausrüstung
Die Benutzer haben andere Anforderungen geäußert, und Sie möchten möglicherweise auch die folgenden Funktionen einbeziehen:
Aktivieren Sie die Option, mit dem Auschecken für abgeschlossene Serviceanfragen fortzufahren.
Erstellen Sie eine neue Tauchausrüstung mit Angaben eines Bilds sowie von Farbe und Ausrüstungstyp.
Erfassen Sie beim Check-in Bilder und die Art der Dienstleistung auf.
Erfassen Sie zum Abschließen des Auscheckens eine Unterschrift.
Erstellen Sie neue Kunden.
Übung
Voraussetzung: In der Lerneinheit Übung – Auf die Dive Center Canvas-App vorbereiten werden die Lösung und die Datenquelle, auf die sich diese Übung bezieht, erklärt. Beginnen Sie in Ihrer Umgebung mit dem Namen Dive Center App, wo sich Ihre App-Dataverse-Tabellen bereits befinden.
Klicken Sie auf der Befehlsleiste Ihres Umgebungsbildschirms auf Neu > App > Canvas-App, um eine neue Canvas-App mit dem Namen Service Request zu erstellen.
Wählen Sie als Format der Canvas-App Telefon aus. Wählen Sie dann Erstellen aus.
Fügen Sie im Power Apps-Canvas-Studio ein Bild ein, das als Hauptlogo verwendet werden soll.
Positionieren und skalieren Sie das Bild auf Basis der verfügbaren Bildschirmfläche und anderen Komponenten, die in die App aufgenommen werden sollen. Verwenden Sie die Eigenschaft Fill, um den Bildschirmhintergrund an die Farbe des Logos anzupassen.
Fügen Sie drei Schaltflächen Einchecken, Auschecken und Beenden hinzu, um die Navigation zu den nachfolgenden Bildschirmen zu ermöglichen Definieren Sie basierend auf der erwarteten Benutzererfahrung Farben, Positionen und Größe.
Benennen Sie Standardsteuerelemente und Bildschirme um, indem Sie Namen verwenden, die ihre Verwendung beschreiben. Dies ist die beste Methode, um sie leichter zu identifizieren. Sie können auf jedes Steuerelement in der Strukturansicht doppelklicken, um es umzubenennen, oder die Auslassungspunkte neben dem Steuerelement verwenden und die Option Umbenennen auswählen.
Wählen Sie die Option Bildschirm duplizieren auf dem Startbildschirm aus und ändern Sie den Namen des neuen Bildschirms in „CHECKIN“, um den Bildschirm zum Einchecken zu erstellen.
Entfernen Sie die Schaltflächen aus dem neuen Bildschirm und ändern Sie dann die Größe des Hauptbilds, um Platz für das Formular zu haben, das für den Check-in-Prozess hinzugefügt wird.
Fügen Sie ein Bearbeitungsformular ein, verbinden Sie die Datenquelle mit der Dataverse-Tabelle Service Requests, setzen Sie die Eigenschaft Default mode des Formulars auf Neu und ändern Sie den Namen in frmCheckIn.
Verschieben Sie das Formular, ändern Sie seine Größe und nutzen Sie die Bildschirmfläche. Wählen Sie im Eigenschaftenbereich die Option Felder bearbeiten aus, damit Sie die Felder des Formulars ändern können.
Copilot schlägt automatisch vor, welche Felder enthalten sein sollten, und ordnet sie entsprechend an. Wir wollen sie für den Check-in-Prozess jedoch wie folgt anordnen, indem wir sie per Drag & Drop von oben nach unten in das Bedienfeld Felder ziehen: Name, Debitor, Ausrüstung, Details und voraussichtliche Fertigstellung. (Unter diesen Feldern können Sie beliebige optionale Felder positionieren.)
Wenn diese Felder in Ihrem Formular nicht angezeigt werden, wählen Sie die Schaltfläche + Feld hinzufügen aus, um sie zu suchen/hinzuzufügen.
Sie müssen Daten zu Ihrer Tabelle „Dive Gear“ und möglicherweise auch zu Ihrer Tabelle „Contacts“ hinzufügen, um die Ergebnisse in Ihrem Kombinationsfeld im Abschnitt Ausrüstung und Debitor Ihres Formulars anzuzeigen.
Überprüfen Sie die Kombinationsfeld-Steuerelementfelder für die Debitor‑ und Ausrüstungskarten in Ihrem Formular. Möglicherweise zeigen sie nicht die korrekten Daten an, sodass Sie diese Karten entsperren und einige Anpassungen vornehmen müssen. Stellen Sie für das Kombinationsfeld „Customer“ sicher, dass Sie die Eigenschaft „DisplayFields“ aktualisieren, um
[fullname]anzuzeigen, und setzen Sie für das Kombinationsfeld „Gear“ die Eigenschaft „DisplayFields“ auf["msft_name"]einrichten.Fügen Sie zwei Schaltflächen am unteren Rand des Canvas-Bildschirms hinzu, um den Benutzern Aktualisierungs‑ und Navigationsfunktionen bereitzustellen. Aktualisieren Sie den Text für sie in „SPEICHERN“ und „ZURÜCK“ und benennen Sie sie um in btnSaveCheckIn und btnBackCheckIn.
Um das Formular zu aktualisieren, wenn die Schaltfläche btnSaveCheckIn ausgewählt wurde und eine Verarbeitung eines neuen Check-Ins zu ermöglichen, geben Sie das folgende PowerFx-Skript in der Eigenschaft OnSelect der Schaltfläche ein:
SubmitForm(frmCheckIn); NewForm(frmCheckIn);Geben Sie das folgende PowerFx-Skript in die Eigenschaft OnSelect der Schaltfläche ein, um zurück zum HOME SCREEN zu navigieren, wenn die Schaltfläche btnBackCheckIn ausgewählt ist:
Navigate('HOME SCREEN',ScreenTransition.Fade);Um zum Bildschirm CHECKIN vom HOME SCREEN zu navigieren, wenn die Schaltfläche btnCheckIn vom HOME SCREEN ausgewählt ist, geben Sie das folgende PowerFx-Skript in der Eigenschaft OnSelect der Schaltfläche ein:
Navigate(CHECKIN,ScreenTransition.Fade);Um Benutzern zu ermöglichen, die App zu schließen, wenn sie die Schaltfläche btnExit vom HOME SCREEN auswählen, geben Sie das folgende PowerFx-Skript in der Eigenschaft OnSelect der Schaltfläche ein:
Exit();Sie können hier die App speichern und wiedergeben, um das Navigieren zwischen den Bildschirmen und das Erstellen neuer Check-in-Einträge zu testen.
Optionale Funktionen
Der folgende Abschnitt umfasst die Schritte, die benötigt werden, um mit den optionalen Funktionen der App fortzufahren. Für einige dieser Funktionen werden Tabellen und Spalten benötigt, die in der Lerneinheit Übung – Auf die Dive Center Canvas-App vorbereiten vorher in diesem Modul festgelegt wurden.
Check-out-Funktion
Gehen Sie folgendermaßen vor, um App-Benutzern Check-out-Funktionen verfügbar zu machen:
Erstellen Sie ein Duplikat des Bildschirms CHECKIN, und benennen Sie ihn dann in CHECKOUT um. Benennen Sie die Bildschirmkomponenten um und führen Sie dann folgende Aktionen aus:
Ändern Sie die Schaltfläche „SAVE“ in „CHECK OUT“.
Bearbeiten Sie die Felder frmCheckOut, um das Feld Name zu entfernen.
Hinzufügen/Verschieben Sie die optionalen Anlagen bis knapp unter das Feld „Geschätzter Abschluss“.
Setzen Sie den Default mode auf Anzeigen, sodass das Formular als schreibgeschützt angezeigt wird.
Fügen Sie dem Bildschirm eine Dropdown-Eingabe oben auf dem Bildschirm hinzu, und gehen Sie dann folgendermaßen vor, um eine Liste der zum Auschecken verfügbaren Serviceanfragen bereitzustellen:
Geben Sie dem Dropdownmenü den neuen Namen ddServiceRequestForCheckOut.
Positionieren Sie das Dropdownmenü über dem Formular frmCheckOut (passen Sie die Größe Ihres Formulars entsprechend an).
Legen Sie die Eigenschaft Items auf die Tabelle Serviceanfragen fest.
Richten Sie die Eigenschaft Value auf die Spalte Name ein.
Geben Sie aus dem drop-down-Steuerelement das folgende PowerFx-Skript in die Eigenschaft Item des Formulars frmCheckOut ein, um die ausgewählte Serviceanfrage anzuzeigen:
ddServiceRequestForCheckOut.SelectedGeben Sie das folgende PowerFx-Skript in der Eigenschaft Items aus der Dropdowneingabe ein, um nur eine Liste der Serviceanfragen anzuzeigen, die zum Auschecken bereit sind:
Filter('Service Requests',IsBlank('Actual Completion'))Also wird die Serviceanfrage angezeigt wie ausgecheckt, wenn die Schaltfläche btnSaveCheckOut ausgewählt wurde, geben Sie das folgende PowerFx-Skript in der Eigenschaft OnSelect der Schaltfläche ein:
Patch('Service Requests',ddServiceRequestForCheckOut.Selected,{'Actual Completion':Now()});Um zum Bildschirm CHECKOUT vom HOME SCREEN zu navigieren, wenn die Schaltfläche btnCheckOut vom HOME SCREEN ausgewählt ist, geben Sie das folgende PowerFx-Skript in der Eigenschaft OnSelect der Schaltfläche ein:
Navigate(CHECKOUT,ScreenTransition.Fade);Sie können hier die App speichern und wiedergeben, um das Navigieren zwischen den Bildschirmen und das Erstellen neuer Checkout-Prozess zu testen.
Eine Funktion für Tauchausrüstung erstellen
Gehen Sie folgendermaßen vor, um Benutzern die Möglichkeit zu geben, neue Tauchausrüstung mit Farbe, Ausrüstungstyp und einem Bild zu erstellen:
Erstellen Sie ein Duplikat des Bildschirms CHECKIN, und benennen Sie ihn dann in DIVEGEAR um. Benennen Sie die Bildschirmkomponenten um und führen Sie dann folgende Aktionen aus:
Bearbeiten Sie die Eigenschaften frmGear, um die Tabelle Tauchausrüstung als Datenquelle zu verwenden.
Wählen Sie die verschiedenen Felder aus, die Sie den Benutzern zur Verfügung stellen möchten, einschließlich des Felds Bild.
Um die Tauchausrüstung zu erstellen, wenn die Schaltfläche btnSaveGear ausgewählt wurde und das Erstellen neuer Tauchausrüstung zu ermöglichen, geben Sie das folgende PowerFx-Skript in der Eigenschaft OnSelect der Schaltfläche ein:
SubmitForm(frmGear); NewForm(frmGear); Refresh ('Dive Gear');Geben Sie das folgende PowerFx-Skript in die Eigenschaft OnSelect der Schaltfläche ein, um zurück zum Bildschirm CHECKIN zu navigieren, wenn die Schaltfläche btnBackGear ausgewählt ist:
Navigate(CHECKIN,ScreenTransition.Fade);Entsperren Sie die Eigenschaften der Datenkarte für den Servicetyp des Formulars frmCheckIn, um vom CHECKIN zu der von Ihnen erstellten neuen Tauchausrüstung auf dem Bildschirm CHECKIN zu navigieren. Passen Sie die Größe des Kombinationsfelds der Datenkarte an, um Platz zum Einfügen eines Symbols Hinzufügen daneben zu schaffen.
Geben Sie das folgende PowerFx-Skript in die Eigenschaft OnSelect des Symbols Hinzufügen ein, um zum Bildschirm DIVEGEAR zu navigieren:
Navigate(DIVEGEAR,ScreenTransition.Fade);Ändern Sie die Datenquelleneigenschaft des Kombinationsfelds in die Tabelle Tauchausrüstung, um sicherzustellen, dass die Ausrüstungsliste aktualisiert wird, wenn eine neue Ausrüstung erstellt wird.
Sie können hier die App speichern und wiedergeben, um das Navigieren zwischen den Bildschirmen und das Erstellen neuer Tauchausrüstung zu testen.
Bilder und Servicetyp-Funktion erfassen
Gehen Sie folgendermaßen vor, um Benutzern die Möglichkeit zu geben, beim Check-in Bilder und den Servicetyp aufzunehmen:
Stellen Sie sicher, dem Formular frmCheckin Servicetyp, Anhänge und Angenommen am hinzuzufügen.
Entsperren Sie die Datenkarte Akzeptiert am, und legen Sie dann die Eigenschaft Update mit dem folgenden PowerFx-Skript fest, um den Wert Akzeptiert am auf das Datum und die Uhrzeit der Erstellung der Serviceanfrage festzulegen.
Now()An diesem Punkt können Sie die App speichern und wiedergeben, um das Hinzufügen von Bildern als Anhänge zur Serviceanfrage zu testen.
Signaturfunktion erfassen
Gehen Sie folgendermaßen vor, um Benutzern die Möglichkeit zu geben, eine Unterschrift zu erfassen und so einen Check-out abzuschließen:
Fügen Sie Ihrem Bildschirm CHECKOUT einen Container hinzu, und strecken Sie den Container, sodass er den gesamten Bildschirm ausfüllt. Legen Sie die Eigenschaft Fill des Containers auf Folgendes fest:
RGBA(149,149,149,0.4)Fügen Sie dem Container-Steuerelement folgende Beschriftungen hinzu
Name Text Position/Größe Andere Informationen lbl_SignatureCapture <leer> X: 0
Y: 338
Breite: 640
Höhe: 384Füllen: RGBA(255, 255, 255, 1) lbl_SignatureLine <leer> X: 0
Y: 587
Breite: 640
Höhe: 13Füllen: RGBA(0,0,0,1) lbl_CustomerSignature Unterschrift des Kunden X: 21
Y: 600
Breite: 560
Höhe: 70FontSize: 21 lbl_OK OK X: 388
Y: 599
Breite: 60
Höhe: 70FontSize: 21 lbl_Cancel Abbrechen X: 492
Y: 599
Breite: 122
Höhe: 70FontSize: 21 Das Ergebnis ähnelt dem folgenden Screenshot.
Fügen Sie die folgenden Steuerelemente Symbole dem Container auf dem Bildschirm CHECKOUT aus. Sie werden links neben den Beschriftungen „Abbrechen“ und „OK“ angezeigt und sind auswählbar.
Name Symbol Position/Größe Farbe ico_Cancel Abbrechen X: 448
Y: 615
Breite: 35
Höhe: 39RGBA(255,0,0,1) ico_OK Überprüfung X: 346
Y: 615
Breite: 35
Höhe: 39RGBA(51,176,75,1) Fügen Sie in Ihren Container ein Steuerelement Stifteingabe hinzu, um die Kundenunterschrift zu erfassen. Benennen Sie es um in PenCustomerSignature, und legen Sie die Eigenschaften für Steuerelemente anzeigen auf Aus fest. Legen Sie die Position und Größe so fest, dass sie sich über dem Steuerelement lbl_SignatureLine befindet.
Wir werden eine Variable hinzufügen, um den Container mit den signaturbezogenen Steuerelementen je nach Prozessphase ein‑ und auszublenden. Ersetzen Sie die aktuelle Eigenschaft OnSelect der Schaltfläche btnSaveCheckOut mit dem folgenden PowerFx-Skript:
Set(flgSignature, true);Zum Anzeigen und Ausblenden des Containers mit den signaturbezogenen Steuerelementen basierend auf dem Status der Variablen flgSignature richten Sie die Eigenschaft Visible des Containers auf Folgendes ein:
flgSignatureLegen Sie die Eigenschaft OnSelect von ico_Cancel mit dem folgenden PowerFx-Skript fest, um die Option bereitzustellen, die Signaturerfassung abzubrechen und zum Bildschirm CHECKOUT zurückzukehren:
Reset(PenCustomerSignature);Set(flgSignature, false);Legen Sie die Eigenschaft OnSelect von ico_OK mit dem folgenden PowerFx-Skript fest, um die Serviceanfrage mit der erfassten Signatur zu aktualisieren und den Checkout-Prozess abzuschließen:
Patch('Service Requests',ddServiceRequestForCheckOut.Selected,{'Actual Completion':Now(),'Customer Signature':PenCustomerSignature.Image}); Reset(PenCustomerSignature); Set(flgSignature, false);An dieser Stelle können Sie die App speichern und abspielen, um die Signaturerfassung beim Checkout einer Serviceanfrage zu testen.
Neue Funktion für Debitoren erstellen
Gehen Sie folgendermaßen vor, um über den Bildschirm CHECKIN Benutzern das Erstellen neuer Kunden zu ermöglichen:
Erstellen Sie ein Duplikat des Bildschirms CHECKIN, und benennen Sie ihn dann in CUSTOMER um. Benennen Sie die Bildschirmkomponenten um, und führen Sie die folgenden Schritte aus:
Bearbeiten Sie die Eigenschaften frmCustomer, um die Tabelle Kontakte als Datenquelle zu verwenden
Wählen Sie die verschiedenen Felder aus, die Sie für Benutzer verfügbar machen möchten, z. B. Vorname, Nachname, E-Mail und Mobiltelefon.
Um das Formular zu aktualisieren, wenn die Schaltfläche btnSaveCustomer ausgewählt wurde und eine Verarbeitung eines neuen Debitors zu ermöglichen, geben Sie das folgende PowerFx-Skript in der Eigenschaft OnSelect der Schaltfläche ein:
SubmitForm(frmCustomer); NewForm(frmCustomer); Refresh(Contacts);Geben Sie das folgende PowerFx-Skript in die Eigenschaft OnSelect der Schaltfläche ein, um zurück zum Bildschirm CHECKIN zu navigieren, wenn die Schaltfläche btnBackCustomer ausgewählt ist:
Navigate(CHECKIN,ScreenTransition.Fade);Zum Navigieren von CHECKIN zu diesem, entsperren Sie die Eigenschaften der Datenkarte für das Feld Debitor des Formulars frmCheckIn. Passen Sie die Größe des Kombinationsfelds der Datenkarte an, um Platz zum Einfügen eines Symbols Hinzufügen daneben zu schaffen.
Geben Sie das folgende PowerFx-Skript in die Eigenschaft OnSelect des Symbols ein, um zum Bildschirm CUSTOMER zu navigieren:
Navigate(CUSTOMER,ScreenTransition.Fade);Ändern Sie die Datenquelleneigenschaft des Kombinationsfelds in die Tabelle Kontakte, um sicherzustellen, dass die Customer List aktualisiert wird, wenn ein neuer Debitor erstellt wird.
Sie können hier die App speichern und wiedergeben, um das Navigieren zwischen den Bildschirmen und das Erstellen neuer Tauchausrüstung zu testen.
Nächste Schritte
Jetzt wissen Sie, wie Sie mit Dataverse eine Canvas-App Dive Center erstellen. Als Nächstes erfahren Sie, wie Sie eine modellgesteuerte App erstellen.



















