2012-12-19 9 views
9

Ich habe an einer Erweiterung für unsere TWA gearbeitet und eine seltsame Sache ist passiert.
Wir haben eine Bibliothek von Funktionen für die Arbeit mit unseren benutzerdefinierten Workitems, die unter anderem eine Funktion zum Aktualisieren eines bestimmten enthält - UpdateContract. Im Laufe meiner Arbeit musste ich eines der anderen benutzerdefinierten Work Items (TeamTask) um ein zusätzliches Feld erweitern.Aktualisieren eines vorhandenen Workitems aus Code

Ursprünglich ist die UpdateContract Methode funktionierte kein Problem, aber jetzt funktioniert es nur, wenn ich einen expliziten Aufruf item.Open() oder item.PartialOpen(), um es hinzuzufügen, sonst wirft es die folgende Ausnahme:

ValidationException:
TF400276: You have tried to set a value for a field of a work item which is not opened or partial opened. You cannot set a value for a field of a work item which is not opened or partial opened.

I‘ m Abrufen von Work Items des gleichen Typs aus der Web App, aber nie ändern ich sie von dort.

Ich würde mich sehr freuen, wenn jemand ein bisschen Licht in diese Sache werfen könnte, da ich völlig neu bin in TFS Ich habe keine Ahnung, was die Ursache dafür ist.

Antwort

16

Die Abfrage, die Sie zum Abrufen des betreffenden Workitems verwenden, muss Ihr zusätzliches Feld angeben, damit Sie es aktualisieren können.

Standardmäßig werden bei der Abfrage von TFS nur die Felder des Workitems (zusätzlich zu den erforderlichen) explizit angegeben. Wenn Sie das Feld, das Sie ändern möchten, nicht angeben, müssen Sie item.Open() verwenden, um die gesamten Arbeitselementdaten zum Bearbeiten zu laden.

Verwandte Themen