Freigeben über


Zuweisen bedingter Werte und Regeln

Sie können Regeln definieren, die bedingt ausgeführt werden, indem die Elemente WHEN, WHENNOT, WHENCHANGED und WHENNOTCHANGED verwendet werden. Sie verwenden diese Regeln zum Definieren, welche Elemente ausgeführt werden, wenn die definierte Klausel True entspricht. Sie können Bedingungen definieren, die darauf basieren, welcher Wert einem bestimmten Feld zugewiesen ist, oder darauf, ob ein Benutzer ein bestimmtes Feld ändert. Beispielsweise können Sie eine abhängige Auswahlliste erstellen, um eine detaillierte Sicherheit oder ein benutzerdefiniertes Verhalten bereitzustellen.

Feldbedingungen sind zusätzliche Elemente, die Sie im Element "FIELD (Definition)" oder im Element "FIELD (Workflow)" auflisten. Weitere Informationen zu diesen Elementen finden Sie unter FIELD (Definition)-Elementverweis und FIELD (Workflow)-Elementverweis.

Der folgende Code ist ein einfaches Beispiel der WHEN-Klausel:

<FIELD . . . >

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

</FIELD>

Diese Klausel bedeutet, dass alles in diesem FIELD-Element verfügbar ist, solange das Feld refname den Wert "yyy" aufweist. Das Feld muss ein gültiger Feldverweisname sein. Weitere Informationen finden Sie unter Benennungskonventionen für Arbeitsaufgabenverfolgungs-Objekte.

Hinweis

Die Groß- und Kleinschreibung wird beim Wertattribut berücksichtigt.Wenn der Feldverweisname "YYY" aufweist, umfassen Treffer daher die Werte "yyy" und "YYY".

In diesem Thema

  • Syntaxstruktur für bedingte Elemente

  • Definieren eines abhängigen erforderlichen Felds

  • Definieren einer bedingten Auswahlliste

  • Definieren eines Felds, wenn der Benutzer ein anderes Feld ändert (WHENCHANGED)

  • Definieren eines Feldwerts auf Basis der vorgenommenen Änderung eines Felds durch einen Benutzer (WHENNOTCHANGED)

Syntaxstruktur für bedingte Elemente

Die folgende Tabelle beschreibt bedingte Regeln, die Sie als untergeordnete Elemente des Elements "FIELD (Definition)" oder des Elements "FIELD (Workflow)" angeben können. Diese Elemente akzeptieren mindestens eins der folgenden Attribute:

  • field: Eine Zeichenfolge, die das Feld beschreibt. Muss 1–255 Zeichen aufweisen.

  • value: Wenn das angegebene Feld diesen Wert aufweist, werden die Regeln in den Elementen WHEN und WHENNOT auf das aktuelle Feld angewendet.

Element

Syntax

Beschreibung

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>

Legt mindestens eine Regel fest, die auf das aktuelle Feld angewendet wird, wenn ein anderes Feld einen bestimmten Wert enthält. Das übergeordnete Element definiert das aktuelle Feld.

Wenn das angegebene Feld den angegebenen Wert aufweist, werden die Regeln in diesem Element auf das aktuelle Feld angewendet.

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>

Gibt eine Bedingung an, unter der eine oder mehrere Regeln auf das aktuelle Feld angewendet werden. Die Regeln gelten für das aktuelle Feld, wenn sich der Wert eines anderen Felds ändert. Das übergeordnete Element definiert das aktuelle Feld.

Wenn das angegebene Feld den angegebenen Wert nicht aufweist, werden die Regeln in diesem Element auf das aktuelle Feld angewendet.

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>

Gibt eine Bedingung an, unter der eine oder mehrere Regeln auf das aktuelle Feld angewendet werden. Die Regeln gelten für das aktuelle Feld, wenn der Wert eines anderen Felds bei einer Überarbeitung einer Arbeitsaufgabe geändert wird. Das übergeordnete Element definiert das aktuelle Feld.

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>

Gibt eine Bedingung an, unter der eine oder mehrere Regeln auf das aktuelle Feld angewendet werden. Die Regeln gelten für das aktuelle Feld, wenn der Wert eines anderen Felds bei einer Überarbeitung einer Arbeitsaufgabe nicht geändert wird. Das übergeordnete Element definiert das aktuelle Feld.

