Michael Hofer

Michael Hofer
28.06.2010
0 Kommentar(e)

Immer wieder treffen wir auf die Anforderung, verschiedene (Papier-) Formulare durch elektronische Formulare abzulösen. Ein typisches Beispiel hierfür sind Investitionsanträge respektive Beschaffungs-Anträge allgemein. Meist lautet die (Marketing-)Antwort, das dies mit InfoPath respektive den Forms Services von SharePoint und einem SharePoint Designer Workflow sehr einfach zu lösen sei. Der Teufel steckt aber wie immer im Detail. In diesem Beitrag möchte ich einen von uns erfolgreich eingeführten und einfach replizierbaren Lösungsansatz aufzeigen.

Teil 3: Das InfoPath 2010 Formular

Das Formular wurde als erstes mit all seinen Feldern aufbereitet. Damit die Anzeige (z.B. wann die Sektionen zur Bewilligung oder Visierung angezeigt werden) mit möglichst einfachen Regeln versehen werden konnten wurden Hilfs-Datenfelder in den Gruppen „userContext“ und „formContext“ eingeführt, welche beim Öffnen des Formulars gefüllt werden:
  • userContext
    • userAccountName, userDisplayName und userEmail: Über den Standard Profil-Webservice von SharePoint abgefragt
    • isController, isProcurement, isDecisionMaker etc.: Über den 1stQuad-WebService anhand vorgegebener Gruppen respektive je Antrag frei bestimmbarer Benutzer-Felder abgefragt.
  • formContext
    • isEditable: Abhängig von Status-Feld des Formulars und ob der Benutzer in einer bestimmten Rolle ist.
Mit diesen Informationen kann das Formular nun sehr einfach mit Regeln versehen werden. Bevor das Formular an die entsprechende Formular-Bibliothek übermittelt wird, wird noch die aktuelle Laufnummer über einen von 1stQuad entwickelten Web-Service abgefragt. Bei der Übermittlung selber werden alle für den Workflow relevanten Felder (Status, dynamische Akteure/Stellen, Visa-/Entscheid-Informationen etc.) als Spalten für die Formular-Bibliothek übermittelt.

Um sicherzustellen, dass es bei der Bearbeitung der Formulare keine Überschneidungen gibt (Beispiel: Benutzer 1 öffnet das Formular. Währenddem Benutzer 1 das Formular geöffnet hat, öffnet Benutzer 2 ebenfalls das Formular, bearbeitet und speichert es. Speichert nun Benutzer 1 seine Version des Formulars werden die Änderungen von Benutzer 2 überschrieben.), haben wir einen WebService entwickelt, welches das Datum und die Uhrzeit der letzten Änderung am Formular beim Öffnen des Formulars feststellt und diese vor der Speicherung noch einmal abholt um sie zu vergleichen. Wurde das Formular in der Zwischenzeit verändert muss der Benutzer das Formular noch einmal laden und kann erst dann Änderungen speichern.

Investitionsantrag-Formular-Beispiel.png

 
Das könnte Sie ebenfalls interessieren:
Business Workflows in SharePoint mit Nintex

Blog-Archiv

August 2014 (2)
Juli 2014 (7)
Juni 2014 (2)


Das könnte Sie auch interessieren:
Offene Stellen

Kommentar hinterlassen

Kommentar(e)

Noch keine Kommentare.