Share via


Anwenden einer Regel auf ein Arbeitsaufgabenfeld

Je nach Datentyp eines Felds können Sie die Eingaben in das Feld auf unterschiedliche Arten einschränken. Sie können Werte für Auswahllisten angeben (Dropdownmenü), Standardwerte vergeben, Einträge löschen oder Änderungen einschränken. Mit bedingten Regeln können Sie Abhängigkeiten zwischen den Werten verschiedener Felder als Basis für die möglichen Werte anderer Felder verwenden. Außerdem können Sie einschränken, wer ein Feld bearbeiten darf oder Regeln nur für bestimmte Gruppen anwenden.

All diese Regelelemente können in der FIELD-Definition einer Arbeitsaufgabentyp (Work Item Type WIT)-Definition festgelegt werden, unterliegen jedoch einigen Einschränkungen für Systemfelder. Mit Ausnahme von HELPTEXT können Sie festlegen, dass diese Regeln bei einem Workflowübergang oder als untergeordnete Elemente in einem FIELD-Element (globaler Workflow) in Kraft treten.

Feldregeln für Arbeitsaufgaben-Nachverfolgungs-XML-Element

Sie können in einem Feld jede Regelkombination definieren, dabei gelten jedoch die in diesem Thema beschriebenen Einschränkungen.

Hilfetext: Geben Sie QuickInfo-Text an, der in einem Arbeitsaufgabenformular für ein Feld angezeigt werden soll.

Auswahlliste: Geben Sie ein Dropdownmenü oder eine Auswahlliste zulässiger, empfohlener oder verbotener Werte an.

Regeln für Wertzuweisungen: Definieren Sie das Laufzeitverhalten und die -einschränkungen:

  • Löschen, Standardwert setzen, Werte kopieren oder Übereinstimmung mit Muster erzwingen

  • Pflichtfelder, Schreibschutz und Einschränken möglicher Feldwerte

  • Einschränken, wer Arbeitsaufgaben erstellen oder bearbeiten darf

Bedingte Regeln: Geben Sie an, welche Regeln für ein übergeordnetes Feld angewendet werden sollen.

Bedingungen anhand der Benutzerrolle festlegen: Wenden Sie Regeln an, die darauf basieren, wer die Arbeitsaufgabe erstellt oder ändert.

Token zum Angeben einer Gruppe verwenden: Geben Sie die Domäne oder den Bereich der Gruppe mithilfe des richtigen Token an.

Welche Regeln können für Systemfelder angewendet werden?

Wie kann ich Validierungsfehler in Personennamenfeldern verhindern?

Gibt es eine Möglichkeit, Auswahllisten mit Mehrfachauswahl zu definieren?

Wo sollte ich eine Feldregel anwenden?

Wie werden Regeln ausgewertet? In welcher Reihenfolge werden die Regeln angewendet?

Wie wirken sich Tastatureingaben auf die Regelauswertung aus?

Wie kann ich die "State"- und "Reason"-Felder ändern?

Wie kann ich ein Feld mit der Summe aus zwei anderen Feldern ausfüllen?

Wann sollte ich Feldregeln für den globalen Workflow definieren?

Feldregeln sind eine der möglichen Methoden zur Ablaufverfolgung von Arbeitsaufgaben. Weitere Informationen dazu finden Sie unter Anpassen der Objekte für die Arbeitsnachverfolgung als Unterstützung der Prozesse des Teams.

Weitere Informationen zum Ändern von Feldern oder zum Hinzufügen von Feldregeln zu einer WIT-Definitionsdatei finden Sie unter Definieren von Arbeitsaufgabenfeldern.

Hilfetext

Sie können den Hilfetext bzw. den QuickInfo-Text bearbeiten, der angezeigt wird, wenn ein Benutzer mit dem Mauszeiger über ein Feld auf einem Arbeitsaufgabenformular fährt. Sie können den Hilfetext für ein Feld ein mal anpassen und lokalisieren und das Feld anschließend in unterschiedlichen WITs und unterschiedlichen Teamprojekten verwenden. Der Hilfetext ist auf 255 Unicode-Zeichen beschränkt.

Das folgende Beispiel zeigt die Zuweisung des Hilfetexts für ein Feld zur Eingabe einer geschäftlichen Begründung:

