Utilisation des règles <WHEN*>, <DEFAULT> et <COPY>
Mise à jour : novembre 2007
Cette section décrit le comportement et les interactions attendus lors de l'utilisation des règles <DEFAULT>, <COPY> et <WHEN*> . Les étapes suivantes affichent, dans la bonne séquence, les interactions exécutées par Team Foundation Server et par l'utilisateur d'un formulaire d'élément de travail. Seules les étapes 1, 8 et 13 sont exécutées par un utilisateur.
À l'aide de l'interface utilisateur de Visual Studio, un utilisateur agit pour créer un élément de travail ou en modifier un qui existe déjà.
Remplissez les valeurs de champ par défaut. Pour tous les champs, utilisez les règles <DEFAULT> qui sont en dehors des règles <WHEN*>.
Copiez les valeurs de champ. Pour tous les champs, utilisez les règles <COPY> qui sont en dehors des clauses <WHEN*>.
Pour tous les champs dotés d'une règle <WHEN> correspondante, exécutez en premier la règle <DEFAULT>, puis la règle <COPY> à l'intérieur.
Pour tous les champs dotés d'une règle <WHENNOT> correspondante, exécutez en premier la règle <DEFAULT>, puis la règle <COPY> à l'intérieur.
Remarque : Team Foundation Server traite toujours les règles <WHEN> avant les règles <WHENNOT>.
Pour tous les champs dont les valeurs ont été modifiées depuis l'étape 1 et qui contiennent des règles <WHENCHANGED>, exécutez en premier la règle <DEFAULT>, puis la règle <COPY> à l'intérieur.
Autorisez l'utilisateur à commencer la modification.
L'utilisateur modifie une valeur de champ, puis déplace le focus à partir du champ.
Élevez les règles <WHEN> de ce champ correspondant à la nouvelle valeur.
Élevez les règles <WHENNOT> de ce champ correspondant à la nouvelle valeur.
Élevez les règles <WHENCHANGED> de ce champ correspondant à la nouvelle valeur.
Retournez la fonction de modification à l'utilisateur.
L'utilisateur agit pour enregistrer les modifications dans la base de données.
Pour tous les champs, exécutez les opérations <SERVERDEFAULT> définies pour le champ soit directement, soit indirectement sous une règle <WHEN> ou <WHENNOT>.
Traitement des séquences de touches
Lorsqu'un utilisateur utilise l'interface utilisateur graphique pour modifier un formulaire d'élément de travail, une nouvelle valeur est définie chaque fois qu'une séquence de touches est entrée pour un champ. Cela signifie qu'une règle <WHEN*> peut se produire de façon inattendue chaque fois que les conditions préalables de la règle sont satisfaites.
Dans l'exemple XML suivant, SubStatus sera vidé dès que vous tapez "Approuver encore" dans le champ État, car la règle <WHEN*> se produit dès que l'utilisateur tape la lettre "e" dans Approuvé, même si la valeur définitive prévue n'est pas "Approuver." Pour cette raison, agissez avec précaution lorsque vous utilisez les règles conditionnelles.
<FIELD refname="MyCorp.SubStatus" />
<WHEN field="MyCorp.Status" value="Approve" >
<EMPTY />
</WHEN>
</FIELD>
Voir aussi
Concepts
Utilisation des conditions <WHEN>, <WHENNOT> et <WHENCHANGED>