2012-12-19 12 views
9

Ho lavorato a un'estensione per il nostro TWA e una cosa curiosa è accaduta.
Abbiamo una libreria di funzioni per lavorare con i nostri articoli di lavoro personalizzati, contenenti, tra gli altri, una funzione per l'aggiornamento di uno specifico - UpdateContract. Nel corso del mio lavoro avevo bisogno di estendere uno degli altri elementi di lavoro personalizzati (TeamTask) con un campo aggiuntivo.Aggiornamento di un elemento di lavoro esistente dal codice

In origine, il metodo UpdateContract ha funzionato senza alcun problema, ma ora funziona solo se posso aggiungere un esplicito chiamata a item.Open() o item.PartialOpen() ad esso, altrimenti si genera la seguente eccezione:

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 recuperando oggetti di lavoro dello stesso tipo dall'app Web, ma non li cambio mai da lì.

Sarei molto felice se qualcuno potesse gettare un po 'di luce in questo, essendo totalmente nuovo a TFS Non ho idea di quale sia la causa di questo.

risposta

16

La query che si utilizza per recuperare l'elemento di lavoro in questione deve specificare il campo aggiuntivo in modo che sia possibile aggiornarlo.

Per impostazione predefinita, quando si esegue una query su TFS, vengono restituiti solo i campi dell'elemento di lavoro (oltre a quelli richiesti) specificati in modo esplicito. Se non si specifica il campo che si desidera modificare, sarà necessario utilizzare item.Open() per caricare lentamente tutti i dati dell'oggetto di lavoro per la modifica.

Problemi correlati