<FIELD name=”Business Justification” refname="Fabrikam.BusinessJustification" type="String">
<HELPTEXT>Only required when you set the Urgencyfield to Need Immediately. </HELPTEXT>
</FIELD>

Hinweise zu Benutzerhilfen jenseits der Grenze von 255 Zeichen finden Sie unter Bereitstellen von Hilfetext, Links oder Webinhalten für ein Arbeitsaufgabenformular.

Hinweis

Der HELPTEXT trägt zur Größe der gespeicherten Daten bei und kann die Skalierbarkeit beeinträchtigen.Falls Sie mehrere Hundert Teamprojekte in einer einzigen TFS-Instanz verwalten, sollten Sie mit Ihren HELPTEXT-Regeln sparsam umgehen.

Regeln für Auswahllisten

Regeln für Auswahllisten definieren die Werte, die Benutzer in einem Zeichenfolgenfeld auswählen bzw. nicht auswählen können. Die Werte einer Auswahlliste werden in einem Arbeitsaufgabenformular und im Abfrage-Editor angezeigt. Sie können Listen kombinieren, erweitern und verkürzen. Außerdem können Sie die for- und not-Attribute verwenden, um diese Regeln anzuwenden oder zu ignorieren, je nachdem, wer die Arbeitsaufgabe bearbeitet.

Regel

Verwendung

ALLOWEDVALUES

Schränkt anhand der angegebenen Werte ein, welche Werte Benutzer auswählen können.

ALLOWEXISTINGVALUE

Bereits ausgewählte Werte können beibehalten werden, selbst wenn sie nicht mehr Teil der Auswahlliste sind. Verwenden Sie diese Regel, wenn Sie die Feldwerte in einer Auswahlliste ändern oder für Auswahllisten, die Namen von Personen enthalten.

GLOBALLIST

Gibt den Namen einer globalen Liste mit Werten an, die für ein Teamprojekt oder eine Projektsammlung gepflegt werden.

PROHIBITEDVALUES

Verhindert, dass bestimmte Werte zugewiesen werden. Die Arbeitsaufgabe kann nicht gespeichert werden, wenn ein Feld einen unzulässigen Wert enthält.

SUGGESTEDVALUES

Definiert eine Liste auswählbarer Werte. Die Benutzer sind jedoch nicht auf die Auswahl beschränkt. Benutzer können auch Werte angeben, die nicht Teil der Liste sind.

Beispiele für die Verwendung von Auswahllisten finden Sie unter Definieren von Auswahllisten.

Regeln für Wertzuweisungen

Regeln für Wertzuweisungen definieren Laufzeitverhalten und Einschränkungen, z. B. die Angeben von Standardwerten, Löschen von Feldern, Definieren von Pflichtfeldern usw. Mit den for- und not-Attributen können Sie diese Regeln anwenden oder ignorieren, je nachdem, wer die Arbeitsaufgabe bearbeitet.

Löschen, Standardwert setzen, Werte kopieren oder Übereinstimmung mit Muster erzwingen

Diese Regeln unterstützen das Setzen von Standardwerten, Kopieren von Werten zwischen Feldern oder können erzwingen, dass eingegebene Werte mit einem bestimmten Muster übereinstimmen müssen.

Regel

Verwendung

COPY

Kopiert einen angegebenen Wert in ein Feld, wenn ein Benutzer eine Arbeitsaufgabe erstellt oder bearbeitet.

DEFAULT

Gibt einen Wert in ein Feld an, das leer ist, wenn ein Benutzer eine Arbeitsaufgabe erstellt oder bearbeitet. Wenn das Feld bereits einen Wert hat, wird die DEFAULT-Regel ignoriert.

EMPTY

Löscht den vorhandenen Feldwert und setzt das Feld als schreibgeschützt, wenn ein Benutzer die Arbeitsaufgabe speichert. EMPTY sollte nicht zusammen mit READONLY verwendet werden.

EMPTY wird hauptsächlich beim Zustandsübergang verwendet, um Felder zu löschen, die sich auf den Zustand beziehen, in den das Element wechselt.

MATCH

Erzwingt, dass Eingaben in Zeichenfolgenfeldern mit einem angegebenen Buchstaben- oder Zahlenmuster übereinstimmen müssen.