Die folgende Tabelle beschreibt, wie jede optionale, bedingungsbasierte Regel auf das übergeordnete Feld angewendet wird, wenn die bedingte Klausel, die Sie mithilfe eines WHEN-, WHENNOT-, WHENCHANGED- oder WHENNOTCHANGED-Elements angeben, "true" ist. Weitere Informationen finden Sie unter Anwenden einer Regel auf ein Arbeitsaufgabenfeld.

Element

Beschreibung

ALLOWEDVALUES

Dieses übergeordnete Feld muss einen Wert aufweisen, der aus der angegebenen Liste der Werte stammt.

ALLOWEXISTINGVALUE

Der Wert des übergeordneten Felds, das bereits vorhanden ist, ist zulässig, selbst wenn er andere Regeln verletzt. Dieses Element steht nicht zur Verfügung, wenn sich der Wert des übergeordneten Felds ändert.

CANNOTLOSEVALUE

Benutzer können den Wert des übergeordneten Felds zu NULL ändern, aber nicht in einen anderen Wert.

COPY

Der Wert eines dritten Felds wird automatisch in das übergeordnete Feld kopiert. Sie geben das dritte Feld im Element COPY an.

DEFAULT

Dieses Element gibt den Standardwert des übergeordneten Felds an.

EMPTY

Das übergeordnete Feld darf keinen Wert enthalten.

FROZEN

Das übergeordnete Feld ist fixiert. Wenn ein Feld fixiert ist, können Sie dessen Wert zu NULL, aber nicht zu einem anderen Wert ändern.

MATCH

Der Wert des übergeordneten Felds muss mit dem von Ihnen angegebenen Muster übereinstimmen.

NOTSAMEAS

Der Wert des übergeordneten Felds kann nicht mit dem Wert eines dritten Felds übereinstimmen. Sie geben das dritte Feld im Element NOTSAMEAS an.

PROHIBITEDVALUES

Das übergeordnete Feld kann keine Werte in der Aufzählungsliste enthalten.

READONLY

Das übergeordnete Feld ist schreibgeschützt.

REQUIRED

Das übergeordnete Feld darf einen Wert enthalten, der nicht NULL entspricht.

SERVERDEFAULT

Das übergeordnete Feld übernimmt den Wert der angegebenen Serverkomponente. Die gültige Serverkomponenten lauten clock, hierbei handelt es sich um die Uhrzeit, wann die Arbeitsaufgabe aktualisiert wird, und currentuser, hierbei handelt es sich um die Identität des Benutzers, der die Arbeitsaufgabe aktualisiert hat.

SUGGESTEDVALUES

Die Aufzählungsliste enthält vorgeschlagene Werte für das übergeordnete Feld.

VALIDUSER

Nur die von Ihnen angegebenen Benutzer können das übergeordnete Feld ändern.

Zurück nach oben

Definieren eines abhängigen erforderlichen Felds

Sie können angeben, dass ein Feld nur erforderlich ist, wenn ein anderes Feld einen bestimmten Wert enthält. Im folgenden Beispiel muss der Kundenschweregrad angegeben werden, wenn ein Kunde einen Fehler meldet. Wenn der Fehler nicht durch einen Kunden gemeldet wurde, ist kein Kundenschweregrad erforderlich.

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

Definieren einer bedingten Auswahlliste

Das folgende Beispiel veranschaulicht eine bedingte Auswahlliste, in dem die zulässigen Werte für das Feld "Problem Type" begrenzt sind, und zwar abhängig davon, ob der Wert des Feld "ProblemCharacteristic" auf "Documentation" festgelegt ist.

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

Definieren eines Felds, wenn der Benutzer ein anderes Feld ändert (WHENCHANGED)

Im folgenden Beispiel wird das Feld "MyCorp.StateDate" auf das aktuelle Datum bzw. die aktuelle Uhrzeit festgelegt, die die Serveruhr anzeigt, wenn ein Benutzer den Wert des Felds "MyCorp.State" ändert.

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

Im folgenden Beispiel wird der Wert des Felds "MyCorp.Status" gelöscht, wenn ein Benutzer den Wert des Felds "MyCorp.State" ändert.

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

Definieren eines Feldwerts auf Basis der vorgenommenen Änderung eines Felds durch einen Benutzer (WHENNOTCHANGED)

Im folgenden Beispiel wird das Feld "MyCorp.StateDate" schreibgeschützt, wenn ein Benutzer den Wert des Felds "MyCorp.State" ändert.

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

Siehe auch

Weitere Ressourcen

Anwenden einer Regel auf ein Arbeitsaufgabenfeld

Anwenden einer Regel auf ein Arbeitsaufgabenfeld