2011-06-29 3 views
3

標準CMMI-テンプレート要件ワークアイテムに部門承認を追加しました。私はSystem.Stateフィールドをから変更できるように制限したい提案からアクティブすべての部門承認が "はい"に設定されている場合。私はこれが承認フィールドのいずれかが、私が欲しいものである「いいえ」に設定されている場合Stateフィールドが読み取り専用になるようになりRequirement.xml他のフィールドの値に基づいて、TFS要件ワークアイテムの状態変更を提案からアクティブに禁止するにはどうすればよいですか?

<FIELD name="State" refname="System.State" type="String" reportable="dimension"> 
    <WHEN field="Approval.Marketing" value="No"> 
    <READONLY /> 
    </WHEN> 
    <WHEN field="Approval.Quality" value="No"> 
    <READONLY /> 
    </WHEN> 
    <WHEN field="Approval.RD" value="No"> 
    <READONLY /> 
    </WHEN> 
    <WHEN field="Approval.System" value="No"> 
    <READONLY /> 
    </WHEN> 
    <WHEN field="Approval.ProgManagement" value="No"> 
    <READONLY /> 
    </WHEN> 
</FIELD> 

に以下の変更を試してみた
Requirement Work-Item with Approvals

。ただし、承認がすべて最初は「いいえ」であり、状態の初期の「提案済み」デフォルトがREADONLY条件のために設定されないため、新しい要件を作成するときに問題が発生します。私がしたいのは、ロジックを上記のWHEN条件にに、そしてに、System.State = "提案"という条件で追加することです。私は、このような

<FIELD name="State" refname="System.State" type="String" reportable="dimension"> 
    <WHEN field="System.State" value="Proposed"> 
    <WHEN field="Approval.Marketing" value="No"> 
     <READONLY /> 
    </WHEN> 
     . . . 
    </WHEN> 
</FIELD> 

としてWHEN句を入れ子に試してみました。しかし、これは句がWHENが含まれていないことを、インポート時にエラーが発生します。どのように私はアクティブ提案から状態変化を禁止することができます承認フィールドのいずれかが

答えて

0

「いいえ」に設定されている場合、私はあなたがすることができないために働くだろう変化を思い付くことができれば、私は考え出すいくつかの時間を費やし他のフィールドと同じ方法でSystem.Stateの既定値を設定します。私はおそらく50以上のバリエーションを経験したことがあります。確かに、それは理想的ではありませんが、最初の作成後に問題を解決します。

移行ステートのそれぞれに、when句を追加できます。

<State value="Proposed"> 
    <FIELDS> 
    <FIELD refname="Microsoft.VSTS.Common.ResolvedDate"> 
     <EMPTY /> 
    </FIELD> 
    ... 
    <FIELD refname="System.State"> 
     <WHEN field="Microsoft.VSTS.Common.Priority" value="2"> 
     <READONLY /> 
     </WHEN> 
    </FIELD> 
    </FIELDS> 
</State> 

あなたは他の州にはもちろん、あなたの条項を追加する必要があります:私は優先順位フィールドを使用してのようなものをやっていた私の例では、アクティブ閉じられ、解決しました。

これを実行したら、新しい要件を作成します。新しい要件を作成するときは、次の2つのオプションがあります。

すべてのオプションをyesに設定し、stateをproposedに設定して保存します。その後、戻って、noに設定して保存します。

または

カスタムフィールドをすべてデフォルトのyesに変更します。 要件を作成して保存します。編集し、すべての値を「いいえ」に変更して保存します。

この初期のハードルが要件作成時に終わった後は、どちらを選択しても問題ありません。あなたがそれを望んでいた方法で行動します。言い換えると、値のいずれかがnoの場合、状態は読み込み専用になります。

これは、System.Stateフィールドの制限を考えれば、私が思いついた最高のものでした。

関連する問題