14 September 2011

InfoPath: Personenfelder Mappen

Personenfelder aus dem InfoPath können tatsächlich nicht direkt auf Personenfelder im SharePoint gemappt werden. Hoffentlich kommt das in einer späteren Version. Im Moment kann es nur durch einen Workflow (oder Eventhandler) gelöst werden. Es muss wie folgt vorgegangen werden:



  1. Account-ID des Personenfeldes auf ein Textfeld im SharePoint mappen (DisplayName ist nicht eindeutig).

  2. Workflow im Designer erstellen, der beim Erstellen eines Formulars startet.

  3. Workflow überprüft ob das Textfeld leer ist.

  4. Wenn das Feld nicht leer ist schreibt er die AccountID aus dem Textfeld in ein PeopleFeld aus dem SharePoint. Da die Account-ID eindeutig ist, kann sie in jedem Fall aufgelöst werden und es gibt keinen Fehler. (Wird der Displayname verwendet gibt es hier einen Fehler, sofern es mehrere gleiche Displaynamen gibt).

  5. In der Ansicht oder Auswertungen kann das Personenfeld von SharePoint verwendet werden, das Textfeld wird für den Endbenutzer nicht benötigt und muss nicht angezeigt werden.

Hinweis: Das Personenfeld ist natürlich erst ausgefüllt wenn der Workflow gestartet ist. Gleich nach dem Abspeichern ist das Feld also noch ein paar Sekunden leer.

Keine Kommentare: