Assign conditional-based values and rules
Můžete definovat pravidla, které jsou spouštěny podmíněně pomocí WHEN, WHENNOT, WHENCHANGED, a WHENNOTCHANGED elementů. Pomocí těchto pravidel lze definovat, prvky, které jsou spuštěny při klauzuli 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 poskytnout podrobné zabezpečení nebo vlastní chování.
Další elementy, které uvedete v rámci jsou podmínky pole FIELD element (definice) nebo na FIELD element (pracovní postup). Další informace o těchto prvků, naleznete v části FIELD (Definition) element reference a FIELD (pracovní postup) – element (referenční dokumentace).
Následující kód je jednoduchý příklad WHEN klauzule:
<FIELD . . . >
<WHEN field="referenceName" value="yyy">
</FIELD>
Tato klauzule znamená, že nic v rámci elementu toto pole je platných 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
Syntaxe strukturu pro podmíněné elementy
Definování následníkem povinné pole
Definování podmíněného rozevírací seznam
Definování pole, když uživatel provede změny jiné pole (WHENCHANGED)
Definování hodnotu pole na základě uživatele, který není úpravy pole (WHENNOTCHANGED)
Syntaxe strukturu pro podmíněné elementy
Následující tabulka popisuje podmíněné pravidla, která můžete určit jako podřízené prvky 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 znaků.
value: Pokud v zadaném poli má tato hodnota pravidla v WHEN a WHENNOT elementy se použijí na aktuální pole.
Element |
Syntaxe |
Popis |
---|---|---|
WHEN |
|
Určuje jedno nebo více pravidel, která má být použita pro aktuální pole, má-li jiné pole konkrétní hodnotu. Nadřazený element definuje aktuální pole. Pokud zadané pole obsahuje zadanou hodnotu, jsou použita pravidla v tomto elementu na aktuální pole. |
WHENNOT |
|
Určuje podmínku, pod kterou chcete-li použít jedno nebo více pravidel na aktuální pole. Pravidla se vztahují na aktuální pole při změně hodnoty jiné pole. Nadřazený element definuje aktuální pole. Pokud zadané pole neobsahuje zadanou hodnotu, jsou použita pravidla v tomto elementu na aktuální pole. |
WHENCHANGED |
|
Určuje podmínku, pod kterou chcete-li 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-li 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é pravidlo se použije pro nadřazený když klauzuli podmíněné, který 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.
Element |
Popis |
---|---|
Nadřazeného 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 dalších pravidel. Tento element není použitelný, pokud se změní hodnotu nadřazeného pole. |
|
Uživatelé mohou změnit hodnotu nadřazeného pole na hodnotu NULL, ale jejich nelze změnit na jinou hodnotu. |
|
Hodnota třetí pole automaticky zkopírován do nadřazeného pole. Zadejte v poli třetí COPY elementu. |
|
Tento element určuje výchozí hodnotu nadřazeného pole. |
|
Nadřazeného pole nesmí obsahovat hodnotu. |
|
Nadřazeného pole je zablokována. Pokud je zablokována pole, můžete změnit jeho hodnotu na hodnotu NULL, ale je nelze změnit na jinou hodnotu. |
|
Hodnota nadřazeného pole musí odpovídat vzorku, který určíte. |
|
Hodnota nadřazeného pole nesmí shodovat s hodnotou třetí pole. Zadejte v poli třetí NOTSAMEAS elementu. |
|
Nadřazeného pole nesmí obsahovat žádné hodnoty v seznamu ve výčtu. |
|
Nadřazeného pole je jen pro čtení. |
|
Nadřazeného pole musí obsahovat hodnotu, která není NULL. |
|
Pole Nadřazený získávat svou hodnotu z určeného serveru komponenty. Platný název serveru součásti jsou clock, což je čas aktualizace s pracovní položkou, a currentuser, což je identita uživatele, který provedl aktualizaci pracovní položku. |
|
Výčtový seznam obsahuje navržené hodnoty nadřazeného pole. |
|
Pouze pro uživatele, kterým je zadat lze upravit nadřazeného pole. |
Zpět na začátek
Definování následníkem povinné pole
Můžete určit, že pole je třeba zadat pouze v případě, že jiné pole obsahuje konkrétní hodnotu. V následujícím příkladu Pokud zákazník oznámí chybu, zákazníků závažnosti musí být zadán. Pokud této chyby nebyla nahlášena zákazníkem, 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ých výběr ve kterém povolené hodnoty v poli Typ problému jsou omezeny, závislosti na tom, zda je nastavena hodnota pole ProblemCharacteristic 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, když uživatel provede změny jiné pole (WHENCHANGED)
V následujícím příkladu, jestliže uživatel změní hodnotu pole MyCorp.State MyCorp.StateDate pole je 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>
V následujícím příkladu Jestliže uživatel změní hodnotu pole MyCorp.State hodnota pole MyCorp.Status zaškrtnuto.
<!-- 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í úpravy 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>