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