Sdílet prostřednictvím


Přiřazení podmíněných hodnot a pravidel

Můžete definovat pravidla, která jsou spouštěna podmíněně pomocí WHEN, WHENNOT, WHENCHANGED, a WHENNOTCHANGED prvky.Pomocí těchto pravidel lze definovat, prvky, které jsou spuštěny při klauzule definované True.Můžete definovat podmínky, které jsou založeny na jaké hodnota je přiřazena na konkrétní pole nebo zda uživatel upravuje konkrétním polem.Například můžete vytvořit seznam závislých výběr poskytovat podrobné zabezpečení nebo vlastní chování.

Další prvky, které uvedete v rámci jsou podmínky pole FIELD element (definice) nebo FIELD element (pracovní postup).Další informace o těchto prvků, naleznete v části Referenční dokumentace elementů FIELD (definice) a FIELD (pracovní postup) – element.

Následující kód je jednoduchý příklad WHEN klauzule:

<FIELD . . . >

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

</FIELD>

Tato klauzule znamená, že cokoli v rámci tohoto pole prvku použitelné tak dlouho, dokud pole refname má hodnotu "yyy".Pole musí být platný odkaz na název pole.Další informace naleznete v tématu Vytváření názvů pro objekty sledování pracovní položky.

[!POZNÁMKA]

Hodnota atributu nerozlišuje malá a velká písmena.Proto je-li odkaz na název pole obsahuje "YYY", odpovídá obsahovat hodnoty "yyy" a "YYY".

V tomto tématu

  • Struktura syntaxe pro podmíněného prvky

  • Definování závislé povinné pole

  • Definování podmíněného rozevírací seznam

  • Definování pole, pokud uživatel změní jiného pole (WHENCHANGED)

  • Definování hodnotu pole na základě uživatele, který není upravíte pole (WHENNOTCHANGED)

Struktura syntaxe pro podmíněného prvky

Následující tabulka popisuje podmíněného pravidla, která můžete zadat jako podřízených elementů FIELD element (definice) nebo FIELD element (pracovní postup).Tyto prvky přijmout jednu nebo více z následujících atributů:

  • field: Řetězec, který popisuje pole.Musí obsahovat 1 až 255 znaky.

  • value: Pokud v zadaném poli má tato hodnota pravidla WHEN a WHENNOT prvky, které se použijí na aktuální pole.

Prvek

Syntaxe

Popis

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>

Určuje jedno nebo více pravidel, které mají být použity na aktuální pole při jiného pole má určitou hodnotu.Nadřazený element definuje aktuální pole.

Pokud zadané pole obsahuje zadanou hodnotu, pravidla v tomto elementu jsou uplatňovány na aktuální pole.

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>

Určuje podmínku, pod kterou chcete použít jedno nebo více pravidel na aktuální pole.Pravidla se vztahují na aktuální pole při změně hodnoty jiného pole.Nadřazený element definuje aktuální pole.

Pokud zadané pole neobsahuje zadanou hodnotu, pravidla v tomto elementu jsou uplatňovány na aktuální pole.

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>

Určuje podmínku, pod kterou chcete použít jedno nebo více pravidel na aktuální pole.Pravidla se vztahují na aktuální pole při změně hodnoty jiného pole v revizi na pracovní položku.Nadřazený element definuje aktuální pole.

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>

Určuje podmínku, pod kterou chcete použít jedno nebo více pravidel na aktuální pole.Pravidla se vztahují na aktuální pole při změně hodnoty jiného pole není v revizi na pracovní položku.Nadřazený element definuje aktuální pole.

Následující tabulka popisuje, jak každý volitelný, na základě podmíněných pravidlo se použije pro nadřazený když podmíněného klauzule, kterou určíte pomocí WHEN, WHENNOT, WHENCHANGED, nebo WHENNOTCHANGED element je true.Další informace naleznete v tématu Použití pravidla pro pole pracovní položky.

Prvek

Popis

ALLOWEDVALUES

Nadřazené pole musí mít hodnotu, která byla zaslána ze zadaného seznamu hodnot.

ALLOWEXISTINGVALUE

Hodnota nadřazeného pole, které již existuje bude povoleno, i v případě, že ji porušuje ostatní pravidla.Tento prvek není použitelný, pokud dojde ke změně hodnoty nadřazeného pole.

CANNOTLOSEVALUE

Uživatelé mohou změnit hodnotu pole Nadřazený na hodnotu NULL, ale nelze jej změnit na jinou hodnotu.

KOPIE

Hodnota třetí pole je automaticky zkopírována do nadřazeného pole.Zadejte v poli třetí COPY element.

VE VÝCHOZÍM NASTAVENÍ

Tento prvek určuje výchozí hodnotu pole Nadřazený.

PRÁZDNÝ

Nadřazené pole nesmí obsahovat hodnotu.

ZMRAZENÉ

Nadřazené pole je zablokována.Pokud je zablokována pole, můžete změnit její hodnotu na hodnotu NULL, ale nelze ji změnit na jinou hodnotu.

SHODA

Hodnota nadřazeného pole musí odpovídat vzor, který zadáte.

NOTSAMEAS

Hodnota pole Nadřazený nelze shodovat s hodnotou třetí pole.Zadejte v poli třetí NOTSAMEAS element.

PROHIBITEDVALUES

Nadřazené pole nemůže obsahovat všechny hodnoty v seznamu ve výčtu.

JEN PRO ČTENÍ

Nadřazené pole jen pro čtení.

POŽADOVÁNO

Nadřazené pole musí obsahovat hodnotu, která nemá hodnotu NULL.

SERVERDEFAULT

Pole Nadřazený získávat svou hodnotu z určeného serveru komponenty.Součásti platné serverů clock, což je čas, kdy je aktualizována pracovní položky, a currentuser, což je identita uživatele, který aktualizaci pracovní položku.

SUGGESTEDVALUES

Výčet seznamu jsou uvedeny navržené hodnoty nadřazeného pole.

VALIDUSER

Pouze uživatelé, které zadáte, můžete upravit nadřazeného pole.

Zpět na začátek

Definování závislé povinné pole

Můžete určit, že pole je požadováno pouze v případě, že jiná pole obsahuje určitou hodnotu.V následujícím příkladu Pokud zákazník oznámí chybu, zákazníků závažnosti je povinný.Je-li této chyby nebyla vykáže zákazníka, zákazníků závažnost není vyžadován.

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

Definování podmíněného rozevírací seznam

Následující příklad ukazuje seznam podmíněného výběr ve které povolené hodnoty pro pole Typ problému jsou omezeny, závislosti na tom, zda hodnota pole ProblemCharacteristic je nastaven na dokumentaci.

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

Definování pole, pokud uživatel změní jiného pole (WHENCHANGED)

V následujícím příkladu Jestliže uživatel změní hodnotu pole MyCorp.State je pole MyCorp.StateDate nastaveno na aktuální datum a čas, jak ukazuje clock serveru.

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

Následující příklad Jestliže uživatel změní hodnotu pole MyCorp.State hodnota pole MyCorp.Status, bude odstraněna.

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

Definování hodnotu pole na základě uživatele, který není upravíte pole (WHENNOTCHANGED)

V následujícím příkladu, když uživatel nemění hodnota pole MyCorp.State MyCorp.StateDate pole se stane jen pro čtení.

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

Viz také

Další zdroje

Použití pravidla pro pole pracovní položky

Použití pravidla pro pole pracovní položky