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 |
|
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 |
|
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 |
|
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 |
|
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 |
---|---|
Nadřazené pole musí mít hodnotu, která byla zaslána ze zadaného seznamu hodnot. |
|
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. |
|
Uživatelé mohou změnit hodnotu pole Nadřazený na hodnotu NULL, ale nelze jej změnit na jinou hodnotu. |
|
Hodnota třetí pole je automaticky zkopírována do nadřazeného pole.Zadejte v poli třetí COPY element. |
|
Tento prvek určuje výchozí hodnotu pole Nadřazený. |
|
Nadřazené pole nesmí obsahovat hodnotu. |
|
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. |
|
Hodnota nadřazeného pole musí odpovídat vzor, který zadáte. |
|
Hodnota pole Nadřazený nelze shodovat s hodnotou třetí pole.Zadejte v poli třetí NOTSAMEAS element. |
|
Nadřazené pole nemůže obsahovat všechny hodnoty v seznamu ve výčtu. |
|
Nadřazené pole jen pro čtení. |
|
Nadřazené pole musí obsahovat hodnotu, která nemá hodnotu NULL. |
|
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. |
|
Výčet seznamu jsou uvedeny navržené hodnoty nadřazeného pole. |
|
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>