SERVERDEFAULT

Kopiert entweder den aktuellen Benutzernamen oder die Uhrzeit des Servers in ein Feld, wenn ein Benutzer eine Arbeitsaufgabe speichert. Diese Felder sind im Formular normalerweise schreibgeschützt.

Die komplette Syntaxstruktur und Beispiele finden Sie unter Definieren eines Standardwerts oder Kopieren eines Werts in ein Feld.

Pflichtfelder, Schreibschutz und Einschränken möglicher Feldwerte

Diese Regeln definieren Einschränkungen für Angaben oder Änderungen von Feldwerten.

Regel

Verwendung

CANNOTLOSEVALUE

Verhindert, dass Benutzer einen Feldwert löschen können, nachdem ein Wert angegeben wurde.

FROZEN

Verhindert, dass Benutzer einen Feldwert ändern können, nachdem ein Wert angegeben wurde. Sobald ein Benutzer die Arbeitsaufgabe mit einem Wert in diesem Feld speichert, kann der Wert nicht mehr geändert werden.

NOTSAMEAS

Verhindert, dass einem Feld derselbe Wert wie einem bestimmen anderen Feld zugewiesen wird.

READONLY

Verhindert, dass ein Feld verändert werden kann. Sie möchten diese Regel möglicherweise unter bestimmten Bedingungen anwenden. Beispielsweise möchten Sie möglicherweise, nachdem eine Arbeitsaufgabe geschlossen wurde, dafür sorgen, dass ein Feld schreibgeschützt ist, um die Daten für Berichterstellungszwecke beizubehalten.

READONLY sollte nicht zusammen mit dem EMPTY-Element verwendet werden, da EMPTY ein Feld ebenfalls als schreibgeschützt setzt. Kombinationen dieser Elemente führen zu inkonsistenten Ergebnissen.

Mithilfe des Attributs ReadOnly für das Element Control möchten Sie möglicherweise erreichen, dass ein Feld vom Arbeitsaufgabeformular als schreibgeschützt angezeigt wird. Andere Clients können in das Feld schreiben, aber nicht über das Arbeitsaufgabenformular.

REQUIRED

Gibt an, dass Benutzer einen Wert in dieses Feld eingeben müssen. Benutzer können die Arbeitsaufgabe erst speichern, nachdem alle Pflichtfelder ausgefüllt wurden.

Die komplette Syntaxstruktur finden Sie unter Verweis für alle FIELD-XML-Elemente.

Einschränken, wer Arbeitsaufgaben erstellen oder bearbeiten darf

Sie können durch Anwenden des VALIDUSER-Elements auf Personennamenfelder steuern, wer eine Arbeitsaufgabe erstellen oder ändern kann. Durch die Angabe dieses Elements geben Sie an, welcher Benutzer oder welche Gruppe von Benutzern dem Feld als Wert zugewiesen werden kann. Sie können dieses Element festlegen, um das optionale group-Attribut zu unterstützen, das festlegt, dass die dem Feld zugewiesene Person ein direktes oder indirektes Mitglied der angegebenen Gruppe sein muss. Standardmäßig können alle Mitglieder der Gruppe Gültige Team Foundation-Benutzer im Feld angegeben werden.

Das VALIDUSER-Element gilt nur für Zeichenfolgenfelder. Sie können festlegen, ob die Regel für den Benutzer gelten soll, der die Arbeitsaufgabe bearbeitet, indem Sie für das Attribut for bzw. not einen Benutzer oder eine Gruppe angeben.

<VALIDUSER group="groupName" for="userName" not="userName" />

Sie können nur die VALIDUSER-Regel verwenden, wenn Sie auf Personennamenfelder verweisen. Die folgenden Systemfelder sind Beispiele für Personennamenfelder:

  • Aktiviert von (System.ActivatedBy)

  • Zugewiesen an (System.AssignedTo)

  • Autorisiert als (System.AuthorizedAs)

  • Geändert von (System.ChangedBy)

  • Geschlossen von (System.ClosedBy)

  • Erstellt von (System.CreatedBy)

