Partilhar via


Atribuir regras e valores baseados em condicionais

Você pode definir regras que são executadas condicionalmente, usando o WHEN, WHENNOT, WHENCHANGED, e WHENNOTCHANGED elementos.Usar essas regras para definir quais elementos são executados quando a cláusula definida é True.Você pode definir condições que sejam baseiam em qual valor é atribuído a um determinado campo ou se um usuário modifica um campo.Por exemplo, você pode criar uma lista de seleção dependentes para fornecer segurança de detalhada ou comportamento personalizado.

Condições de campo são elementos adicionais que você listar dentro de um FIELD elemento (definição) ou o FIELD elemento (fluxo de trabalho).Para obter mais informações sobre esses elementos, consulte Elemento FIELD (definição) e Elemento FIELD (fluxo de trabalho).

O código a seguir é um exemplo simples do WHEN cláusula:

<FIELD . . . >

    <WHEN field="referenceName" value="yyy">

</FIELD>

Essa cláusula significa que qualquer coisa dentro deste elemento de campo é aplicável desde que o campo refname tem o valor "yyy". O campo deve ser um nome de referência decampo válido. Para mais informações, consulte As convenções de nomenclatura para objetos de rastreamento de Item de trabalho.

ObservaçãoObservação

O valor de atributo for maiúsculas e minúsculas-kana.Portanto, se o nome de referência de campo contém "YYY", correspondências incluir os valores "yyy" e "YYY".

Neste tópico

  • Estrutura de sintaxe para elementos condicionais

  • Definir dependentes de um campo obrigatório

  • A definição de uma lista de seleção condicional

  • Definir um campo quando o usuário altera a outro campo (WHENCHANGED)

  • Definindo o valor de um campo com base em um usuário não modificar um campo (WHENNOTCHANGED)

Estrutura de sintaxe para elementos condicionais

A tabela a seguir descreve as regras condicionais que você pode especificar como os elementos filho da FIELD elemento (definição) ou FIELD elemento (fluxo de trabalho).Esses elementos aceitam um ou mais dos seguintes atributos:

  • field: Uma seqüência de caracteres que descreve o campo.Deve conter 1 a 255 caracteres.

  • value: Quando o campo especificado tem esse valor, as regras de WHEN e WHENNOT elementos são aplicados ao campoatual.

Elemento

Sintaxe

Descrição

WHEN

<WHEN field="fieldReferenceName" value="value">
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>
</WHEN>

Especifica uma ou mais regras para aplicar ao campo atual quando outro campo tem um valor específico.O elemento pai define o campoatual.

Quando o campo especificado tem o valor especificado, as regras nesse elemento são aplicadas ao campoatual.

WHENNOT

<WHENNOT field="fieldReferenceName" value="value">
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>
</WHENNOT>

Especifica uma condição sob a qual aplicar uma ou mais regras para o campoatual.As regras aplicar ao atual campo quando o valor de outro campo alterado.O elemento pai define o campoatual.

Quando o campo especificado não contém o valor especificado, as regras nesse elemento são aplicadas ao campoatual.

WHENCHANGED

<WHENCHANGED field="fieldReferenceName" >
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>      
</WHENCHANGED>

Especifica uma condição sob a qual aplicar uma ou mais regras para o campoatual.As regras aplicar ao atual campo quando o valor de outro campo é alterado em uma revisão para um itemde trabalho.O elemento pai define o campoatual.

WHENNOTCHANGED

<WHENNOTCHANGED field="fieldReferenceName">
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>
</WHENNOTCHANGED>

Especifica uma condição sob a qual aplicar uma ou mais regras para o campoatual.As regras aplicar ao atual campo quando o valor de outro campo não é alterado em uma revisão para um itemde trabalho.O elemento pai define o campoatual.

A tabela a seguir descreve como cada regra opcional, com base em condicional é aplicada ao campo pai quando a cláusula condicional que você especifica usando um WHEN, WHENNOT, WHENCHANGED, ou WHENNOTCHANGED elemento for true.Para mais informações, consulte Definir condições em um campo de item de trabalho.

Elemento

Descrição

ALLOWEDVALUES

O pai de campo deve ter um valor que vem da lista de valores especificada.

ALLOWEXISTINGVALUE

O valor do pai campo já existente será permitido, mesmo se ela viola outras regras.Este elemento não é aplicável se o valor do campo pai é alterado.

