none
Ein Formular - zwei Listen verarbeiten RRS feed

  • Frage

  • Guten Tag!

    Ich würde
    gern für uns ein Timetraking System einrichten.

    Ich habe Eine Liste in der die Arbeitszeiten gespeichert
    werden und jeweils eine weitere Aufgaben-Liste pro Projekt. Im Formular das einen
    neuen Eintrag in der Arbeitszeiten-Liste erstellt kann man eine Projekt-Aufgabe
    auswählen und angeben in welchen Zeitraum an dieser Aufgabe gearbeitet wurde.  Nun würde ich gerne den Fortschritt beim Auswählen
    der Aufgabe  in ein Textfeld im Formular laden
    und den abgeänderten Wert wieder in die ausgewählte Aufgaben-Liste zurück
    schreiben. Ich habe leider keine bis jetzt keine Möglichkeit gefunden Daten in
    einer anderen Liste zu bearbeiten.

    Würde mich sehr über einen Tipp freuen,

    LG Herbert



    • Bearbeitet wesolutions Montag, 20. Februar 2012 10:22
    • Verschoben Alex Pitulice Montag, 27. Februar 2012 09:00 Veschoben (aus:Für IT-Professionals: SharePoint)
    Montag, 20. Februar 2012 10:22

Antworten

  • SharePoint-Formulare sind normalerweise ja eher dafür gedacht, um ein einzelnes Element zu bearbeiten. Für diese Anpassung fallen mir spontan zwei Möglichkeit ein:

    Man könnte per SharePoint-Designer ein HTML-Textfeld einziehen und dieses per JavaScript/Client Object Model mit dem entsprechenden Wert belegen, wenn die gewählte Aufgabe geändert wird. Wird das Formular gespeichert, schreibt man eine entsprechende JavaScript-Funktion namens "PreSaveAction" und implementiert dort die Validierung und Speicherung des Fortschritts. Erfahrungsgemäß sind JavaScript-Anpassungen in SharePoint eine recht komplizierte Sache, wenn man nicht entsprechende Libraries verwendet. Wir haben uns dafür eigene Hilfsfunktionen geschrieben und eine Sammlung an Libs zusammengetragen (z.B. http://spservices.codeplex.com/).

    Die zweite Möglichkeit wäre eine eigene ApplicationPage bzw. ein WebPart. Hier müsste entsprechender Code geschrieben werden, um die Daten entsprechend zu laden, anzuzeigen und zu speichern. Ich persönlich (als Entwickler) würde sagen, dass dies der schnellere Weg wäre. Es setzt natürlich entsprechende SharePoint-Entwicklerkenntnisse vorraus.

    Ich könnte mir vorstellen, dass es mit InfoPath noch eine dritte Möglichkeit gibt - allerdings kenne ich mich damit nicht aus.

    Montag, 27. Februar 2012 12:25
  • Hi,

    wenn ihr "nur" SharePoint Foundation habt, dann sind die von Marco vorgeschlagenen Ansätze schon die besten.

    Habt ihr jedoch SharePoint Server, ist die Variante InfoPath definitv die beste. Du kannst dazu einfach die zweite Liste als sekundäre Quelle mit in das Formular ziehen und beim Absenden auch ein Update an die zweite Liste schicken.

    Hier ist mal eie grundsätzliche Anleitung, um in Listen zu lesen/schreiben:
    http://blogs.msdn.com/b/infopath/archive/2007/03/26/submitting-to-a-sharepoint-list.aspx

    HTH,

      Daniel


    --
    Daniel Wessels
    MVP SharePoint Server: Architecture

    Dienstag, 28. Februar 2012 19:37

Alle Antworten