Zusätzlich zu den Systemfeldern können Sie ein benutzerdefiniertes Zeichenfolgenfeld erstellen und als Personennamenfeld verwenden. Außerdem können Sie benutzerdefinierte Personennamenfelder mit Active Directory synchronisieren (syncnamechanges="true" angeben).

Arbeitsaufgabenfelder unterscheiden nicht zwischen Benutzeridentitäten in unterschiedlichen Domänen. "Fabrikam\ctsoapo" und "Contoso\ctsoapo" werden folglich als derselbe Benutzer behandelt, wenn sie in ein Feld eingegeben werden, das die Regel VALIDUSER verwendet.

Bedingte Regeln

Mit bedingten Regeln können Sie angeben, welche Regeln für ein übergeordnetes Feld angewendet werden sollen. Sie können Bedingungen darauf basieren, ob ein anderes Feld einen bestimmten Wert hat (bzw. nicht hat) oder wenn sich ein anderes Feld ändert (bzw. nicht ändert). Bedingte Regelelemente können Auswahllisten und Regeln für Wertzuweisungen enthalten.

Regel

Verwendung

WHEN

Legt die Regeln fest, die auf das übergeordnete Feld angewendet werden, wenn ein anderes Feld einen bestimmten Wert enthält.

WHENNOT

Legt die Regeln fest, die auf das übergeordnete Feld angewendet werden, wenn ein anderes Feld einen bestimmten Wert nicht erhält.

WHENCHANGED

Legt die Regeln fest, die auf das übergeordnete Feld angewendet werden, wenn sich der Wert eines anderes Felds ändert.

WHENNOTCHANGED

Legt die Regeln fest, die auf das übergeordnete Feld angewendet werden, wenn sich der Wert eines anderes Felds nicht ändert.

Sie können mehrere bedingte Regeln pro Feld angeben. Sie können jedoch nur ein Steuerfeld pro bedingte Regel angeben. Bedingte Regeln können nicht verschachtelt werden. Die komplette Syntaxstruktur und Beispiele finden Sie unter Zuweisen bedingter Werte und Regeln.

Regeln anwenden oder ignorieren, je nachdem, wer die Arbeitsaufgabe erstellt oder bearbeitet

Mit den for- und not-Attributen können Sie festlegen, dass Auswahllisten oder Regeln für Wertzuweisungen für bestimmte Benutzergruppen gelten bzw. nicht gelten sollen. Festlegen des Gültigkeitsbereichs von Regeln für Gruppen. Wenn eine Regel für mehrere Gruppen gelten soll, müssen Sie eine übergeordnete TFS-Gruppe erstellen, die die gewünschten Gruppen enthält.

  • Felder nur für eine bestimmte Gruppe als Pflichtfeld definieren:

    Verwenden Sie for, um eine Regel für eine Gruppe anzuwenden. Diese Regel legt fest, dass alle Benutzer in der Gruppe "Junior Analysts" das Feld "Second Approver" ausfüllen müssen.

    <FIELD name="Second Approver">
    <REQUIRED for="Example1\Junior Analysts"/>
    </FIELD>
    
  • Änderungen an einem Feld auf eine Benutzergruppe beschränken:

    Verwenden Sie for, um eine Gruppe von einer Regel auszuschließen. Dieses Beispiel legt fest, dass das "Triage Description"-Feld nur für Benutzer in der Gruppe "Triage Commitee" nicht schreibgeschützt ist.

    <FIELD name="Triage Description">
    <READONLY not="[Project]\Triage Committee" />
    </FIELD>
    
  • Ein Feld nur für bestimmte Benutzer als Pflichtfeld definieren:

    Verwenden Sie eine Kombination aus for und not, um eine Regel für bestimmte Benutzer anzuwenden und andere Benutzer auszuschließen. Dieses Beispiel definiert das Feld "Severity" als Pflichtfeld für Benutzer in der Gruppe "Project Members", schließt jedoch die Mitglieder der Gruppe "Project Admins" aus.

    <FIELD name="Severity">
    <REQUIRED for="[Project]\Project Members" not="[Global]\Project Admins"/>
    </FIELD>
    

    Da Deny Vorrang vor Allow hat, wird die "not"-Anweisung nicht angewendet, wenn ein Benutzer Mitglied beider Gruppen ist, und das Feld wäre in diesem Fall kein Pflichtfeld.

