Sdílet prostřednictvím


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

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

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

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

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

ALLOWEDVALUES

Nadřazeného 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 dalších pravidel. Tento element není použitelný, pokud se změní hodnotu nadřazeného pole.

CANNOTLOSEVALUE

Uživatelé mohou změnit hodnotu nadřazeného pole na hodnotu NULL, ale jejich nelze změnit na jinou hodnotu.

KOPÍROVÁNÍ

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

VÝCHOZÍ HODNOTA

Tento element určuje výchozí hodnotu nadřazeného pole.

PRÁZDNÝ

Nadřazeného pole nesmí obsahovat hodnotu.

ZMRAZENÉ

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.

SHODA

Hodnota nadřazeného pole musí odpovídat vzorku, který určíte.

NOTSAMEAS

Hodnota nadřazeného pole nesmí shodovat s hodnotou třetí pole. Zadejte v poli třetí NOTSAMEAS elementu.

PROHIBITEDVALUES

Nadřazeného pole nesmí obsahovat žádné hodnoty v seznamu ve výčtu.

JEN PRO ČTENÍ

Nadřazeného pole je jen pro čtení.

POŽADOVÁNO

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

SERVERDEFAULT

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.

SUGGESTEDVALUES

Výčtový seznam obsahuje navržené hodnoty nadřazeného pole.

VALIDUSER

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>

Viz také

Další zdroje

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

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