Skip to main content

Collections

Toutes les collections du modèle objet prennent en charge les méthodes suivantes : Au lieu de la méthode Item, vous pouvez accéder aux éléments d’une collection à l’aide de parenthèses ou de crochets. La syntaxe disponible dépend du langage : Par exemple, utilisez Items( 1 ).Text = "Hello" ou Items[ 1 ].Text = "Hello". Toutes les collections peuvent être utilisées dans les constructions for each et similaires.

Champs récurrents et tableaux

Tous les champs du document, à l’exception des tableaux, peuvent être récurrents. Dans la structure du document, chaque champ récurrent est représenté par un champ prototype spécial. Ce champ prototype possède une collection Items non vide. Un champ prototype ne possède ni éléments enfants ni valeur. Il stocke uniquement les itérations du champ. Les champs enfants et les valeurs des champs n’existent que dans les instances du champ, auxquelles vous accédez via la méthode Items de l’objet IField. Les tableaux possèdent toujours une collection Rows (Rows est un synonyme de Items). La collection Rows contient uniquement les lignes de tableau, dont les cellules sont accessibles via la méthode Children des lignes.

Chemins d’accès aux champs

Les méthodes Field, HasField et IndexedItemValue de l’objet IDocument prennent en paramètres des chemins d’accès aux champs du formulaire. La forme Backus-Naur (BNF) suivante définit la syntaxe de ces chemins d’accès :
Ici, Field_name désigne les noms des champs du document tels qu’ils sont définis dans la Document Definition, et Field_iteration_number correspond au numéro d’itération du champ récurrent (le numéro de ligne pour les tableaux), à partir de 0. Le chemin peut être complet ou relatif. Un chemin complet commence par le nom de la section du document. Un chemin relatif commence par le nom de l’élément enfant du groupe. Par exemple, pour référencer la troisième ligne de la colonne Total du tableau Table, situé dans la section Section, écrivez "Section\Table[2]\Total". Vous pouvez construire ce nom complet à l’aide de la méthode FullName de l’objet IField.