S’assurer que les propriétés d’entité sont définies avant qu’une entité devienne le point d’intérêt
Il est courant de définir les propriétés d’entité (telles que IsVisible, IsRequired et List) lors de la création ou de la modification d’une nouvelle entité (New ou FieldChanged). Lors de l’écriture des scripts de flux de travail ALM, il est également important de définir des propriétés d’entité lorsque l’entité devient le point d’intérêt (c’est-à-dire lorsque l’utilisateur navigue vers cette entité dans l’interface graphique utilisateur de ALM). Lorsqu’une entité devient le point d’intérêt, l’événement MoveTo est appelé.
Si les valeurs d’entité ne sont pas définies dans l’événement MoveTo, l’expérience de l’utilisateur final est imprévisible. Par exemple, des valeurs incorrectes peuvent s’afficher dans les listes déroulantes.
Recommandations
Pour éviter des résultats imprévisibles, par exemple une liste déroulante ne contenant pas l’ensemble le plus récent de valeurs :
-
Vérifiez que toutes les propriétés d’entité sont définies dans l’événement MoveTo, et pas seulement dans les événements New ou FieldChanged.
-
Isolez le code de personnalisation de propriétés d’entité dans une routine distincte et appelez cette routine à partir de tous les événements pertinents.
Le tableau suivant donne un exemple de la façon de s’assurer que les propriétés d’une anomalie sont définies de manière appropriée lorsque l’anomalie est le point d’intérêt, et pas seulement lorsqu’elle est modifiée ou ajoutée.
Exemple :
Sub SetupBugFields(Context1, Context2)
' Code for customizing defect properties is entered here,
' such as set IsVisible, IsRequired, IsReadonly, Label, List...
If Context1="Focus" Then
' Code for handling the focus event is entered here
ElseIf Context1="FieldChange" Then
If Context2="RQ_USER_01" Then
' Code for handling the FieldChange event
' is entered here
ElseIf Context2="RQ_REQ_STATUS" Then
' ... Enter your code here
Else
' ... Enter your code here
End If
End If
End Sub
Sub Req_FieldChange(FieldName)
If FieldName = "RQ_REQ_STATUS" Then
SetupBugFields("FieldChange", FieldName)
Else
' ...Enter your code here
End If
End Sub
Sub Req_MoveTo
SetupBugFields("Focus")
End Sub

