A continuación se describen los aspectos específicos del modelo de objetos utilizado.
Todas las colecciones del modelo de objetos admiten los siguientes métodos:
Name | Tipo | Acceso | Descripción |
|---|
Count | int | De solo lectura | El número de elementos de la colección |
Item( index : int ) | ItemInterface | De solo lectura | Recupera un elemento de la colección con el índice indicado. La enumeración comienza con “0”. |
En lugar de usar el método Item, también puede acceder a los elementos de la colección mediante paréntesis o corchetes, según el lenguaje seleccionado. En los lenguajes JScript, VBScript y Visual Basic.Net, se usan paréntesis. En C#.Net solo es posible usar corchetes. En JScript.Net se pueden usar tanto paréntesis como corchetes.
Por ejemplo,
Items( 1 ).Text = "Hello" or Items[ 1 ].Text = "Hello"
Todas las colecciones pueden usarse en construcciones “for each” y similares.
Trabajar con campos repetitivos y tablas
Todos los campos del documento, excepto las tablas, pueden ser repetitivos.
En la estructura del documento, los campos repetitivos se representan mediante un campo prototipo especial que tiene una colección Items no vacía.
Un campo prototipo no tiene elementos secundarios ni valor. Se usa únicamente para almacenar el conjunto de iteraciones del campo. Los campos secundarios y/o los valores de campo solo pueden ser atributos de las instancias del campo, a las que se puede acceder mediante el método Items del objeto IField.
Las tablas siempre tienen la colección Rows (Rows es sinónimo de Items). La colección Rows contiene solo aquellas filas de la tabla a cuyas celdas se puede acceder mediante el método Children de las filas.
Construcción de rutas a campos
Los métodos Field, HasField e IndexedItemValue del objeto IDocument usan como parámetros rutas a los campos del formulario. La forma formal de representar la ruta mediante una BNF (forma de Backus-Naur) es la siguiente:
<Path> ::= <Path_component> | <Path> "" <Path_component>
<Path_component> ::= <Field_name> | <Field_name> ”[“<Field_iteration_number>”]”
Donde Field_name indica los nombres de los campos del documento tal como se definen en la Definición de Document, y Field_iteration_number es el número de iteración del campo repetido (el número de fila en las tablas), comenzando por “0”.
La ruta puede ser completa o relativa. Las rutas completas se construyen a partir del nombre de la sección del documento, mientras que las rutas relativas se construyen a partir del nombre del elemento secundario del grupo.
Por ejemplo, para hacer referencia a la tercera fila de la columna “Total” de la tabla “Table”, que se encuentra en la sección “Section”, debe escribir lo siguiente:
Ese nombre completo se puede construir mediante el método FullName del objeto IField.