Ein Vorteil von elektronischen
Formularen ist, dass bereits vorhandene Informationen im Formular verwendet
werden können. So ist es üblich, dass bestimmte Benutzerinformationen in einem
Formular automatisch ausgefüllt werden sollen. Informationen, wie zum Beispiel
Vor- und Nachname oder die E-Mail Adresse stehen in der Regel im SharePoint Profil
eines Benutzers. Diese Informationen lassen sich mit Hilfe von
Datenverbindungen im InfoPath verwenden.
Als erstes benötigen wir eine
Datenverbindung zum Abrufen der Benutzerprofildaten. Wir legen im InfoPath eine
neue Datenverbindung an. Das Benutzerprofil lässt sich über einen
SOAP-Webservice, dem UserProfileService.asmx, abrufen.
Abbildung
1 Datenverbindung - UserProfileService.asmx
Anschließend stehen verschiedene
Methoden, die der Webservice bereitstellt zur Verfügung. In diesem Beispiel wählen
wir „GetUserProfileByName" und klicken auf „weiter“ und nehmen den Haken
für „Daten beim Öffnen des Formulars automatisch abrufen".
Abbildung
2 GetUserProfileByName
Anschließend legen wir uns ein
Beispielformular an. Das Formular enthält ein Personenfeld zur Auswahl der
Person, dessen Daten wir abrufen möchten, einen Button zum Abrufen der
Datenverbindung und Felder zum Anzeigen der Benutzerprofildaten.
An den Button benötigen wir eine
Regel mit zwei Aktionen. Mit der ersten Aktion setzen wir das Query Field
„AccountName" auf die AccountId unseres Personenauswahlfeldes. Das
bedeutet, wir legen an dieser Stelle fest, welches Benutzerprofil abgefragt
werden soll. Die zweite Aktion dient zum Abrufen der Datenverbindung des
UserProfileWebservices.
Abbildung
3 Abzufragendes Benutzerprofil festlegen
Anschließend müssen nur noch die
Felder zur Anzeige der Benutzerdaten konfiguriert werden. In den
Steuerelementeigenschaften der Anzeigefelder legen wir einen Standardwert fest.
Folgende Schritte sind dazu notwendig:
1.Standardwert für Steuerelement
festlegen – Feld oder Gruppe einfügen
2.Feld „value" aus sekundären Datenverbindung auswählen
3.Daten filtern auswählen
4.Filter hinzufügen
5.Name (aus sekundäre Datenverbindung) ist gleich der Feldnamens im Benutzerprofil
2.Feld „value" aus sekundären Datenverbindung auswählen
3.Daten filtern auswählen
4.Filter hinzufügen
5.Name (aus sekundäre Datenverbindung) ist gleich der Feldnamens im Benutzerprofil
Abbildung
4 Benutzerdaten auslesen
Im fertigen Beispielformular
können wir über das Personenfeld einen SharePoint Benutzer auswählen mit Klick
auf den Button „User Profil abfragen" die Benutzereigenschaften in den
Formularfeldern anzeigen. In diesem Beispiel wurde bewusst ein Button für die
Datenabfrage verwendet. Es ist natürlich auch möglich die Felder direkt beim
Öffnen des Formulars zu automatisch zu füllen.
Hinweis: Bei browserbasierten InfoPath Formularen in denen Webservices abgefragt werden, ist es notwendig, für die Datenverbindung eine Secure Store Target Application zu verwenden. In der Target Application muss ein Service Account mit ausreichend Berechtigungen hinterlegt werden. Die Datenverbindung im InfoPath Formular muss dann in einer Datenverbindungsdatei (.udcx) konvertiert und die angelegte Secure Store Target Application entsprechend hinterlegt werden.
Keine Kommentare:
Kommentar veröffentlichen