Partilhar via


Usando o <when><whennot>e condições <whenchanged>

[Observação: Este tópico é pré-versão documentação e está sujeitas a alterações em versões futuras. Tópicos em branco são incluídos sistema autônomo espaços reservados.]

Você pode definir regras que são executadas condicionalmente, usando quando, WHENNOT WHENCHANGED e WHENNOTCHANGED elementos.Essas regras definem quais elementos são executados quando a cláusula definida é True. Por exemplo, você pode criar uma lista dependentes para fornecer segurança detalhada ou comportamento personalizado.Este é um exemplo da cláusula WHEN simples:

<FIELD ...>

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

</FIELD>

Essa cláusula significa que qualquer coisa dentro do elemento FIELD é aplicável sistema autônomo longo sistema autônomo o campo refnameh sistema autônomo o valor "yyy." O campo deve ser um nome de referência de campo válido.Para obter mais informações, consulte Nomes de referência de campo.

Observação:

O atributo valor não faz distinção entre maiúsculas e minúsculas.Portanto, se o campo refname contém 'YYY', correspondências incluir o valor = "yyy" ou "YYY."

Exemplos

Lista Selecionar dependentes

O exemplo a seguir demonstra uma lista dependentes no qual os valores permitidos para o tipo de problema são limitados, com base no valor de ProblemCharacteristic:

<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>

Campos obrigatórios

O exemplo a seguir mostra uma alterar em campos obrigatórios.Nesse cenário, quando um bug for relatado pelo cliente, severidade cliente deve ser inserida.Se o bug não foi relatado por um cliente, a gravidade de cliente não será necessária.

QUANDO

<WHEN>

Exemplo

<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>

Condição   Qualquer coisa dentro deste elemento é aplicável sistema autônomo longo sistema autônomo o campo Customer Reported h sistema autônomo é um valor e valor true.

WHENNOT

<WHENNOT>

Exemplo

<WHENNOT field="refname" value="yyy">
</WHENNOT>

Condição   Qualquer coisa dentro deste elemento é aplicável sistema autônomo longo sistema autônomo o campo refname h sistema autônomo um valor, mas esse valor não é yyy.

WHENCHANGED

<WHENCHANGED>

Exemplo

<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
    <WHENCHANGED field="MyCorp.State">
        <COPY from="clock" />
    </WHENCHANGED>
</FIELD>
<!-- 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>

Condição   Qualquer coisa dentro deste elemento é aplicável quando o campo refname foi modificado pelo usuário.

WHENNOTCHANGED

<WHENNOTCHANGED>

Exemplo

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

Condição   Qualquer coisa dentro deste elemento é aplicável mesmo tempo que o campo refname não foi alterado.

Consulte também

Conceitos

Regras de campo disponível