CANNOTLOSEVALUE

Os usuários podem alterar o valor do campo pai como NULL, mas eles não podem alterá-lo para qualquer outro valor.

CÓPIA

O valor de um terceiro campo é copiado automaticamente para o campodo pai.Especificar o terceiro campo na COPY elemento.

PADRÃO

Este elemento Especifica o valor padrão do pai do campo.

VAZIO

O pai de campo não deve conter um valor.

CONGELADO

campo pai está congelada.Quando um campo está congelada, você pode alterar seu valor como nulo, mas você não pode alterá-lo para qualquer outro valor.

CORRESPONDÊNCIA

O valor do campo pai deve corresponder ao padrão que você especifica.

NOTSAMEAS

O valor do campo pai não pode corresponder ao valor de um terceiro campo.Especificar o terceiro campo na NOTSAMEAS elemento.

PROHIBITEDVALUES

O pai de campo não pode conter quaisquer valores na lista enumerada.

SOMENTE LEITURA

O pai de campo é somente leitura.

NECESSÁRIO

O pai de campo deve conter um valor que não é nulo.

SERVERDEFAULT

O pai de campo leva seu valor do componentede servidor especificado.Os componentes de servidor válido são relógio, que é o tempo quando o item de trabalho é atualizado, e currentuser, que é a identidade do usuário que atualizou o itemde trabalho.

SUGGESTEDVALUES

Lista enumerada contém os valores sugeridos para o campodo pai.

VALIDUSER

Somente os usuários especificados podem modificar o campodo pai.

De volta ao topo

Definir dependentes de um campo obrigatório

Você pode especificar que um campo é necessário somente quando outro campo contém um valor específico.No exemplo a seguir, quando um cliente relata um bug, severidade cliente deve ser especificada.Se não, o bug foi relatado por um cliente, a gravidade de uma cliente não é necessária.

<FIELD refname="MyCorp.Severity" name="Customer Severity" type="String">
    <ALLOWEDVALUES>
        <LISTITEM value="Blocking" />
        <LISTITEM value="Major" />
        <LISTITEM value="Minor" />
    </ALLOWEDVALUES>
    <WHEN field="MyCorp.CustomerReported" value="true">
        <REQUIRED />
    </WHEN>
</FIELD>

A definição de uma lista de seleção condicional

O exemplo a seguir demonstra uma lista de seleção de condicional na qual os valores permitidos para o campo do tipo de problema são limitados, com base em se o valor do campo ProblemCharacteristic é definido documentação.

<FIELD refname="MyCorp.ProblemType" name="Problem Type" type="String">
    <WHEN field="MyCorp.ProblemCharacteristic" value="Documentation">
        <ALLOWEDVALUES>
            <LISTITEM value="Spelling Error" />
            <LISTITEM value="Bad Format" />
            <LISTITEM value="Missing Info" />
        </ALLOWEDVALUES>
    </WHEN>
</FIELD>

Definir um campo quando o usuário altera a outro campo (WHENCHANGED)

No exemplo a seguir, quando um usuário altera o valor do MyCorp.State do campo, o campo do MyCorp.StateDate é definida como a data e hora atuais, como mostra o relógio de servidor.

<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
    <WHENCHANGED field="MyCorp.State">
        <COPY from="clock" />
    </WHENCHANGED>
</FIELD>

No exemplo a seguir, quando um usuário altera o valor do MyCorp.State do campo, o valor do campo MyCorp.Status está desmarcado.

<!-- Clear the status field whenever someone changes the state -->
<FIELD refname="MyCorp.Status" name="Status" type="String">
    <WHENCHANGED field="MyCorp.State">
        <COPY from="value" value="">
    </WHENCHANGED>
</FIELD>

Definindo o valor de um campo com base em um usuário não modificar um campo (WHENNOTCHANGED)

No exemplo a seguir, quando um usuário altera o valor do MyCorp.State do campo, o MyCorp.StateDate do campo será somente leitura.

<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<!-- Make the StateDate field read-only when the State field is not changed -->
    <WHENNOTCHANGED field="MyCorp.State">
        <READONLY />
    </WHENNOTCHANGED>
</FIELD>

Consulte também

Conceitos

Todas as referências de elementos do campo XML

Outros recursos

Definir condições em um campo de item de trabalho

Trabalhando com regras do campo