Vérifier qu’un champ est présent
Par exemple, vérifiez que le champMyField est détecté et renseigné :
Comparer des nombres à virgule flottante
La comparaison directe de nombres à virgule flottante peut produire des résultats imprévisibles. Utilisez les méthodes de l’objet natifMath pour comparer les nombres de manière fiable, en particulier les montants.
Exiger une valeur non vide en fonction d’un autre champ
Un champ optionnel peut devenir obligatoire en fonction de la valeur d’un autre champ. Par exemple, siMaritalStatus est Married, les champs correspondant au nom du conjoint doivent être renseignés.
Cette règle de script vérifie que, lorsque MaritalStatus est Married, SpouseFirstName et SpouseLastName sont tous deux renseignés :
Vérifier qu’un champ est localisé sur le document
Les règles peuvent également servir à renseigner les valeurs du champ, même si la valeur n’est pas imprimée sur le document. Par exemple, si plusieurs taxes s’appliquent, la taxe totale peut être calculée automatiquement. Toutefois, certains pays exigent que le montant de la taxe totale figure sur le document. Cette règle de script vérifie que, pour les reçus émis en Allemagne, la taxe totale est bien présente sur l’image. Pour les autres pays, aucune vérification supplémentaire n’est nécessaire, car l’indicateur champ obligatoire est activé pour le champ de la taxe totale :Valider les données dans des cas particuliers
Vérifier que la taxe totale est égale à la somme de toutes les taxes peut se faire à l’aide d’une règle prédéfinie (Check Sum). Mais si, dans certains pays, l’une des taxes peut être négative, seule une règle de script peut gérer les deux cas — additionner toutes les taxes, ou additionner et soustraire une taxe de remboursement, selon le pays d’origine. Ce script vérifie que la somme de deux taxes est égale à la taxe totale, sauf pour les reçus provenant d’Espagne, où soit la somme, soit la différence des deux peut être égale à la taxe totale :Comparer la somme d’une colonne à un champ externe
Les scripts peuvent faire référence à des valeurs de tableau et pas seulement à des champs. Pour accélérer les vérifications de règles, enregistrez les tableaux dans des variables, puis référencez ces variables au lieu de récupérer à nouveau le tableau. Si une variable contient un tableau entier, utilisez la propriétéInstances pour accéder aux lignes, puis utilisez GetChild pour obtenir une cellule donnée dans une ligne.
L’exemple ci-dessous additionne toutes les valeurs de la colonne Total Price et compare le résultat au champ Total :
Comparer les cellules d’une colonne à un champ externe et lister les lignes en erreur
UtilisezContext.GetFields pour référencer les colonnes d’un tableau et obtenir chaque cellule de la colonne, ce qui est utile pour effectuer des boucles.
L’exemple ci-dessous compare le taux d’imposition de chaque ligne au taux d’imposition global. Lorsque les valeurs ne correspondent pas, le script continue au lieu d’échouer immédiatement, en collectant les numéros des lignes présentant des écarts et en les indiquant dans le message d’erreur :
Comparer le produit de valeurs d’une ligne à une autre valeur de la même ligne
Vous pouvez effectuer des opérations sur différentes colonnes d’un tableau, ligne par ligne, sans utiliser de boucles explicites — référencez chaque colonne à l’aide deContext.GetField. Cela crée une règle répétée qui s’exécute automatiquement pour chaque ligne. Toutes les colonnes référencées de cette manière doivent appartenir au même tableau.
L’exemple ci-dessous multiplie la quantité unitaire par le prix unitaire pour chaque ligne et compare le résultat au prix total de la ligne d’article :
