SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Listenworkflow ausführen wenn Items als SystemAccount angelegt werden?

Unbeantwortet Dieser Beitrag hat 6 Antworten

Ohne Rang
46 Beiträge
Markus Doll erstellt 12 Okt. 2012 15:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

meine C# Applikation legt in einer Sharepointliste, an die ein Workflow gekünpft ist, Items an.

Dadurch, das ich in der App als UserToken .SystemAccount nehme, ist Systemaccount auch der Author der Einträge, wodurch der Workflow nicht gestartet wird.

Gibt es irgendeine Möglichkeit entweder, die Ausführung von Workflows auch für den Systemaccount zu ermöglichen oder eine Möglichkeit mich beim SPSite Aufruf als anderer User anzumelden?

Vielen Dank & Gruß,

Markus

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Okt. 2012 15:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

In solchen Fällen instanziert man die SPSite und das SPWeb als SystemAccount (wie Du es schon hast) und holt sich dann über SPWeb.EnsureUser einen geeigneten Benutzer. Mit diesem instanziert man dann ein anderes SPSite-Objekt und arbeitet damit.

SPSite userSite = new SPSite(adminSite.ID, user.UserToken)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
46 Beiträge
Markus Doll Als Antwort am 12 Okt. 2012 16:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke Andi,

Du bist - mal wieder - mein persönlicher Held des Tages.

Schönes Wochenende!

Ohne Rang
46 Beiträge
Markus Doll Als Antwort am 12 Okt. 2012 16:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Klappt leider doch noch nicht so ganz.

Das ListItem wird jetzt zwar unter dem über EnsureUser ausgewählten User angelegt, jedoch startet der Workflow nicht.

Melde ich mich manuel am Sharepoint mit diesem User an und erstelle ein Item, läuft hingegen alles so wie es soll.

Hast Du das schonmal gehabt? Gibt es etwas was ich beim programmatischen anlegen von Items beachten muss, wenn der Workflow - wie normal - starten soll?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Okt. 2012 17:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Legst Du das Item vielleicht per SystemUpdate() an? Dann mache stattdessen ein normales Update().

Hast Du vielleicht noch irgendwelche EventRceiver darauf, die das stören könnten?

Sonst fällt mir nichts dazu ein. Ich habe ein ähnliches Vorgehen schon in mehereren Projekten umgesetzt und da startet auch der Workflow.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
46 Beiträge
Markus Doll Als Antwort am 12 Okt. 2012 17:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, ich lege es über .Update() an und auf der Liste sind keine Eventreceiver drauf.

Wie gesagt, wenn ich ein Item manuel anlege, gehts.

Ich habe gerade mal das Item geöffnet und den Workflow manuel gestartet, das ging dann.

Ok, und nun habe ich nach dem .Update() noch den Workflow aus dem Code heraus gestartet...jetzt läufts...auch wenn's so wahrscheinlich nicht gedacht ist...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Okt. 2012 14:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Markus Doll"]Ok, und nun habe ich nach dem .Update() noch den Workflow aus dem Code heraus gestartet...[/quote]

Das sollte eigentlich nicht notwendig sein, aber Hauptsache es läuft :-)

Viele Grüße
Andi
af @ evocom de
Blog