Verwenden von Token zum Verweisen auf Gruppen

Wenn Sie eine Regel auf eine Gruppe anwenden, müssen Sie die Domäne oder den Geltungsbereich der Gruppe angeben. Für manche Werte können Sie Token verwenden.

Personennamenfelder können Werte akzeptieren, die entweder auf Benutzer oder auf Gruppen verweisen. Feldattribute, "for" und "not", auf Gruppen anwenden. Bei der Angabe von Werten für diese Elemente können Sie die folgenden Token verwenden.

  • Team als Geltungsbereich festlegen – [Project]:

    Das [Project]-Token gibt eine Gruppe an, die für ein Teamprojekt definiert ist. Dies kann ein Team, eine integrierte TFS-Gruppe wie z. B. die Gruppe [Project]\Contributors, eine von Ihnen erstellte TFS-Gruppe auf Projektebene oder eine Windows-Gruppe sein, die Sie zu einer TFS-Gruppe hinzugefügt haben. Beispiel:

    • Team: [Project]\Fabrikam Team

      Bei der Teamerstellung wird eine TFS-Gruppe mit den Mitgliedern des Teams erstellt.

    • Teamprojektgruppe: [Project]\Contributors

    • Windows-Gruppe zu einem Teamprojekt hinzugefügt: [Project]\ Triage Committee

    Tipp: Sie finden eine Liste der gültigen Gruppen in der Sicherheitsseite im Team Web Access (TWA)-Verwaltungskontext.

  • Projektsammlung als Geltungsbereich festlegen – [CollectionName]:

    [CollectionName] verweist auf eine TFS-Gruppe auf Sammlungsebene, wie z. B. die Gruppe Projektsammlungsadministratoren oder eine Windows-Gruppe, die Sie zu einer Sammlung hinzugefügt haben. Beispiel:

    <FIELD name="Title">
    <READONLY for="[DefaultCollection]\Project Collection Valid Users"/>
    </FIELD>
    
  • Serverinstanz als Geltungsbereich festlegen – [GLOBAL]:

    Das [GLOBAL]-Token verweist auf eine TFS-Gruppe auf Serverebene, wie z. B. integrierte Gruppen oder eine Windows-Gruppe, die Sie zu einer Sammlung hinzugefügt haben. Beispiel:

    <FIELD name="Title">
    <READONLY for="[Global]\Team Foundation Valid Users"/>
    </FIELD>
    
  • Geben Sie ein Konto oder eine Gruppe mit Domänenqualifizierung an:

    Domänenqualifizierte Kontonamen wie im folgenden Beispiel gezeigt können auf Domänenbenutzer oder -Gruppen verweisen. Manche Regeln unterstützen nur Gruppen und unterstützen keine Verweise auf Domänenbenutzer.

    <LISTITEM value="FABRIKAM\Christie Church’s Direct Reports"/>
    

Alle Benutzer und Gruppen müssen mit einem dieser Token qualifiziert werden. Das folgende XML ist z. B. nicht gültig, da es die angegebene Gruppe nicht mit einem gültigen Token qualifiziert.

<FIELD name="Title">
<READONLY for="Dev Team"/>
</FIELD>

Fragen und Antworten

F: Welche Regeln können für Systemfelder angewendet werden?

A: Systemfelder haben "System.Name"-Verweisnamen wie z. B. "System.Title" und "System.State". TFS schränkt die Anpassung dieser Felder ein, mit den folgenden Ausnahmen:

  • Die HELPTEXT-Regel kann für alle Felder angewendet werden.

  • Die READONLY-Regel kann für die "State"- und "Reason"-Felder angewendet werden.

  • Die meisten Regeln können für die Systemfelder "Title", "Assigned To", "Description" oder "Changed By" angewendet werden.

F: Wie kann ich Validierungsfehler in Personennamenfeldern verhindern?

A: Mit dem ALLOWEXISTINGVALUE-Element im "AssignedTo"-Feld können Sie Validierungsfehler vermeiden, die auftreten können, wenn Mitglieder das Team verlassen und nicht mehr als Projektbeteiligte registriert sind.

