> ## 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.

# Context

> L’objet global Context : propriétés et méthodes permettant d’accéder au document, aux champs, aux enregistrements du catalogue et aux paramètres de la compétence pendant l’exécution des règles.

`Context` est un objet global qui permet d’accéder au document en cours de traitement, à ses champs et aux paramètres de la transaction associée. Définissez [`CheckSucceeded`](#checksucceeded) pour indiquer si la règle est validée.

<div id="usage">
  ## Utilisation
</div>

Une règle lit les champs via `Context`, les vérifie et indique le résultat en définissant [`CheckSucceeded`](#checksucceeded) et [`ErrorMessage`](#errormessage). Par exemple, faites échouer la règle avec un message personnalisé si le champ `Total` est absent ou vide :

```javascript theme={null}
var field = Context.GetField("Total");

if (!field || !field.Value) {
  Context.CheckSucceeded = false;
  Context.ErrorMessage = "Total field is empty";
}
```

Pour d’autres exemples — comparaisons numériques, exigences conditionnelles et validation des tableaux — consultez [Exemples de scripts](/fr/vantage/documentation/skill-designer/document/rule-verification/sample-scripts).

<div id="properties">
  ## Propriétés
</div>

<div id="checksucceeded">
  ### CheckSucceeded
</div>

**Type :** `bool` — **accès :** Lecture/écriture

Indique si la condition de la règle est satisfaite. La valeur par défaut est `true`. Définissez-la sur `false` si la condition n’est pas satisfaite. Dans ce cas, le message d’erreur par défaut affiché à l’opérateur est `Error in the rule <rule_name>: <field_name>`. Pour personnaliser le message, définissez la propriété `ErrorMessage`.

<Note>
  Une erreur est générée uniquement lorsque votre script définit `CheckSucceeded` sur `false`. Si le script ne le définit pas explicitement, aucune erreur n’est affichée, même si les conditions de la règle ne sont pas satisfaites.
</Note>

<div id="currentfield">
  ### CurrentField
</div>

**Type:** [Field](/fr/vantage/documentation/skill-designer/document/rule-verification/field) — **Accès :** Lecture seule

Le champ vérifié par la règle. Pour les champs répétitifs dans des règles répétitives, il s’agit de l’instance précise vérifiée par l’appel en cours. Renvoie `null` si la règle porte sur le document dans son ensemble.

<div id="document">
  ### Document
</div>

**Type:** [Document](/fr/vantage/documentation/skill-designer/document/rule-verification/document) — **Accès :** Lecture seule

Le document auquel la règle s’applique.

<div id="errormessage">
  ### ErrorMessage
</div>

**Type:** `string` — **accès:** Lecture/écriture

Message personnalisé affiché lorsque le script définit `CheckSucceeded` sur `false`. S’il n’est pas défini, le message par défaut est `Error in the rule <rule_name>: <field_name>`.

<div id="transaction">
  ### Transaction
</div>

**Type:** [Transaction](/fr/vantage/documentation/skill-designer/document/rule-verification/transaction) — **accès:** Lecture seule

La transaction en cours.

<div id="methods">
  ## Méthodes
</div>

<Note>
  Un script peut uniquement lire les champs autorisés en lecture et écrire dans les champs définis comme modifiables lors de la configuration de la règle. Toute référence à un autre champ entraîne l’échec de la règle avec une erreur d’accès (`Attempt to read data from inaccessible field` ou `Attempt to write data to read-only field`). Voir [Automatisation des règles métier](/fr/vantage/documentation/skill-designer/document/rule-verification/business-rules-automation).
</Note>

<div id="getfield">
  ### GetField
</div>

```javascript theme={null}
Field GetField(string fieldName);
```

Récupère un [`Field`](/fr/vantage/documentation/skill-designer/document/rule-verification/field) par nom ou identifiant. Renvoie `null` si aucun champ portant ce nom n’existe.

Utilisez le [chemin complet](/fr/vantage/documentation/skill-designer/document/rule-verification/field#fullname) pour référencer les champs à l’intérieur d’un groupe — par exemple, `BusinessUnit/Address`.

Lorsqu’elle est utilisée dans une règle répétitive, `GetField` renvoie successivement chaque occurrence de champ traitée. Sinon, elle renvoie la première occurrence d’un champ répétitif.

<Warning>
  Passez le nom du champ sous forme de chaîne littérale, et non comme variable. Le préprocesseur du script remplace le nom littéral par l’identifiant du champ avant l’exécution — les variables ne sont pas traitées.
</Warning>

<div id="getfields">
  ### GetFields
</div>

```javascript theme={null}
Field[] GetFields(string fieldName);
```

Renvoie tous les objets [`Field`](/fr/vantage/documentation/skill-designer/document/rule-verification/field) portant le nom spécifié — utile pour parcourir chaque occurrence d’un champ répétitif, y compris chaque cellule d’une colonne de tableau. Renvoie `null` si aucun champ de ce nom n’existe.

<Warning>
  Même contrainte de préprocesseur que pour `GetField` : passez une chaîne littérale, pas une variable.
</Warning>

<div id="getcatalogrecord">
  ### GetCatalogRecord
</div>

```javascript theme={null}
Record GetCatalogRecord(string catalogId, string externalId);
```

Récupère un [`Record`](/fr/vantage/documentation/skill-designer/document/rule-verification/record) à partir d’un catalogue de données (base de données externe). Utilisez cette méthode pour comparer les valeurs des champs du document à celles des champs du catalogue.

<Note>
  Disponible uniquement si un identifiant d’enregistrement est configuré pour le catalogue (par exemple, un identifiant de fournisseur).
</Note>

<div id="skillparameter">
  ### SkillParameter
</div>

```javascript theme={null}
SkillParameter SkillParameter(string ParameterName);
```

Récupère un [`SkillParameter`](/fr/vantage/documentation/skill-designer/document/rule-verification/skill-parameter) à partir de son nom. Lisez sa valeur depuis la propriété `Value` de l’objet renvoyé — par exemple, `Context.SkillParameter("Threshold").Value`.

<Note>
  Disponible uniquement si la Compétence de document comporte au moins un paramètre.
</Note>

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

* [Modèle objet](/fr/vantage/documentation/skill-designer/document/rule-verification/object-model)
* [Automatisation des règles métier](/fr/vantage/documentation/skill-designer/document/rule-verification/business-rules-automation)
* [Field](/fr/vantage/documentation/skill-designer/document/rule-verification/field)
* [Exemples de scripts](/fr/vantage/documentation/skill-designer/document/rule-verification/sample-scripts)
