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.




Aufgabe wird durch Workflow gesperrt

Unbeantwortet Dieser Beitrag hat 10 Antworten

Ohne Rang
7 Beiträge
Martin Welling erstellt 8 Jan. 2010 18:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe das Problem, dass meine durch einen Workflow erzeugten, Aufgaben sich nicht mehr verändern lassen (z.B. abschließen). Der Workflow, der die Aufgaben erzeugt hat, ist lange abgeschlossen und denoch "denkt" die Aufgabe sie müsste auf einen Status des Workflows warten.

Wie ich im Internet erfahren habe, scheint das Problem ein Bug im SharePoint zu sein und man kann mit

task[

SPBuiltInFieldId.WorkflowVersion] = 1;

die Aufgabe wieder editierbar (oder besser gesagt abschließbar) machen. Mein Problem ist jetzt aber, dass die Aufgabe trotzdem noch mit dem Workflow in Verbindung steht. Man sieht das auch gut daran, da das Feld "Workflowname" mit dem Worklownamen gefüllt ist.

Hat irgendjemand eine Idee wie ich die Verbindung zwischen der Aufgabe und dem Workflow komplett löscht?

Danke für eure Hilfe.

Gruß Martin

Alle Antworten

Ohne Rang
33 Beiträge
Johann Viehböck Als Antwort am 11 Jan. 2010 10:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Martin,

das klingt für mich so, als würde der Workflow nicht auf den Abschluss der jeweiligen Tasks warten, sondern nach dem CreateTask(WithContentType) einfach weiterlaufen. Ist das so? Wenn ja, ist das beabsichtigt?

Gruß, Hans

Ohne Rang
7 Beiträge
Martin Welling Als Antwort am 11 Jan. 2010 11:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Hans,

genauso ist es gewollt. In diesem Fall brauche ich keinen Status aus der Aufgabe, der an die Liste zurückgegeben wird. Hast du eine Ahnung wie ich die Verbindung "trennen" kann?

Danke und Gruß

Martin

Ohne Rang
33 Beiträge
Johann Viehböck Als Antwort am 11 Jan. 2010 12:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Martin,

ok, verstehe. Du möchtest einfach Aufgaben erzeugen, die dann unabhängig vom Workflow abgearbeitet werden.

In diesen Fall würde ich an Stelle der CreateTask eine Code Activity verwenden und mit dieser ein List Item in deiner Aufgabenliste erzeugen. Z.B.: http://msdn.microsoft.com/en-us/library/ms467435.aspx

Gruß, Hans

Ohne Rang
7 Beiträge
Martin Welling Als Antwort am 11 Jan. 2010 13:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Hans,

genauso würde ich es machen, wenn ich noch einmal starten könnte. :-( Leider habe ich schon hunderte Workflows bzw. Aufgaben, die so erzeugt wurden bzw. werden. Ich möchte diese ungern erneut erzeugen. Hast du irgendeine Idee, wie man die Verbindung aufhebt?

Danke und Gruß

Martin

Ohne Rang
33 Beiträge
Johann Viehböck Als Antwort am 11 Jan. 2010 14:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Martin,

also ohne es ausprobiert zu haben, würde ich zuerst mal versuchen, den Inhaltstyp auf eine Standard Aufgabe zu ändern. Aber wie gesagt: ohne Gewähr.

Gruß, Hans

Ohne Rang
7 Beiträge
Martin Welling Als Antwort am 13 Jan. 2010 15:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Hans,

ich dachte ich hätte dir schon geantwortet. Die Aufgaben sind schon Standard Aufgaben. Die Inhaltstypen sind überhaupt nicht eingeschaltet.

Weißt du noch eine andere Lösung?

Gruß Martin

Ohne Rang
33 Beiträge
Johann Viehböck Als Antwort am 14 Jan. 2010 15:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Martin,

ich fürchte, dann bin ich auch auf Try-and-Error angewiesen. Dachte nur, dass es klappen müsste, wenn man eine Workflow Task (Content Type 0x010801) zu einer Standard Task (Content Type 0x0108) macht. Aber das scheint ja wohl nicht der Fall zu sein. Sorry.

Gruß, Hans

Ohne Rang
7 Beiträge
Martin Welling Als Antwort am 14 Jan. 2010 18:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Hans,

hast du vielleicht grob eine Richtung wo ich mit meinem Try und Error anfangen kann? Mir gehen langsam die Ideen aus.

Danke und Gruß

Martin

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 15 Jan. 2010 08:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie erzeugst du denn programmatisch deine Aufgaben? Ist da eventuell schon ein Problem?

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
7 Beiträge
Martin Welling Als Antwort am 15 Jan. 2010 12:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich erzeuge die Aufgabe im Handler einer createTask-Aktivität. Der Code sieht so aus:

 // Neue Guid generieren

taskId =

Guid.NewGuid();

// Den User per ID ermitteln

 

int index = ((String)workflowProperties.Item["Verantwortlichkeit"]).IndexOf(";");

 

int id = Int32.Parse(((String)workflowProperties.Item["Verantwortlichkeit"]).Substring(0, index));

 

SPUser user = workflowProperties.Web.SiteUsers.GetByID(id);

 

// Werte fr die Aufgabe festlegen

 

taskProperties.Title = "Auslauf der Kndigungsfrist am ...";

 

String Beschreibung = "Er läuft am ... aus. <br>"; 

taskProperties.Description = Beschreibung;

taskProperties.AssignedTo = user.LoginName;

taskProperties.DueDate =

DateTime.Parse(tempDate);

HistoryDescription +=

"Aufgabe wurde erfolgreich erstellt. ";

// Die GUID der neuen Aufgabe am Listenelement merken

 

// Den Wert des Feldes updaten

workflowProperties.Item[

"WorkflowTaskId"] = taskId.ToString();

 

// Item updaten

workflowProperties.Item.Update();

 

// Die Liste updaten

workflowProperties.List.Update();

Eine Sache fällt mir gerade noch auf. Ich hab kein Handler für die OnTaskCreate-Aktivität erzeugt. Brauch ich das?

Stellt sich natürlich immer noch die Frage wie ich die Aufgabe vom Workflow trenne?

Gruß Martin