Cette page explique le fonctionnement des règles de validation dans ActivityInfo et ce qu'il faut vérifier lorsque vous trouvez des enregistrements non valides.
Fonctionnement des règles de validation
Les règles de validation dans ActivityInfo définissent si un enregistrement est valide à tout moment.
Par conséquent :
- Un enregistrement qui était valide lors de sa création peut devenir non valide par la suite
- Des erreurs de validation peuvent apparaître même si personne n'a modifié les données
Ce comportement est toujours présent dans ActivityInfo, mais il devient visible dans le tableau interactif, où de nombreux enregistrements sont affichés simultanément et les cellules non valides sont immédiatement mises en évidence.
Règles de validation utilisant des dates
Lorsque les règles de validation dépendent de la date ou de l'heure actuelle.
Des fonctions telles que :
Ces fonctions renvoient des valeurs différentes au fil du temps. Les règles de validation qui utilisent ces fonctions verront donc leur résultat changer avec le temps.
Exemple
SESSION_DATE >= ADDDATE(TODAY(), -7) &&
SESSION_DATE < ADDDATE(TODAY(), 7)
Cette règle exige que la date de la session se situe dans les sept jours par rapport à aujourd'hui. La règle peut être satisfaite lorsque l'enregistrement est ajouté pour la première fois, mais des semaines plus tard, le même enregistrement peut se retrouver en dehors de cette plage et devenir non valide.
Lors de la consultation des données dans le tableau interactif, cela peut entraîner l'affichage simultané d'erreurs de validation pour de nombreux enregistrements.
Validation de la saisie de données par rapport à la validité à long terme
Examinez chaque règle de validation et déterminez si elle est destinée à :
- Être toujours vraie pendant toute la durée de vie de l'enregistrement.
- S'appliquer uniquement lors de la première saisie des données.
Règles qui doivent toujours être vraies
Certaines règles de validation décrivent des conditions qui doivent rester vraies à tout moment, telles que :
- Champs obligatoires
- Les relations logiques entre les champs (par exemple, une date de début antérieure à une date de fin)
- Les limites numériques qui ne doivent jamais être dépassées
Ces règles sont bien adaptées à la validation continue et se comportent de la même manière dans les formulaires et dans le tableau interactif.
Si des champs obligatoires sont introduits après que des enregistrements existent déjà dans le formulaire, ces enregistrements peuvent devenir non valides s'ils ne contiennent pas de valeurs qui satisfont aux nouvelles exigences.
Règles qui ne doivent s'appliquer que lors de la saisie des données
Si une règle est destinée à valider les données uniquement au moment de leur saisie, cela doit être explicité dans la formule.
Une approche courante consiste à n'appliquer la règle de validation que lorsque l'enregistrement est nouveau.
IF(ISBLANK(_lastEditTime), START_DATE < TODAY(), TRUE)
Avec cette règle :
- Les nouveaux enregistrements doivent satisfaire à l'exigence de date
- Les enregistrements existants restent valides au fil du temps
Cela empêche les données historiques de devenir non valides lorsqu'elles sont consultées dans le tableau interactif.
Valeurs par défaut dans le tableau interactif
Dans ActivityInfo, les règles de validation et les valeurs par défaut influencent toutes deux la saisie de données dans les formulaires et le tableau interactif, mais elles ont des objectifs différents et se comportent différemment.
Les valeurs par défaut aident à rationaliser la saisie de données. Elles remplissent automatiquement un champ lorsqu'un nouvel enregistrement est créé. Cela réduit le travail répétitif et garantit que les valeurs couramment utilisées sont pré-remplies. Cependant, les valeurs par défaut ne sont appliquées qu'une seule fois, au moment de la création de l'enregistrement.
Les règles de validation protègent la qualité des données. Elles définissent les conditions que les enregistrements doivent satisfaire avant de pouvoir être enregistrés ou soumis. Les règles de validation sont évaluées en continu et peuvent marquer les enregistrements comme non valides s'ils ne répondent pas aux critères définis.
Les valeurs par défaut sont appliquées lors de la création d'un nouvel enregistrement. Elles ne sont pas réévaluées en continu après que l'enregistrement a été enregistré.
Lors de l'utilisation du tableau interactif, cette différence est importante :
- Les valeurs par défaut sont remplies une seule fois, au moment de la création
- Les règles de validation sont évaluées en continu
Valeurs par défaut utilisant TODAY() ou NOW()
Les valeurs par défaut peuvent également utiliser des fonctions telles que TODAY() ou NOW().
Lorsqu'elle est utilisée comme valeur par défaut, cette expression définit le champ sur la date actuelle au moment de la création de l'enregistrement. La valeur ne change pas par la suite.
Cela rend les valeurs par défaut adaptées à la capture d'informations au moment de la saisie, telles que :
- La date de création d'un enregistrement
- La période de rapport au moment de la saisie
Cependant, si une règle de validation fait également référence au même champ, elle peut être évaluée différemment plus tard, au fil du temps.
Avant d'activer le tableau interactif
Pour éviter les erreurs de validation inattendues :
- Examinez toutes les règles de validation qui font référence à
TODAY()ouNOW() - Examinez les valeurs par défaut qui utilisent
TODAY()ouNOW() - Confirmez si chaque règle doit s'appliquer de manière permanente ou uniquement lors de la saisie des données
- Mettez à jour les règles de saisie pour inclure une logique conditionnelle le cas échéant
Résumé
Le tableau interactif ne modifie pas le fonctionnement des règles de validation ou des valeurs par défaut. Il rend visibles les enregistrements qui enfreignent les règles de validation.
Les règles de validation déterminent si un enregistrement est valide à tout moment. Les valeurs par défaut déterminent ce qui est rempli lors de la création d'un enregistrement. Concevoir les deux en gardant cette distinction à l'esprit garantit une transition en douceur et évite toute confusion pour les utilisateurs.