none
SharePoint 2010 - Lookup-Felder Übereinstimmungen Zählen RRS feed

  • Frage

  • Hallo

    ich habe eine SharePoint Liste mit Personen, und eine Liste mit Aufträgen.
    In der Auftragsliste habe ich ein Lookup auf die Personen ID und deren Name.

    Ich möchte in der Personenliste (allerdings ohne dort Aufträge anzugeben) eine Auswertung der Anzahl der Aufträge Pro Person.
    (Quasi überall da, wo die ID der Person mit dem Fremdschlüssel in der Auftragsliste übereinstimmt. In SQL einfach zu erledigen aber in SharePoint ? .. )
    Wie realisiere ich das?
    Ein Berechnet Feld lässt sich nicht verwenden, da man dort nicht auf Lookup Felder zugreifen kann.
    Mit einem Workflow kann man zwar Felder setzen, aber ich kann ebenfalls nicht die benötigten Werte einlesen.(Lookup)

    Über Powershell Skript bekomme ich zwar die Werte, dies müsste für jedes Setzen allerdings neu ausgeführt werden.
    Und von Event Receivern wurde mir abgeraten, da diese komplex sind und bei Veränderungen viel Aufwand entsteht.

    Ich bin überfragt ..

    Freitag, 24. Juli 2015 09:16

Antworten

  • Hi,
    ich habe das mal mit einem Workflow getestet und es funktioniert sehr gut. Der Workflow ist auch recht einfach und wird gestartet bei Neuanlage und Bearbeiten eines Auftrages.

    1. ID zur Person merken
    2. Abfragestring erstellen
    3. RequestHeaders formulieren
    4. HTTP Service abrufen
    5. Ergebnisse aus Response holen
    6. Anzahl merken
    7. Person aktualisieren

    Das funktioniert, solange keine Aufträge gelöscht oder anderen Personen zugeordnet werden. Wenn das möglich sein soll, dann muss der Workflow noch verändert werden.


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Mittwoch, 29. Juli 2015 06:53

Alle Antworten

  • Hi,
    ich würde per Workflow beim Hinzufügen eines Auftrages einfach den Zähler bei der Person hochzählen. Problematisch dabei ist aber, wenn Aufträge gelöscht oder anderen Personen zugeordnet werden. Wenn das möglich ist, kann man mit einem Site Workflow die Personenlisten aktualisieren, indem durch alle Personen iteriert wird, zu jeder Person die Aufträge geholt werden und diese gezählt werden.

    Mit einem Event Receiver wäre der Algorithmus ähnlich. Jedoch kann man dann bei jeder Änderung in der Auftragsliste neu zählen.

    Alternative wäre auch in Timer-Job möglich, der regelmäßig die Personenliste aktualisiert.


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Sonntag, 26. Juli 2015 11:44
  • Hi,
    ich habe das mal mit einem Workflow getestet und es funktioniert sehr gut. Der Workflow ist auch recht einfach und wird gestartet bei Neuanlage und Bearbeiten eines Auftrages.

    1. ID zur Person merken
    2. Abfragestring erstellen
    3. RequestHeaders formulieren
    4. HTTP Service abrufen
    5. Ergebnisse aus Response holen
    6. Anzahl merken
    7. Person aktualisieren

    Das funktioniert, solange keine Aufträge gelöscht oder anderen Personen zugeordnet werden. Wenn das möglich sein soll, dann muss der Workflow noch verändert werden.


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Mittwoch, 29. Juli 2015 06:53