Einführung in die clientseitige Skripterstellung

Abgeschlossen

Mit Clientskripten können Sie JavaScript in Power Apps modellgesteuerten Apps zur Implementierung von benutzerdefinierter Geschäftslogik verwenden. Client-Scripting sollte als Alternative verwendet werden, wenn deklarative Geschäftsregeln die Anforderungen nicht erfüllen. Client-Scripting wird in einem modellgesteuerten Formular als Reaktion auf Formularereignisse ausgeführt. Hier sind die häufigsten Ereignisse aufgeführt, für die Sie Ereignishandler registrieren können:

  • Formular lädt

  • Daten in einer Spalte geändert

  • Formular wird gespeichert

Darüber hinaus können Sie eine Befehlsleistenschaltfläche so konfigurieren, dass beim Drücken eine Client-Skript-Funktion aufgerufen wird.

Zu den allgemeinen Aufgaben, die mit Client-Skripting ausgeführt werden können, gehören folgende:

  • Spaltenwerte im Formular abrufen oder festlegen

  • Elemente der Benutzeroberfläche ein‑ und ausblenden

  • Auf mehrere Steuerelemente pro Spalte verweisen

  • Zwischen Formularen wechseln, wenn mehrere Formulare für eine Tabelle verfügbar sind

  • Formulare, Ansichten, Dialoge und Berichte öffnen

  • Mit dem Geschäftsprozessflow-Steuerelement interagieren

Interaktionen mit Daten, Änderungen des Formularinhalts oder Änderungen des App-Verhaltens sollten mit der bereitgestellten Client-Scripting-API implementiert werden. Während Sie Ihre Logik in JavaScript schreiben, ist es wichtig zu beachten, dass direkte Bearbeitung des Formularinhalts nicht unterstützt wird, obwohl das Formular nur HTML ist. Client-Scripting bietet einem Objektmodell Methoden für die Interaktion mit den verschiedenen Formularkomponenten. Diese Methode stellt sicher, dass Änderungen im Layout oder im spezifischen HTML-Code, der beim Rendern des Formulars verwendet wird, keinen Einfluss auf die Geschäftslogik haben. Ebenso wichtig ist, dass Sie nur dokumentierte Objekte und Funktionen verwenden und keine, die Sie finden könnten, da diese sich jederzeit ändern oder nicht verfügbar sein können. Weitere Informationen zu unterstützten und nicht unterstützten Anpassungen finden Sie unter Microsoft Dataverse App-Erstellungspraktiken – Power Apps im Dataverse-Entwicklerhandbuch.

Dies ist die allgemeine Struktur des Client-Scripting-API-Objektmodells und der Namespaces angezeigt:

  • App – Ermöglicht es, Ereignishandler für alle Benachrichtigungen auf App-Ebene hinzuzufügen.

  • Gerät – Ermöglicht mit Zustimmung den Zugriff auf Geräteinhalte wie Bilder, Videos, Audio, Standort und mehr.

  • Codierung – Schneller Zugriff auf HTML-Codierungs‑/Dekodierungsfunktionen.

  • Navigation – Bietet plattformunabhängige Navigationsfunktionen, einschließlich geöffneter Dialoge, Formulare, Dateien und URLs.

  • Bereich – Zeigt die durch eine URL dargestellte Webseite im statischen Bereich im Seitenbereich an, der auf allen Seiten im modellgesteuerten Apps-Webclient angezeigt wird.

  • Hilfsprogramm – Sammlung von Dienstprogrammfunktionen einschließlich Zugriff auf Metadaten und verschiedene Kontextobjekte.

  • WebAPI – Bietet Eigenschaften und Funktionen zur Verwendung der Web-API, um Datensätze zu erstellen und zu verwalten und Web-API-Aktionen und ‑Funktionen auszuführen.

Ein weiteres wichtiges Hauptkonzept sind die Kontextobjekte, die entweder als Ereignishandler-Parameter verfügbar sind oder mit speziellen Methoden abgerufen werden können. Diese Kontextobjekte helfen dabei, das Schreiben von Code zu vermeiden, der fest mit einem bestimmten Formular-Steuerelementlayout oder einem bestimmten Steuerelement verbunden ist. Im Folgenden sind die Kontexte aufgeführt, mit denen Sie arbeiten:

  • Ausführung – Definiert den Ereigniskontext, in dem Ihr Code ausgeführt wird. Der Ausführungskontext wird übergeben, wenn ein Ereignis in einem Formular oder Raster auftritt, das Sie in Ihrem Ereignishandler verwenden können, um verschiedene Aufgaben auszuführen, wie beispielsweise das Bestimmen von formContext oder gridContext oder das Verwalten des Speicherereignisses.

  • Formular – Stellt einen Verweis auf das Formular oder ein Element im Formular bereit, beispielsweise ein Schnellansichtssteuerelement oder eine Zeile in einem bearbeitbaren Raster, für die der aktuelle Code ausgeführt wird. Der Formularkontext wird mithilfe der getFormContext()-Methode des Ausführungskontexts abgerufen oder als Argument eingefügt, wenn Code über eine Menübandaktion ausgeführt wird. Der Formularkontext enthält die folgenden wichtigen Namespaces:

    • data – Dieser Namespace ermöglicht den Zugriff auf die Daten für die ein einem Formular angezeigt Tabellenzeile. Umfasst Funktionen wie Speichern und Aktualisieren. Zum Beispiel formContext.data.entity.save("saveandnew");

    • ui – Mit diesem Namespace können Sie Steuerelemente wie Registerkarten, Abschnitte und Steuerelemente im Formular bearbeiten. Zu den üblichen Aufgaben gehören das Ausblenden, Anzeigen und erforderlich oder nicht erforderlich machen. Zum Beispiel formContext.ui.refreshRibbon(true);

  • Raster – Bietet Kontextinformationen für Ereignishandler, die in Unterrastern eines Formulars registriert sind.

Sie haben bereits aus den allgemeinen Beschreibungen abgeleitet, dass Ihnen das Verwenden der Client-Scripting-API viel Flexibilität bei der Implementierung clientseitiger Logik bietet. Es ist jedoch wichtig, dass Ihre mit clientseitigem Scripting implementierte Logik nur erzwungen wird, wenn der Benutzer die Anwendung verwendet. In vielen Fällen muss Client-Scripting mit der serverseitigen Implementierung kombiniert werden, um sicherzustellen, dass die Logik unabhängig von der Methode für den Zugriff auf die Daten und Funktionen immer ausgeführt wird. Im Rest dieses Moduls werden wir uns genauer mit der Verwendung von Clientskripting auseinandersetzen.