> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Automatisation des règles métier

> Ajoutez des règles scriptées à une Compétence de document à l’aide de JavaScript — configurez des champs en lecture et en écriture, référencez des colonnes de tableau et renvoyez des résultats de validation.

Ajoutez des règles scriptées à une Compétence de document pour comparer des valeurs de champ, valider des conditions ou modifier des valeurs de champ par programmation.

Pour ajouter une règle de script avancée, cliquez sur **Nouvelle règle** dans les propriétés du champ et choisissez le type de règle de script. Cette page explique comment configurer la règle et écrire son code JavaScript.

<div id="set-up-an-advanced-script-rule">
  ## Configuration d’une règle de script avancée
</div>

Lors de la configuration d’une **règle de script avancée**, spécifiez les champs auxquels le script fera référence.

<div id="configure-fields">
  ### Configurer les champs
</div>

* Dans la colonne **Fields**, indiquez chaque champ que le script doit lire.
* Dans la colonne **Changed by the rule**, indiquez chaque champ que le script modifiera.

<Note>
  Si votre script fait référence à un champ qui n’a pas été indiqué pour la lecture, ou tente d’écrire dans un champ qui n’a pas été indiqué pour la modification, la règle renvoie une erreur d’accès :

  * `Attempt to read data from inaccessible field`
  * `Attempt to write data to read-only field`
</Note>

<div id="configure-table-columns">
  ### Configurer les colonnes d’un tableau
</div>

Si votre script fait référence à des colonnes de tableau spécifiques, sélectionnez ces colonnes individuellement — et non le tableau entier — lors de la configuration de la règle. Toutes les colonnes sélectionnées doivent appartenir au même tableau.

Par exemple, si la règle s’applique à **Colonne 1** et **Colonne 2** de **Nouveau tableau**, sélectionnez les champs suivants :

<Frame caption="Paramètres de la règle avec Colonne 1 et Colonne 2 de 'Nouveau tableau' sélectionnées en tant que champs traités">
  <img src="https://mintcdn.com/abbyy/hVcX1G4uYung9LOg/images/vantage/skill-designer/screen_docskill_rules_irulecontext_rulesettings.png?fit=max&auto=format&n=hVcX1G4uYung9LOg&q=85&s=29b21a8d94d90784fa463c1fdbc38688" alt="Boîte de dialogue Paramètres de la règle montrant Colonne 1 et Colonne 2 sélectionnées dans Nouveau tableau" style={{ width: "60%" }} width="880" height="746" data-path="images/vantage/skill-designer/screen_docskill_rules_irulecontext_rulesettings.png" />
</Frame>

<div id="write-the-script">
  ## Rédigez le script
</div>

Basculez vers l’éditeur de scripts et écrivez le code JavaScript qui implémente votre règle.

Votre script peut lire les champs du document, calculer des valeurs, les comparer et mettre à jour les champs marqués comme modifiables lors de la configuration. Utilisez les boutons d’édition rapide en haut de l’éditeur de scripts pour insérer des extraits de code courants.

Si les conditions de la règle ne sont pas remplies, définissez [`Context.CheckSucceeded`](/fr/vantage/documentation/skill-designer/document/rule-verification/context#checksucceeded) sur `false`. Le document est alors envoyé en relecture manuelle.

<div id="related-topics">
  ## Rubriques connexes
</div>

* [Vérification des règles](/fr/vantage/documentation/skill-designer/document/rule-verification/rule-verification)
* [Modèle d'objet](/fr/vantage/documentation/skill-designer/document/rule-verification/object-model)
* [Exemples de scripts](/fr/vantage/documentation/skill-designer/document/rule-verification/sample-scripts)
