2009-08-05 8 views
1

Ich habe 10 Formularbibliotheken auf einer Sharepoint 2007-Site.Wie zeige ich an, welche Benutzer ein Formular in einer Formularbibliothek ausgefüllt haben?

Die Website ist für die Verwendung von 20 "Scholars" vorgesehen. Jeder Scholar (oder jeder von einem Dutzend Sekretariatsmitgliedern, die ihm helfen) kann in eine beliebige Formularbibliothek gehen, [Neu] klicken, um ein Infopath-Formular zu erhalten, den Namen des entsprechenden Gelehrten aus einem Dropdown-Listenfeld auswählen, den Rest ausfüllen das Formular und klicken Sie auf [Senden]. Das Formular wird dann gespeichert (wobei der Titel des Formulars der Scholar-Name ist, der aus der Dropdown-Liste ausgewählt wurde).

Die Besitzer dieser Website möchten in der Lage sein, einen Bericht (zu jeder Zeit) zu erstellen, der alle 20 Gelehrten auflistet und welche der 10 Formulare jeweils ausgefüllt wurden.

 
......................Form1...........Form2............Form3.........etc....Form10 
Scholar Ann Adams.....completed.......not complted.....completed............not completed 
Scholar Beth Baker....completed.......completed........not completed........completed 
etc. 

Irgendwelche Ideen, wie man das automatisiert?

Antwort

0

Für so etwas wie dieses, würde ich ein ItemUpdated Ereignisempfänger verwenden, um zu schreiben Details, die die Form einer separaten Audit Liste aktualisiert wurde. Dann können Sie einfach die Prüfliste abfragen, um den benötigten Bericht zu erhalten.

Um dies zu implementieren, erstellen Sie zuerst die Audit-Liste, die Felder für den Formularnamen und einen Benutzernamen enthält (sowie alles, was Sie für die Protokollierung als nützlich erachten). Erstellen Sie anschließend einen von SPItemEventReceiver abgeleiteten Ereignisempfänger. Der Empfänger muss nur mit Formularbibliotheken arbeiten. Überschreiben Sie in dem Ereignisempfänger die ItemUpdated-Methode, um zu überprüfen, ob das aktualisierte Element ein Formular ist. Wenn dies der Fall ist, protokollieren Sie den Namen des aktualisierten Formulars und den Benutzer, der es aktualisiert hat.

Es gibt ein sehr ähnliches Beispiel unter http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventreceiver.aspx, obwohl es die ItemAttachmentAdded-Methode anstelle von ItemUpdated verwendet.

Einige andere Tutorials, die Ihnen nützlich sein können, sind here und here.