In InfoPath 2007 Anwendung des Contact Selector Controls und den Webdienst GetUserDataByName zum auslesen der Email Adresse und anderer Merkmale.
Control in InfoPath aktivieren
Arbeitsbereich Steuerelemente auswählen
Datenquelle automatisch erstellen- deaktivieren (funktioniert nicht wirklich)
benutzerdefinierte Steuerelemente hinzufügen oder entfernen
Hinzufügen -> ActiveX ->
|
Contact Selector auswählen weiter |
|
keine cab Datei einschließen weiter |
|
Bindende Eigenschaft: Value |
|
Feld o. Gruppe(beliebiger Datentyp) auswählen Fertig schließen |
Gruppe: CS Gruppe wiederholt: Person Felder string: DisplayName AccountId AccountType genau so – Groß+Klein Schreibung beachten !! |
|
als sekundäre Datenverbindung
und Ressourcendatei einbinden
Mit der Maus das Control auf das Formular ziehen, dann öffnet sich der Dialog zur Datenquelle – CS auswählen.
Der CSC liefert folgende Werte:
Extras – Datenverbindung- URL angeben: _vti_bin/ProfilService.asmx
weiter, ….
Doppelklick auf Gruppe CS
Aktion1: AccountName (hier in Feld AccountName_prim2) aus AccountID auslesen
Aktion: Wert eines Feldes setzen:
Feld: AccountName_prim2
Wert: auswerten(auswerten(Person; 'concat(my:AccountId,
"")'); "..")
Info: Anwendung von auswerten in wiederholten Feldern http://www.ascentium.com/blog/g/Post223.aspx
auswerten= gibt die Ergebnisse des Knotensatzes zurück
Aktion 2: AccountName nach slash hinter Domäne extrahieren:
Aktion: Wert eines Feldes setzen:
Feld: AccountName_prim21 setzen, aus AccountName_prim2 auslesen)
Wert: teilzeichenfolge-nach(feld; „\“)
Könnte auch über eine Feld erfolgen - wegen der Nachvollziehbarkeit in 2 Felder)
Aktion 1: Wert eines Feldes setzen
Feld: AccountName (aus der sek. Datenquelle!)
Aktion: AccountName_prim21
Aktion 2: Datenverbindung abfragen
Aktion 3: Wert eines Feldes setzen
Feld:
Wert: XPATH Ausdruck:
xdXDocument:GetDOM("GetUserProfileByName")/dfs:myFields/dfs:dataFields/s0:GetUserProfileByNameResponse/s0:GetUserProfileByNameResult/s0:PropertyData[s0:Name
= "WorkEmail"]/s0:Values/s0:ValueData/s0:Value
Hier: WorkEmail