Partilhar via


Como as regras são avaliadas

Você pode obter alguma idéia de como as regras são avaliadas quando você aplicar várias regras a um campo.Como as regras são avaliadas não não totalmente determinista.Esta seção descreve o comportamento esperado e interações, quando você estiver usando o < quando * >, <DEFAULT> e <COPY> regras.

As seguintes etapas de slides, na correta sequência, as interações que são executadas por Team Foundation Server e pelo usuário de um trabalho -itemformulário. Somente as etapas 1, 8 e 13 são executadas pelo usuário.

  1. Usando o Visual Studio usuáriointerface, o usuário cria um novo item de trabalho ou edita um itemde de trabalho existente.

  2. Preencha o campo padrões.Para todos os campos, use qualquer <DEFAULT> regras que estão fora do < quando * > regras.

  3. Copie os valores de campo .Para todos os campos, use qualquer <COPY> regras que estão fora do < quando * > cláusulas.

  4. Para todos os campos com um <WHEN> regra correspondente, primeiro <DEFAULT> e, em seguida <COPY> regras pré-definidas.

  5. Para todos os campos com um <WHENNOT> regra correspondente, primeiro <DEFAULT> e, em seguida <COPY> regras pré-definidas.

    ObservaçãoObservação

    O Team Foundation Server sempre processa <WHEN> regras antes de <WHENNOT> regras.

  6. Para todos os campos que tiveram seus valores alterados desde a etapa 1 e que contenham <WHENCHANGED> regras, primeiro o <DEFAULT> e, em seguida <COPY> regras pré-definidas.

  7. Permitir ao usuário iniciar a edição.

  8. O usuário altera o valor de um campo e, em seguida, move o foco do campo.

  9. Elevar a qualquer <WHEN> regras para esse campo que corresponde ao novo valor.

  10. Elevar a qualquer <WHENNOT> regras para esse campo que corresponde ao novo valor.

  11. Elevar a qualquer <WHENCHANGED> regras para esse campo que corresponde ao novo valor.

  12. Retorne a capacidade de edição para o usuário.

  13. O usuário salva as alterações para o banco de dados.

  14. Para todos os campos, execute <SERVERDEFAULT> operações que são definidas para o campo direta ou indiretamente em <WHEN> ou <WHENNOT> regra.

Processamento de pressionamento de tecla

Quando um usuário utiliza ainterface gráfica do usuáriopara modificar um trabalho -itemformulário, um novo valor é definido sempre que um pressionamento de tecla seja inserido em um campo. Isso significa que um < quando * > regra pode ocorrer inesperadamente sempre que as condições de pré-requisito da regra forem atendidas.

No exemplo XML a seguir, será esvaziada SubStatus conforme você digita "Aprovado novamente" no campo Status porque o < quando * > regra ocorre assim que o usuário digita a letra "e" aprovado, mesmo se o valor final desejado não for "Aprovar".Por esse motivo, pense com cuidado quando você estiver usando regras condicional.

<FIELD refname="MyCorp.SubStatus" />
<WHEN field="MyCorp.Status" value="Approve" >
<EMPTY />
</WHEN>
</FIELD>

Consulte também

Conceitos

Todas as referências de elementos do campo XML

Atribuir regras e valores baseados em condicionais