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

# Objetos

> Modelo de objetos para scripts personalizados de la estación web de verificación: funciones para campos, conjuntos de datos y el formulario del documento, además de commandArgs y las propiedades de los campos.

Las siguientes funciones están disponibles para crear scripts personalizados. Para acceder a las instancias de objeto, use la variable `commandArgs`.

Todas las variables de esta sección son globales y están visibles en todo el programa.

<div id="field-paths">
  ## Rutas de campos
</div>

Algunas funciones reciben la ruta a un campo como parámetro de entrada. La ruta incluye el nombre del campo y los nombres de los elementos padre (grupo de campos, sección). Para tablas, tablas repetidas y grupos repetidos, debe especificar el número de instancia comenzando por `0` (cero).

Por ejemplo, `['Document Section 1', 'Group[10]', 'Field3']`, donde `[10]` es el número de la instancia del grupo repetido.

<div id="functions-for-working-with-fields">
  ## Funciones para trabajar con fields
</div>

<div id="getcurrentfield">
  ### getCurrentField
</div>

`getCurrentField()`

Devuelve un vínculo al objeto de campo que usa el script personalizado actual.

<div id="getfieldbyname">
  ### getFieldByName
</div>

`getFieldByName(namesPath)`

Devuelve un enlace al campo para el que se abrió el script personalizado.

