Возможно ли идентифицировать несколько значений в правиле WHENNOT при определении объекта WIT?

#visual-studio #tfs

#visual-studio #tfs

Вопрос:

Мы пытаемся предоставить новое поле только двум группам (из многих) в командном проекте TFS. Мы хотели бы реализовать правило для объекта WIT, для которого несколько значений удовлетворяли бы проблеме.

Мы попробовали вложенный..

 <WHENNOT field="System.AreaId" value="1"/>
<WHENNOT field="System.AreaId" value="2"/>
  

повторяется…

 <WHENNOT field="System.AreaId" value="1">
</WHENNOT>
<WHENNOT field="System.AreaId" value="2">
</WHENNOT>
  

и некоторые предположения о синтаксисе..

 <WHENNOT field="System.AreaId" value="1 or 2"/>
<WHENNOT field="System.AreaId" value="1 || 2"/>
<WHENNOT field="System.AreaId" value="1, 2"/>
  

без достижения желаемого результата.

 <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">
    <HELPTEXT>Initial value for Remaining Work - set once, when work begins</HELPTEXT>
    <WHENNOT field="System.AreaId" value="24">
        <READONLY />
    </WHENNOT>
    <WHENNOT field="System.State" value="To Do">
        <READONLY />
    </WHENNOT>
    <WHEN field="System.State" value="Done">
        <REQUIRED />
    </WHEN>
</FIELD>
  

Мы хотели бы показать поле в зависимости от того, связано ли поле WIT с идентификатором области 1 или 2, но в противном случае скрыть от всех остальных.

Комментарии:

1. Сколько у вас областей? Я думаю, вы не можете объединить 2 WHENNOT, потому что они отменяют друг друга. вам нужно использовать WHEN — RADONLY для всех областей (кроме 1 и 2).

2. Спасибо Шейки. Я не смотрел на это под этим углом, но это сработает. К сожалению, есть много областей, которые нам нужно будет включить в шаблон.

3. Много работы … обновите здесь, если это сработало 🙂

4. Да, это сработало, однако я не могу пометить ваш комментарий как решение. Он должен появиться в разделе ответов, чтобы я мог обозначить его как правильный метод.

5. Отлично! Я добавил это сейчас в качестве ответа.

Ответ №1:

Вы не можете объединить 2 WHENNOT , потому что они отменяют друг друга.

Вам нужно использовать <WHEN field="System.AreaId" value="{id}"> <READONLY> </WHEN> со всеми областями (кроме 1 и 2).