<FIELD name="Assigned To" refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension">
   <HELPTEXT>The user who is working on this work item</HELPTEXT>
   <ALLOWEXISTINGVALUE />
   <VALIDUSER />
   <ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
      <LISTITEM value="Active" />
      <LISTITEM value="[project]\Contributors" />
   </ALLOWEDVALUES>
   <DEFAULT from="field" field="System.CreatedBy" />
</FIELD>

F: Gibt es eine Möglichkeit, Auswahllisten mit Mehrfachauswahl zu definieren?

A: Dieses Feature wird nicht systemeigen unterstützt. Sie können jedoch bei Bedarf den Quellcode aus dem folgenden CodePlex-Projekt anpassen: Benutzerdefinierte Steuerelemente für die TFS-Arbeitsaufgabennachverfolgung.

F: Wie kann ich die "State"- und "Reason"-Felder ändern?

A: Die "State"- und "Reason"-Felder werden im WORKFLOW-Bereich der WIT-Definition definiert. Die meisten Feldregeln können bei Zustandsübergängen, Auswahl von Gründen oder bei bestimmten Übergängen angewendet werden. Weitere Informationen dazu finden Sie unter Ändern des Workflows für einen Arbeitsaufgabentyp.

F: Wo sollte ich eine Feldregel anwenden?

A: Wenn eine Regel für ein Feld über die gesamte Lebensdauer der Arbeitsaufgabe gelten soll, definieren Sie die Regel in der FIELD-Definition. Zum Beispiel ein Feld, das für neu angelegte Bugs benötigt wird und das aktiv bleibt, bis der Bug geschlossen wird.

Geben Sie andernfalls eine Regel an, die nur bei Zustandsübergängen ausgewertet werden soll. Diese Regeln werden im WORKFLOW-Bereich in den Elementen STATE, REASON oder TRANSITION definiert. Alle Regeln mit Ausnahme von HELPTEXT können in einem FIELD (Workflow)-Element angewendet werden.

Feldregeln sind additiv. Sie können also vier Regelsätze für dasselbe Feld definieren, die anschließend allesamt vom Regelmodul für Arbeitsaufgaben ausgewertet werden.

  • Arbeitsaufgabentyp-spezifische Regeln gelten unabhängig vom Ort einer Arbeitsaufgabe in deren Zustandsmodell. Eine <REQUIRED />-Regel führt z. B. die folgende Prüfung durch:

    "MyField Value" != NULL

  • Zustandsspezifische Regeln gelten für eine Arbeitsaufgabeninstanz, wenn diese sich in einem bestimmten Zustand befindet. Eine zustandsspezifische Regel wird angewendet, wenn die folgende Bedingung erfüllt ist:

    State field value == "MyState" && "MyField Value" != NULL

  • Übergangsspezifische Regeln werden für bestimmte Übergänge definiert und gelten für eine Arbeitsaufgabe, die einen bestimmten Übergang durchläuft. Diese Regeln werden angewendet, wenn die folgenden Bedingungen erfüllt sind:

    State field value == "ToState"  &&

    "Previous State Before Edit/New" == "FromState"

    && "MyField Value" != NULL

  • Begründungsspezifische Regeln werden für bestimmte Begründungen definiert und gelten für eine Arbeitsaufgabe bei einem bestimmten Übergang. Diese Regeln werden verarbeitet, wenn die folgenden Bedingungen erfüllt sind:

    Reason field == "MyReason" &&

    State field value == "ToState"  &&

    "Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL

Das folgende Beispiel schränkt Änderungen am "Severity"-Feld des Kunden ein, wenn sich die Arbeitsaufgabe im Zustand "Active" befindet.

<STATE name="Active">
   <FIELDS>
      <FIELD refname="MyCorp.Severity" >
         <READONLY />
      </FIELD>
   </FIELDS>
</STATE>

F: Wie werden Regeln ausgewertet?In welcher Reihenfolge werden die Regeln angewendet?

A: Die Regeln werden normalerweise in der Reihenfolge verarbeitet, in der sie aufgelistet sind. Wenn Sie die WHEN*-, DEFAULT- und COPY-Elemente verwenden, kann sich dieses Verhalten jedoch ändern.