| Parámetro   | Descripción                                                                                                                                     |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `namesPath` | Un array de nombres de campos y grupos que forman la ruta al campo, o un enlace a un objeto de campo. Consulte [Rutas de campos](#field-paths). |

<div id="getfieldvalue">
  ### getFieldValue
</div>

`getFieldValue(namesPath)`

Devuelve el valor del campo: una cadena para un campo **TextField**, un valor de marca de verificación para un campo **Checkmark** o un array de cadenas para un campo **Checkmark Group**.

| Parámetro   | Descripción                                                                                                                                     |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `namesPath` | Un array de nombres de campos y grupos que forman la ruta al campo, o un enlace a un objeto de campo. Consulte [Rutas de campos](#field-paths). |

<div id="setcurrentfieldvalue">
  ### setCurrentFieldValue
</div>

`setCurrentFieldValue(value, forced, onSaved)`

Modifica el valor del campo para el que se abrió el script personalizado.

| Parámetro | Descripción                                                                                                                                                                                                                                                                                                                                                                          |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `value`   | El valor del campo.                                                                                                                                                                                                                                                                                                                                                                  |
| `forced`  | Opcional. Actualiza el valor del campo y registra los nuevos datos. Cuando es `false`, el valor del campo de la Definición de Document se actualiza solo después de llamar a `save()`. Cuando es `true`, el valor del campo se actualiza inmediatamente. En los scripts personalizados, la actualización se realiza independientemente del modo. El valor predeterminado es `false`. |
| `onSaved` | Opcional. Una función de callback. Se llama cuando `forced` se establece en `true`.                                                                                                                                                                                                                                                                                                  |

<div id="setfieldvalue">
  ### setFieldValue
</div>

`setFieldValue(namesPath | field, value, forced, onSaved)`

Modifica el valor del campo.

| Parámetro   | Descripción                                                                                                                                                                                                                                                                                                                                                                       |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `namesPath` | Un array de nombres de campos y grupos que forman la ruta al campo, o un enlace al objeto de campo. Consulte [Rutas de campos](#field-paths).                                                                                                                                                                                                                                     |
| `value`     | El valor del campo correspondiente.                                                                                                                                                                                                                                                                                                                                               |
| `forced`    | Opcional. Actualiza el valor del campo y registra los nuevos datos. Cuando es `false`, el valor del campo de la Definición de Document solo se actualiza después de llamar a `save()`. Cuando es `true`, el valor del campo se actualiza inmediatamente. En un script personalizado, la actualización se produce independientemente del modo. El valor predeterminado es `false`. |
| `onSaved`   | Opcional. Una función de callback. Se invoca cuando `forced` se establece en `true`.                                                                                                                                                                                                                                                                                              |

<div id="save">
  ### save
</div>

`save()`

Cierra la ventana en la que se ejecuta el script personalizado y guarda los cambios.

<div id="cancel">
  ### cancel
</div>

`cancel()`

Cierra la ventana en la que se ejecuta el script personalizado sin guardar los cambios.

<div id="functions-for-working-with-data-sets">
  ## Funciones para trabajar con conjuntos de datos
</div>

<div id="addentity">
  ### addEntity
</div>

`addEntity(entityInfo: {cacheName, columns, values}, onResult(newId))`

Agrega una entrada al conjunto de datos.

| Parámetro              | Descripción                                                                         |
| ---------------------- | ----------------------------------------------------------------------------------- |
| `entityInfo.cacheName` | Un nombre para el conjunto de datos.                                                |
| `entityInfo.columns`   | Nombres de las columnas en las que se registrarán los datos. Array de cadenas.      |
| `entityInfo.values`    | Valores para las columnas correspondientes. Array de cadenas.                       |
| `onResult`             | Una función de callback que recibe el ID del Record creado en el conjunto de datos. |

<div id="editentity">
  ### editEntity
</div>

`editEntity(entityInfo: {cacheName, columns, values}, onResult())`

Edita una entrada de la base de datos.

| Parámetro              | Descripción                                                                    |
| ---------------------- | ------------------------------------------------------------------------------ |
| `entityInfo.cacheName` | Nombre del conjunto de datos.                                                  |
| `entityInfo.columns`   | Nombres de las columnas en las que se registrarán los datos. Array de cadenas. |
| `entityInfo.values`    | Valores de las columnas correspondientes. Array de cadenas.                    |
| `onResult`             | Una función de callback.                                                       |

<div id="getdict">
  ### getDict
</div>

`getDict({cacheName, filters: [{FieldName, FieldValue}], cursorPos, allowMultipleColumnResults}, onResult(param: {FieldName, FieldValue, BoldMask}[][]))`

Busca en el conjunto de datos un valor especificado o una parte de él.

| Parámetro                    | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cacheName`                  | El nombre del conjunto de datos.                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `filters`                    | Parámetros de búsqueda. Cada entrada tiene `FieldName` (el nombre del campo; déjelo vacío para buscar en todos los campos) y `FieldValue` (el valor del campo).                                                                                                                                                                                                                                                                                                                    |
| `cursorPos`                  | La posición del cursor en el campo de entrada. Si se introduce parcialmente un valor y el cursor está después de los símbolos escritos, estos se consideran un prefijo del valor buscado. Si el cursor está antes de una palabra escrita parcialmente, esos símbolos se consideran su terminación. Por ejemplo, al buscar el nombre de una empresa, si escribe `ADO` con el cursor después, se selecciona `AVOCADO`; si escribe `ADO` con el cursor antes, se selecciona `ADONIS`. |
| `allowMultipleColumnResults` | Devuelve los valores de los campos encontrados. Un conjunto de datos puede contener entradas en las que un nombre de campo (`FieldName`) corresponde a varios valores de campo (`FieldValue`), por ejemplo, distintas variantes de un nombre de empresa en la columna `CompanyName`. `true` devuelve y registra todos los valores de campo que cumplen las condiciones de búsqueda; `false` devuelve y registra el único resultado que mejor se ajusta.                            |
| `onResult`                   | Una función de callback que devuelve un array con los resultados de la búsqueda. Cada resultado es una cadena del conjunto de datos (que a su vez es un array de cadenas), donde cada cadena contiene el nombre del campo, su valor y el parámetro `BoldMask`.                                                                                                                                                                                                                     |

`BoldMask` es una cadena de `0` y `1` de la misma longitud que el valor encontrado. `1` marca un símbolo del valor encontrado que coincide con el símbolo correspondiente en el campo de búsqueda y `0` marca uno que no coincide.

Por ejemplo, si un conjunto de datos contiene `CompanyName: ABBYY` y se realiza una búsqueda de los símbolos `ABB`, se devuelve lo siguiente:

```text theme={null}
[
  [
    {
      FieldName: 'CompanyName',
      FieldValue: 'ABBYY',
      BoldMask: '11100'
    },
  ]
]
```

El array devuelto puede contener varios valores, incluidos algunos que inicialmente no se ajustaban a las condiciones de búsqueda. Los resultados se ordenan de forma descendente ըստ el valor de `BoldMask`, comenzando por las cadenas que mejor coinciden con las condiciones de búsqueda.

<div id="getdictall">
  ### getDictAll
</div>

`getDictAll({cacheName, filters: {FieldName, FieldValue}}, }, onResult(param: {FieldName, FieldValue, BoldMask}[][]))`

Busca en la base de datos el valor completo especificado. Devuelve los valores de todos los campos encontrados.

| Parámetro   | Descripción                                                                                                                                                                                                                                        |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cacheName` | El nombre del conjunto de datos.                                                                                                                                                                                                                   |
| `filters`   | Un array de objetos. Cada entrada incluye `FieldName` (el nombre del campo; déjelo en blanco para buscar en todos los campos) y `FieldValue` (el valor del campo).                                                                                 |
| `onResult`  | Una función de callback que devuelve un array de resultados de búsqueda. Cada resultado es una cadena del conjunto de datos (que, a su vez, es un array de cadenas); cada cadena contiene el nombre del campo, su valor y el parámetro `BoldMask`. |

`BoldMask` es una cadena de `0` y `1` de la misma longitud que el valor encontrado. Un `1` marca un símbolo del valor encontrado que coincide con el símbolo correspondiente en el campo de búsqueda, mientras que un `0` marca un símbolo que no coincide.

Por ejemplo, si un conjunto de datos contiene `CompanyName: ABBYY` y se buscan los símbolos `ABB`, se devuelve lo siguiente:

```text theme={null}
[
  [
    {
      FieldName: 'CompanyName',
      FieldValue: 'ABBYY',
      BoldMask: '11100'
    },
  ]
]
```

El array devuelto puede contener varios valores, incluidos algunos que inicialmente no cumplían las condiciones de búsqueda. Los resultados se ordenan por el valor de `BoldMask` de forma descendente, comenzando por las cadenas que mejor coinciden con las condiciones de búsqueda.

Para ver un ejemplo completo, consulte el [script de ejemplo para buscar en una base de datos](/es/flexi-capture/appendix/scripts/web-custom-action-db-lookup).

<div id="functions-for-working-with-the-document-form">
  ## Funciones para trabajar con el formulario del documento
</div>

<div id="selectrow">
  ### selectRow
</div>

`selectRow(tablePath, rowNumber)`

Marca como seleccionada una fila de la tabla.

| Parámetro   | Descripción                                                                                                                                              |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tablePath` | Un array de nombres de campos y grupos que forman la ruta al campo de tabla, o un enlace a un objeto de tabla. Consulte [Rutas de campos](#field-paths). |
| `rowNumber` | El número de la fila que se va a seleccionar, con índice basado en cero.                                                                                 |

<div id="deselectrow">
  ### deselectRow
</div>

`deselectRow(tablePath, rowNumber?)`

Quita la selección de una fila de una tabla.

| Parámetro   | Descripción                                                                                                                                               |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tablePath` | Un array de nombres de campos y grupos que forman la ruta al campo de tabla, o un vínculo a un objeto de tabla. Consulte [Rutas de campos](#field-paths). |
| `rowNumber` | El número de la fila cuya selección se desea quitar, empezando por cero. Si se omite, se quita la selección de todas las filas de la tabla.               |

<div id="scrollformtofield">
  ### scrollFormToField
</div>

`scrollFormToField(namesPath)`

Desplaza el editor de formularios hasta mostrar el campo.

| Parámetro   | Descripción                                                                                                                                           |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `namesPath` | Un array de nombres de campos y grupos que forman la ruta hasta el campo, o un enlace a un objeto de tabla. Consulte [Rutas de campos](#field-paths). |

<div id="getdomelementposition">
  ### getDomElementPosition
</div>

`getDomElementPosition(domId, onResult: (result?: {width, height, top, left, right, bottom}))`

Obtiene la posición de un elemento en la ventana del editor de formularios y devuelve el resultado de una función de callback.

| Parámetro  | Descripción                                                                                                                                                                                                    |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `domId`    | ID del elemento en formato DOM.                                                                                                                                                                                |
| `onResult` | Una función de callback que recibe el objeto con las coordenadas DOM del elemento (`width`, `height`, `top`, `left`, `right`, `bottom`) relativas a la esquina superior izquierda de la ventana del navegador. |

<div id="setstyles">
  ### setStyles
</div>

`setStyles(styles, callback)`

Añade estilos CSS a la ventana del marco de la acción personalizada.

| Parámetro  | Descripción                                                                         |
| ---------- | ----------------------------------------------------------------------------------- |
| `styles`   | Un objeto con nombres y valores de propiedades CSS (consulte el siguiente ejemplo). |
| `callback` | Una función de callback.                                                            |

```javascript theme={null}
{
  display: 'block',
  position: 'absolute',
  top: '0px',
  bottom: '0px',
  left: '0px',
  right: '0px',
  width: '100%',
  height: '100%',
  border: '0',
  overflow: 'hidden',
  'overflow-x': 'hidden',
  'overflow-y': 'hidden',
  'z-index': '10000'
}
```

<div id="commandargs-object">
  ## objeto commandArgs
</div>

<div id="variables">
  ### Variables
</div>

| Variable                                 | Tipo                                                                              | Descripción                                                                                                                                                                                                                                |
| ---------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `commandArgs.params.document`            | Document                                                                          | Almacena una copia de objeto de un documento abierto. Úselo para acceder a cualquier error, campo o región del documento actual.                                                                                                           |
| `commandArgs.params.currentField`        | `(Picture \| Checkmark \| Checkmark Groups \| FieldsGroup \| Table \| TextField)` | Devuelve una referencia a un objeto de campo que refleja el estado del campo cuando se llama al script. Forma parte del documento anterior. Si el valor del campo se modifica después de inicializar el script, los cambios no se aplican. |
| `commandArgs.params.appPath`             | String                                                                            | El nombre de dominio del servidor.                                                                                                                                                                                                         |
| `commandArgs.params.coordinates`         | `Object [{X1,X2,Y1,Y2}]`                                                          | Las coordenadas del elemento DOM que llamó al script personalizado.                                                                                                                                                                        |
| `commandArgs.params.currentElementDomId` | String                                                                            | El ID del elemento DOM que llamó al script personalizado.                                                                                                                                                                                  |

<div id="events">
  ### Eventos
</div>

| Función                                 | Descripción                                                                     |
| --------------------------------------- | ------------------------------------------------------------------------------- |
| `commandArgs.events.addEventHandler`    | Agrega un controlador de eventos al contexto global del script personalizado.   |
| `commandArgs.events.triggerHandlers`    | Desencadena un evento en el contexto global del script personalizado.           |
| `commandArgs.events.removeEventHandler` | Elimina un controlador de eventos del contexto global del script personalizado. |

<div id="field-object-types">
  ## Tipos de objeto de campo
</div>

Los scripts personalizados pueden acceder a los siguientes tipos de objeto de campo y al [objeto Document](#document-object). Cada objeto de campo expone el [objeto Region](#region-object) a través de su propiedad `Regions`.

<div id="field-group-field">
  ## Campo de grupo de campos
</div>

| Propiedad        | Tipo                                                                                | Acceso            | Descripción                                                                                       |
| ---------------- | ----------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------- |
| `Fields`         | `(Picture \| Checkmark \| Checkmark Groups \| FieldsGroup \| Table \| TextField)[]` | De solo lectura   | Array de campos.                                                                                  |
| `HasTableLayout` | Boolean                                                                             | De solo lectura   | Especifica si la región del campo es una tabla.                                                   |
| `Caption`        | String                                                                              | De solo lectura   | Nombre y título del campo personalizado.                                                          |
| `FieldType`      | Number                                                                              | De solo lectura   | Tipo de campo. Valor: `4` (grupo de campos).                                                      |
| `Id`             | Number                                                                              | De solo lectura   | ID del campo.                                                                                     |
| `IsReadOnly`     | Boolean                                                                             | De solo lectura   | Especifica si está prohibida la edición de los campos.                                            |
| `IsVisible`      | Boolean                                                                             | De solo lectura   | Especifica si el campo es visible en el formulario de datos.                                      |
| `MaxRegions`     | Number                                                                              | De solo lectura   | Número máximo de regiones de campo. Si el valor es `-1`, se permite cualquier número de regiones. |
| `Name`           | String                                                                              | De solo lectura   | Nombre del servicio del campo.                                                                    |
| `NamePath`       | `String[]`                                                                          | De solo lectura   | Array de nombres de campos y grupos que forman la ruta de acceso al campo.                        |
| `NeedRecognize`  | Boolean                                                                             | Lectura/escritura | Especifica si se debe recuperar el valor del campo de la región al volver a comprobar las reglas. |
| `Regions`        | `Region[]`                                                                          | De solo lectura   | Regiones del campo. Consulte [Objeto Region](#region-object).                                     |

<div id="section-field">
  ## Campo Section
</div>

| Propiedad       | Tipo                                                                                | Acceso            | Descripción                                                                                       |
| --------------- | ----------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------- |
| `Fields`        | `(Picture \| Checkmark \| Checkmark Groups \| FieldsGroup \| Table \| TextField)[]` | De solo lectura   | Array de campos.                                                                                  |
| `Pageids`       | `Number[]`                                                                          | De solo lectura   | Identificadores de las páginas en las que se ubica la sección.                                    |
| `IsFlexible`    | Boolean                                                                             | De solo lectura   | Especifica si la sección es flexible.                                                             |
| `Caption`       | String                                                                              | De solo lectura   | Nombre y título del campo personalizado.                                                          |
| `FieldType`     | Number                                                                              | De solo lectura   | Tipo de campo. Valor: `6` (sección).                                                              |
| `Id`            | Number                                                                              | De solo lectura   | ID del campo.                                                                                     |
| `IsReadOnly`    | Boolean                                                                             | De solo lectura   | Especifica si no se permite editar el campo.                                                      |
| `IsVisible`     | Boolean                                                                             | De solo lectura   | Especifica si el campo es visible en el formulario de datos.                                      |
| `MaxRegions`    | Number                                                                              | De solo lectura   | Número máximo de regiones de campo. Si el valor es `-1`, se permite cualquier número de regiones. |
| `Name`          | String                                                                              | De solo lectura   | Nombre de servicio del campo.                                                                     |
| `NamePath`      | `String[]`                                                                          | De solo lectura   | Array de nombres de campos y grupos que forman la ruta al campo.                                  |
| `NeedRecognize` | Boolean                                                                             | Lectura/escritura | Especifica si se debe recuperar el valor del campo de la región al volver a comprobar las reglas. |
| `Regions`       | `Region[]`                                                                          | De solo lectura   | Regiones del campo. Consulte [Objeto Region](#region-object).                                     |

<div id="table-field">
  ## Campo de tabla
</div>

| Propiedad       | Tipo       | Acceso            | Descripción                                                                                       |
| --------------- | ---------- | ----------------- | ------------------------------------------------------------------------------------------------- |
| `Rows`          | `Row[]`    | De solo lectura   | Lista de filas de la tabla. Consulte el [objeto Row](#row-object).                                |
| `Caption`       | String     | De solo lectura   | Nombre o título del campo personalizado.                                                          |
| `FieldType`     | Number     | De solo lectura   | Tipo de campo. Valor: `7` (tabla).                                                                |
| `Id`            | Number     | De solo lectura   | ID del campo.                                                                                     |
| `IsReadOnly`    | Boolean    | De solo lectura   | Especifica si no se permite editar el campo.                                                      |
| `IsVisible`     | Boolean    | De solo lectura   | Especifica si el campo es visible en el formulario de datos.                                      |
| `MaxRegions`    | Number     | De solo lectura   | Si el valor es `-1`, se permite cualquier número de regiones.                                     |
| `Name`          | String     | De solo lectura   | Nombre de servicio del campo.                                                                     |
| `NamePath`      | `String[]` | De solo lectura   | Array de nombres de campos y grupos que forman la ruta de acceso al campo.                        |
| `NeedRecognize` | Boolean    | Lectura/escritura | Especifica si se debe recuperar el valor del campo de la región al volver a comprobar las reglas. |
| `Regions`       | `Region[]` | De solo lectura   | Regiones del campo. Consulte el [objeto Region](#region-object).                                  |

<div id="row-object">
  ### Objeto Row
</div>

| Propiedad       | Tipo                                                      | Descripción                                                                                              |
| --------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `Id`            | number                                                    | ID de la fila.                                                                                           |
| `RowNumber`     | number                                                    | Número de secuencia de la fila, a partir de cero.                                                        |
| `HasColorImage` | boolean                                                   | Especifica si la imagen de la fila está en color.                                                        |
| `TableBlockID`  | `number[]`                                                | Identificadores de las secciones, tablas y bloques de tabla que forman la ruta hasta el bloque de tabla. |
| `Cells`         | `(Picture \| Checkmark \| CheckmarkGroup \| TextField)[]` | Campos de las celdas de la tabla.                                                                        |

<div id="text-entry-field">
  ## Campo de entrada de texto
</div>

| Propiedad                | Tipo       | Acceso            | Descripción                                                                                                                                                                   |
| ------------------------ | ---------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Flags`                  | `Number[]` | Lectura/escritura | Array de la misma longitud que el `Value` del campo, compuesto por `0` y `1`. Un carácter de `Value` que ocupa la misma posición que un `0` en `Flags` requiere verificación. |
| `Suggests`               | `String[]` | De solo lectura   | Lista de valores sugeridos para el campo.                                                                                                                                     |
| `Value`                  | String     | Lectura/escritura | Valor del campo.                                                                                                                                                              |
| `TextType`               | Number     | De solo lectura   | Tipo de campo de texto. Consulte [los valores de TextType](#texttype-values).                                                                                                 |
| `Caption`                | String     | De solo lectura   | Nombre o título del campo personalizado.                                                                                                                                      |
| `FieldType`              | Number     | De solo lectura   | Tipo de campo. Valor: `0` (campo de texto).                                                                                                                                   |
| `Id`                     | Number     | De solo lectura   | ID del campo.                                                                                                                                                                 |
| `IsReadOnly`             | Boolean    | De solo lectura   | Especifica si no se permite editar el campo.                                                                                                                                  |
| `IsVisible`              | Boolean    | De solo lectura   | Especifica si el campo está visible en el formulario de datos.                                                                                                                |
| `MaxRegions`             | Number     | De solo lectura   | Número máximo de regiones de campo. Si el valor es `-1`, se permite cualquier número de regiones.                                                                             |
| `Name`                   | String     | De solo lectura   | Nombre de servicio del campo.                                                                                                                                                 |
| `NamePath`               | `String[]` | De solo lectura   | Array de nombres de campos y grupos que forman la ruta de acceso al campo.                                                                                                    |
| `NeedRecognize`          | Boolean    | Lectura/escritura | Especifica si se debe recuperar el valor del campo de la región al volver a comprobar las reglas.                                                                             |
| `Regions`                | `Region[]` | De solo lectura   | Regiones del campo. Consulte [el objeto Region](#region-object).                                                                                                              |
| `IsVerified`             | Boolean    | Lectura/escritura | Especifica si el campo se ha verificado.                                                                                                                                      |
| `NeedVerification`       | Boolean    | De solo lectura   | Especifica si el campo requiere verificación.                                                                                                                                 |
| `NeedDoubleVerification` | Boolean    | De solo lectura   | Especifica si el campo requiere doble verificación.                                                                                                                           |
| `IsSummary`              | Boolean    | De solo lectura   | Especifica si el campo se utiliza en el resumen de datos del formulario de datos.                                                                                             |

<div id="texttype-values">
  ### Valores de TextType
</div>

| Valor | Significado                |
| ----- | -------------------------- |
| `0`   | Campo de texto             |
| `1`   | Campo numérico             |
| `2`   | Campo de importe monetario |
| `3`   | Campo de fecha y hora      |
| `4`   | Campo de fecha             |
| `5`   | Campo de hora              |
| `6`   | Campo de código            |

<div id="checkmark-field">
  ## Campo de marca de verificación
</div>

| Propiedad                | Tipo       | Acceso            | Descripción                                                                                       |
| ------------------------ | ---------- | ----------------- | ------------------------------------------------------------------------------------------------- |
| `Value`                  | Boolean    | Lectura/escritura | Valor del campo.                                                                                  |
| `Caption`                | String     | De solo lectura   | Nombre personalizado del campo, título.                                                           |
| `FieldType`              | Number     | De solo lectura   | Tipo de campo. Valor: `2` (marca de verificación).                                                |
| `Id`                     | Number     | De solo lectura   | ID del campo.                                                                                     |
| `IsReadOnly`             | Boolean    | De solo lectura   | Especifica si no se permite editar el campo.                                                      |
| `IsVisible`              | Boolean    | De solo lectura   | Especifica si el campo es visible en el formulario de datos.                                      |
| `MaxRegions`             | Number     | De solo lectura   | Número máximo de regiones de campo. Si el valor es `-1`, se permite cualquier número de regiones. |
| `Name`                   | String     | De solo lectura   | Nombre de servicio del campo.                                                                     |
| `NamePath`               | `String[]` | De solo lectura   | Array de nombres de campos y grupos que forman la ruta al campo.                                  |
| `NeedRecognize`          | Boolean    | Lectura/escritura | Especifica si se debe recuperar el valor del campo de la región al volver a comprobar las reglas. |
| `Regions`                | `Region[]` | De solo lectura   | Regiones del campo. Consulte [Objeto Region](#region-object).                                     |
| `IsVerified`             | Boolean    | Lectura/escritura | Especifica si el campo se ha verificado.                                                          |
| `NeedVerification`       | Boolean    | De solo lectura   | Especifica si el campo requiere verificación.                                                     |
| `NeedDoubleVerification` | Boolean    | De solo lectura   | Especifica si el campo requiere doble verificación.                                               |
| `IsSummary`              | Boolean    | De solo lectura   | Especifica si el campo se utiliza en el resumen de datos del formulario de datos.                 |

<div id="checkmark-group-field">
  ## Campo de grupo de marcas de verificación
</div>

| Propiedad                | Tipo                           | Acceso            | Descripción                                                                                               |
| ------------------------ | ------------------------------ | ----------------- | --------------------------------------------------------------------------------------------------------- |
| `MaxSelectedCount`       | Número                         | De solo lectura   | Número máximo de valores de campo seleccionados.                                                          |
| `MinSelectedCount`       | Número                         | De solo lectura   | Número mínimo de valores de campo seleccionados.                                                          |
| `Values`                 | `Number[]`                     | Lectura/escritura | Valor del campo. Array de ID de Records que conforman la lista de posibles valores de campo (`Variants`). |
| `Variants`               | `{Id: number, Name: string}[]` | De solo lectura   | Lista de posibles valores de campo. Cada variante tiene `Id` (ID de Record) y `Name` (nombre de Record).  |
| `Caption`                | Cadena                         | De solo lectura   | Nombre o título del campo personalizado.                                                                  |
| `FieldType`              | Número                         | De solo lectura   | Tipo de campo. Valor: `3` (grupo de marcas de verificación).                                              |
| `Id`                     | Número                         | De solo lectura   | ID de campo.                                                                                              |
| `IsReadOnly`             | Boolean                        | De solo lectura   | Especifica si no se permite editar el campo.                                                              |
| `IsVisible`              | Boolean                        | De solo lectura   | Especifica si el campo es visible en el formulario de datos.                                              |
| `MaxRegions`             | Número                         | De solo lectura   | Número máximo de regiones de campo. Si el valor es `-1`, se permite cualquier número de regiones.         |
| `Name`                   | Cadena                         | De solo lectura   | Nombre de servicio del campo.                                                                             |
| `NamePath`               | `String[]`                     | De solo lectura   | Array de nombres de campos y grupos que forman la ruta al campo.                                          |
| `NeedRecognize`          | Boolean                        | Lectura/escritura | Especifica si se debe recuperar el valor del campo de la región al volver a comprobar las reglas.         |
| `Regions`                | `Region[]`                     | De solo lectura   | Regiones del campo. Consulte [objeto Region](#region-object).                                             |
| `IsVerified`             | Boolean                        | Lectura/escritura | Especifica si el campo se ha verificado.                                                                  |
| `NeedVerification`       | Boolean                        | De solo lectura   | Especifica si el campo requiere verificación.                                                             |
| `NeedDoubleVerification` | Boolean                        | De solo lectura   | Especifica si el campo requiere doble verificación.                                                       |
| `IsSummary`              | Boolean                        | De solo lectura   | Especifica si el campo se utiliza en el resumen de datos del formulario de datos.                         |

<div id="picture-field">
  ## Campo de imagen
</div>

| Propiedad    | Tipo       | Acceso          | Descripción                                                                                       |
| ------------ | ---------- | --------------- | ------------------------------------------------------------------------------------------------- |
| `Caption`    | String     | De solo lectura | Nombre y título del campo personalizado.                                                          |
| `FieldType`  | Number     | De solo lectura | Tipo de campo. Valor: `1` (imagen).                                                               |
| `Id`         | Number     | De solo lectura | ID del campo.                                                                                     |
| `IsReadOnly` | Boolean    | De solo lectura | Especifica si la edición del campo no está permitida.                                             |
| `IsVisible`  | Boolean    | De solo lectura | Especifica si el campo es visible en el formulario de datos.                                      |
| `MaxRegions` | Number     | De solo lectura | Número máximo de regiones de campo. Si el valor es `-1`, se permite cualquier número de regiones. |
| `Name`       | String     | De solo lectura | Nombre de servicio del campo.                                                                     |
| `NamePath`   | `String[]` | De solo lectura | Array de nombres de campos y grupos que forman la ruta de acceso al campo.                        |
| `Regions`    | `Region[]` | De solo lectura | Regiones del campo. Consulte el [objeto Region](#region-object).                                  |

<div id="repeating-group-of-sections-field">
  ## Campo de grupo repetido de secciones
</div>

| Propiedad   | Tipo        | Acceso          | Descripción                                              |
| ----------- | ----------- | --------------- | -------------------------------------------------------- |
| `Id`        | Number      | De solo lectura | ID del campo.                                            |
| `Name`      | String      | De solo lectura | Nombre del campo.                                        |
| `Sections`  | `Section[]` | De solo lectura | Array de campos de tipo [Section](#section-field).       |
| `FieldType` | Number      | De solo lectura | Tipo de campo. Valor: `8` (grupo de secciones repetido). |

<div id="region-object">
  ## Objeto Region
</div>

La propiedad `Regions` de cada objeto de campo devuelve un array de regiones con la siguiente estructura.

| Propiedad     | Tipo                     | Descripción                                                                                                                                                            |
| ------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Id`          | number                   | ID de la Region.                                                                                                                                                       |
| `Status`      | number                   | Estado de la región: `0` la región no está superpuesta (o se ha eliminado), `1` la región no se ha reconocido, `2` el valor de la región se ha sustituido en el campo. |
| `PageId`      | Number                   | ID de la página en la que se encuentra la región.                                                                                                                      |
| `IsNew`       | Boolean                  | Indicador de regiones nuevas.                                                                                                                                          |
| `Coordinates` | `Object [{X1,X2,Y1,Y2}]` | Coordenadas de la región en la imagen.                                                                                                                                 |

<div id="document-object">
  ## Objeto Document
</div>

El objeto Document está disponible a través de `commandArgs.params.document`.

| Propiedad          | Tipo                           | Acceso          | Descripción                                                                                               |
| ------------------ | ------------------------------ | --------------- | --------------------------------------------------------------------------------------------------------- |
| `AssemblingErrors` | `AssemblingError[]`            | De solo lectura | Errores de ensamblaje del documento. Consulte el [objeto de error de ensamblaje](#assembly-error-object). |
| `BatchId`          | Number                         | De solo lectura | ID del lote.                                                                                              |
| `Errors`           | `Error[]`                      | De solo lectura | Errores del documento. Consulte el [objeto Error](#error-object).                                         |
| `Fields`           | `(Section \| SectionsGroup)[]` | De solo lectura | Lista de secciones y secciones duplicadas.                                                                |
| `Id`               | Number                         | De solo lectura | Identificador del documento.                                                                              |
| `Index`            | Number                         | De solo lectura | Índice del documento en el lote.                                                                          |
| `Pages`            | `Page[]`                       | De solo lectura | Lista de páginas del documento. Consulte el [objeto Page](#page-object).                                  |
| `ProjectId`        | Number                         | De solo lectura | Identificador del proyecto.                                                                               |
| `TaskId`           | Number                         | De solo lectura | ID de tarea.                                                                                              |
| `TemplateId`       | Number                         | De solo lectura | ID de la definición del documento.                                                                        |
| `TemplateName`     | String                         | De solo lectura | Nombre de la Definición de Document.                                                                      |
| `TemplateVersion`  | Number                         | De solo lectura | Versión de la definición del documento.                                                                   |
| `Version`          | Number                         | De solo lectura | Versión del documento.                                                                                    |

<div id="assembly-error-object">
  ### Objeto de error de ensamblaje
</div>

| Propiedad         | Tipo         | Descripción                                                                            |
| ----------------- | ------------ | -------------------------------------------------------------------------------------- |
| `DocumentNodeRef` | `number[][]` | Lista de vínculos a campos del formulario, representados como un array de ID de campo. |
| `Description`     | string       | Descripción del error.                                                                 |
| `SectionName`     | `string[]`   | Lista de secciones implicadas en el error.                                             |

<div id="error-object">
  ### Objeto Error
</div>

| Propiedad         | Tipo         | Descripción                                                                     |
| ----------------- | ------------ | ------------------------------------------------------------------------------- |
| `DocumentNodeRef` | `number[][]` | Lista de referencias a campos del formulario, en forma de array de ID de campo. |
| `Severity`        | number       | `1` Error, `0` Advertencia.                                                     |
| `Message`         | string       | Texto del error.                                                                |
| `RuleName`        | string       | Nombre de la regla que provocó el error.                                        |

<div id="page-object">
  ### Objeto Page
</div>

| Propiedad                   | Tipo    | Descripción                            |
| --------------------------- | ------- | -------------------------------------- |
| `Id`                        | number  | ID de la página.                       |
| `Modification`              | number  | Número de revisión de la página.       |
| `HasColorImage`             | boolean | Especifica si la página es en color.   |
| `ImageResolution`           | number  | Resolución de la imagen.               |
| `KeyValue`                  | string  | Valor del campo clave de la página.    |
| `SectionTemplateId`         | number  | ID de sección de la página.            |
| `SectionTemplateName`       | string  | Nombre de la sección de la página.     |
| `FlexibleInstanceId`        | number  | ID de la instancia flexible.           |
| `SectionTemplatePageNumber` | number  | Número de página dentro de la sección. |
| `Comment`                   | string  | Revisión de la página.                 |
| `ImageWidth`                | number  | Ancho de la imagen de la página.       |
| `ImageHeight`               | number  | Alto de la imagen de la página.        |
