Verwenden der Regeln <WHEN*>, <DEFAULT> und <COPY>

Aktualisiert: November 2007

In diesem Abschnitt werden das erwartete Verhalten und die Interaktionen beschrieben, die im Zusammenhang mit den Regeln <DEFAULT>, <COPY> und <WHEN*> auftreten. In den folgenden Schritten sind die Interaktionen, die von Team Foundation Server und vom Benutzer eines Arbeitsaufgabenformulars ausgeführt werden, in der ordnungsgemäßen Reihenfolge aufgeführt. Nur die Schritte 1, 8 und 13 werden von einem Benutzer ausgeführt.

  1. Über die Visual Studio-Benutzeroberfläche kann ein Benutzer eine neue Arbeitsaufgabe erstellen oder eine vorhandene Arbeitsaufgabe bearbeiten.

  2. Feldstandardwerte eingeben. Für alle Felder beliebige <DEFAULT>-Regeln verwenden, die außerhalb von <WHEN*>-Regeln liegen.

  3. Feldwerte kopieren. Für alle Felder beliebige <COPY>-Regeln verwenden, die außerhalb von <WHEN*>-Klauseln liegen.

  4. Für alle Felder mit einer übereinstimmenden <WHEN>-Regel zuerst die <DEFAULT>-Regeln und dann die inneren <COPY>-Regeln ausführen.

  5. Für alle Felder mit einer übereinstimmenden <WHENNOT>-Regel zuerst die <DEFAULT>-Regeln und dann die inneren <COPY>-Regeln ausführen.

    Hinweis:

    Der Team Foundation Server verarbeitet <WHEN>-Regeln immer vor <WHENNOT>-Regeln.

  6. Für alle Felder, deren Werte seit Schritt 1 geändert wurden und die <WHENCHANGED>-Regeln enthalten, zuerst die <DEFAULT>-Regeln und dann die inneren <COPY>-Regeln ausführen.

  7. Den Benutzer mit der Bearbeitung beginnen lassen.

  8. Der Benutzer ändert einen Feldwert und verschiebt den Fokus dann aus dem Feld.

  9. Beliebige mit dem neuen Wert übereinstimmende <WHEN>-Regeln für dieses Feld auslösen.

  10. Beliebige mit dem neuen Wert übereinstimmende <WHENNOT>-Regeln für dieses Feld auslösen.

  11. Beliebige mit dem neuen Wert übereinstimmende <WHENCHANGED>-Regeln für dieses Feld auslösen.

  12. Dem Benutzer erneut die Möglichkeit zur Bearbeitung geben.

  13. Der Benutzer speichert die Änderungen in der Datenbank.

  14. Für alle Felder <SERVERDEFAULT>-Vorgänge ausführen, die unter einer <WHEN>-Regel oder einer <WHENNOT>-Regel direkt oder indirekt für das Feld definiert sind.

Verarbeiten von Tastatureingaben

Wenn ein Benutzer ein Arbeitsaufgabenformular über die grafische Benutzeroberfläche bearbeitet, wird bei jeder Tastatureingabe für ein Feld ein neuer Wert festgelegt. Das bedeutet, dass <WHEN*>-Regeln unerwartet auftreten können, sobald Vorbedingungen der Regel erfüllt sind.

Im folgenden XML-Beispiel wird der Inhalt von SubStatus gelöscht, während Sie "Approved Again" in das Statusfeld eingeben. Dies liegt daran, dass die <WHEN*>-Regel auftritt, sobald der Benutzer den im Wort Approved enthaltenen Buchstaben "e" eingibt. Dies gilt auch, wenn der endgültige Wert nicht "Approve" lautet. Aus diesem Grund setzt die Verwendung bedingter Regeln besondere Sorgfalt voraus.

<FIELD refname="MyCorp.SubStatus" />
<WHEN field="MyCorp.Status" value="Approve" >
<EMPTY />
</WHEN>
</FIELD>

Siehe auch

Konzepte

Verfügbare Feldregeln

Verwenden der <WHEN>-, <WHENNOT>- und <WHENCHANGED>-Bedingungen