9

私は TWA の拡張に取り組んでいましたが、奇妙なことが起こりました。
カスタム作業項目を操作するための関数のライブラリがあり、特に特定の作業項目を更新するための関数が含まれていますUpdateContract。私の作業の過程でTeamTask、追加のフィールドを使用して他のカスタム作業項目 ( ) の 1 つを拡張する必要がありました。

もともと、このUpdateContractメソッドは問題なく機能していましたが、明示的な呼び出しを追加した場合にのみ機能item.Open()item.PartialOpen()、それ以外の場合は次の例外がスローされます。

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.

Web アプリから同じタイプの作業項目を取得していますが、そこから変更することはありません。

誰かがこれに少し光を当てることができれば、私は非常に嬉しく思いますTFS。これの原因が何であるかについてまったく手がかりがありません.

4

1 に答える 1

18

問題の作業項目を取得するために使用するクエリは、更新できるようにするために、追加のフィールドを指定する必要があります。

デフォルトでは、TFS にクエリを実行すると、明示的に指定した (必要なフィールドに加えて) ワークアイテムのフィールドのみが返されます。変更したいフィールドを指定しない場合、編集のために作業項目データ全体を遅延ロードするために item.Open() を使用する必要があります。

于 2013-01-02T00:47:21.590 に答える