In diesem Blog beschäftige ich mich mit einer neulich in meiner Schulung gestellten Frage. Wie können bspw. Formulare anhand einer Auswahl vorausgefüllt werden, ohne dass der Benutzer langwierig Daten selbst eingeben muss.
Nachfolgend beschreibe ich die Möglichkeit es umzusetzen und werde darauf hinweisen worauf dabei zu achten ist.
Um dieses Beispiel nachzuvollziehen habe ich eine recht einfache Liste in SharePoint als Grundlage für die Speicherung der Daten verwendet. In dieser Liste sind einige zweckgebundene Spalten enthalten, deren Funktion ich nachfolgend erläutere
Wenn man sich vorgenommen hat ein solches Konstrukt umzusetzen, wird man jedoch feststellen, dass es gewisse Hürden gibt, auf die ich Schritt für Schritt eingehen werde.
In Power Apps habe ich eine leere App erzeugt. In dieser App befindet sich lediglich ein selbst erstellter leerer Bildschirm, den ich mit Steuerelementen und Funktionen versehen habe, um die Felder automatisch auszufüllen.
Der Bildschirm in der fertigen Fassung sieht so aus:
Fangen wir an, die Felder und die Konfiguration zu erläutern.
Um im oberen Dropdown-Steuerelement die Daten (Email) eines Benutzers aufzurufen, damit die übrigen Steuerelement-Felder automatisch ausgefüllt werden können, wurde im ersten Schritt die SharePoint Datenquelle verknüpft. Die besagte Liste heißt (Kontaktdaten).
Um die App mit den SharePoint-Daten zu verknüpfen, gilt es wie folgt vorzugehen:
Linke Menüleiste -> Daten -> „SharePoint“ eingeben -> SharePoint-Website auswählen -> Liste auswählen.
Konfiguration des Dropdowns:
Die Eigenschaft „Items“ ruft per Funktion „Distinct“ aus der SP-Liste die Mailadresse des ausgewählten Users ab.
Hinweis: Das gewünschte Ergebnis käme leider nicht zustande, wenn hier ein SharePoint Feld Person verwendet worden wäre, das verweigert uns leider Power Apps in Kombination mir SharePoint, d.h. das Feld Person hätten wir nicht als Anzeige im Dropdown auswählen können.
Es lässt sich so umgehen, indem stattdessen die Mailadressen der verfügbaren User als Textwert (Spaltentyp Text) in der SharePoint Liste erfasst werden.
Im nächsten Schritt geht es um die weiteren Attribute zu den in der SharePoint Liste gespeicherten Daten, um z.B. die Telefonnummer oder die Email-Adresse, usw. in anderen Feldern in Power Apps wiederzugeben, bin ich folgendermaßen vorgegangen.
Für das Dropdown-Steuerelement habe ich über die Eigenschaft „OnChange“ eine Variable erstellt.
Die Funktion „Set“ und der Variable mit dem Namen „Daten“ werden mittels der Funktion „Lookup“ die Kontaktdaten nachgeschlagen, um zu überprüfen ob die Mail des im Dropdown ausgewählten Users mit dem Eintrag in der SharePoint-Liste übereinstimmt und gleichzeitig wird eine Variable erzeugt.
Diese nun vorhandene Variable „Daten“ verwende ich im darunter liegenden Steuerelement, um die Mail-Adresse des Benutzers darzustellen.
Die Eigenschaft „Text“ im Steuerelement „Bezeichnung“ liefert über die Syntax „Daten.Email“ als Verweis auf die in der Variable gespeicherten Daten die Email des im SharePoint-Datensatz gespeicherten Wert.
Die Übrigen Steuerelement-Felder wurden auf die gleiche Weise, wie z.B. die Telefonnummer per „Daten.Telefon“ ebenso abgerufen.
Was ist jedoch, wenn sich die Information bspw. nicht in SharePoint befindet, sondern z.B. im Benutzerprofil hinterlegt ist?
Diesem Thema habe ich mich in dieser Konstellation ebenfalls angenommen und werde die genaue Vorgehensweise unter Zuhilfenahme eines Flow-Automatismus mit dem Tool Power-Automate in einem weiteren Blog-Artikel in Kürze beschreiben.
Ich wünsche viel Spaß beim Umsetzen.