Wenden Sie mehrere Regeln auf ein Feld an, um ein Gefühl dafür zu bekommen, wie Regeln ausgewertet werden. Die Auswertung der Regeln ist nicht vollständig deterministisch. Dieser Abschnitt beschreibt das zu erwartende Verhalten und die Interaktionen, wenn Sie die WHEN*-, DEFAULT- und COPY-Regeln verwenden.

Die folgenden Schritte zeigen die von TFS und vom Benutzer durchgeführten Interaktionen mit einem Arbeitsaufgabenformular in der korrekten Reihenfolge. Nur die Schritte 1, 8 und 13 werden vom Benutzer ausgeführt.

  1. Ein Benutzer erstellt eine neue Arbeitsaufgabe oder bearbeitet eine vorhandene Arbeitsaufgabe in einem Team Foundation-Client, z. B. Visual Studio, Team Explorer, Team Web Access oder Team Explorer Everywhere.

  2. Standardwerte ausfüllen. Sämtliche DEFAULT-Regeln, die sich außerhalb von WHEN*-Regeln befinden, auf alle Felder anwenden.

  3. Feldwerte kopieren. Sämtliche COPY-Regeln, die sich außerhalb von WHEN*-Klauseln befinden, auf alle Felder anwenden.

  4. Zunächst DEFAULT und anschließend die enthaltenen COPY-Regeln für alle Felder mit übereinstimmender WHEN-Regeln ausführen.

  5. Zunächst DEFAULT und anschließend die enthaltenen COPY-Regeln für alle Felder mit übereinstimmender WHENNOT-Regeln ausführen.

    TFS verarbeitet WHEN-Regeln immer vor WHENNOT-Regeln.

  6. Für alle Felder, deren Wert sich seit Schritt 1 geändert hat, und die WHENCHANGED-Regeln enthalten, wird zunächst DEFAULT und anschließend die enthaltenen COPY-Regeln ausgeführt.

  7. Benutzer darf nun mit der Bearbeitung beginnen.

  8. Benutzer ändert einen Feldwert und das Feld verliert den Fokus.

  9. Ausführen aller WHEN-Regeln für das Feld, die mit dem neuen Wert übereinstimmen.

  10. Ausführen aller WHENNOT-Regeln für das Feld, die mit dem neuen Wert übereinstimmen.

  11. Ausführen aller WHENCHANGED-Regeln für das Feld, die mit dem neuen Wert übereinstimmen.

  12. Benutzer darf das Feld wieder bearbeiten.

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

  14. Für alle Felder die SERVERDEFAULT-Operationen ausführen, die entweder direkt oder indirekt über eine WHEN- oder WHENNOT-Regel für das jeweilige Feld definiert sind.

F: Wie wirken sich Tastatureingaben auf die Regelauswertung aus?

A: Bei jedem Tastaturanschlag des Benutzers in einem Feld des Arbeitsaufgabenformulars setzt das System einen neuen Wert für das Feld. Bedingte Regeln können daher unerwartet ausgelöst werden, wenn die Bedingungen der Regel erfüllt sind.

Im folgenden XML-Beispiel wird "SubStatus" geleert, wenn ein Benutzer "Approved Again" in das Feld "Status" eingibt, da die WHEN*-Regel ausgelöst wird, sobald der Benutzer den Buchstaben "e" aus Approved eingibt, selbst wenn der eigentliche Text nicht "Approve" sein sollte. Aus diesem Grund sollten Sie bedingte Regeln mit Vorsicht verwenden.

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

F: Wie kann ich ein Feld mit der Summe aus zwei anderen Feldern ausfüllen?

A: Diese Funktion wird zurzeit nicht systemeigen unterstützt.

F: Wann sollte ich Feldregeln für den globalen Workflow definieren?

A: Verwenden Sie den globalen Workflow nur, wenn Sie viele Felder mit gleicher Definition und gleichen Regeln in verschiedenen Teamprojekten verwalten müssen. Ebenso wie globale Listen kann der globale Workflow den Arbeitsaufwand minimieren, wenn Sie Felddefinitionen aktualisieren müssen. Weitere Informationen finden Sie unter Anpassen des globalen Workflows.

Siehe auch

Konzepte

Verweis für alle WIDT-XML-Elemente

Weitere Ressourcen

Definieren von Arbeitsaufgabenfeldern