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

# Regla de script

> Cree reglas de script en ABBYY FlexiCapture para ejecutar algoritmos personalizados de validación y normalización, con acceso desde IRuleContext a conjuntos de datos en caché.

<div id="what-it-does">
  ## Qué hace
</div>

Las reglas basadas en scripts le permiten crear algoritmos personalizados complejos para la validación y normalización de documentos.

La regla de script se configura en la pestaña Reglas de *(Administrador)* [Propiedades de Definición de Document](/es/flexi-capture/templates/template-properties) *(Developer)* Propiedades de Definición de Document.

<div id="parameters">
  ## Parámetros
</div>

| **Name** | **Tipo**                                                        | **Acceso**                         | **Descripción**         |
| -------- | --------------------------------------------------------------- | ---------------------------------- | ----------------------- |
| Context  | [IRuleContext](/es/flexi-capture/appendix/scripts/irulecontext) | Según la configuración de la regla | El contexto de la regla |

Los procedimientos que desee usar en más de una regla deben escribirse en el módulo global de reglas, al que puede accederse desde el editor de scripts. En la lista desplegable de la Toolbar del editor de scripts, seleccione módulo de script global de reglas. También se puede acceder al módulo global de reglas desde el editor de Definición de Document (**Document Definition → Script Modules →** Rule Script...).

Las reglas de script pueden usarse para acceder a registros de un conjunto de datos en caché. Esto puede ser útil si necesita crear reglas de validación manualmente. Complete los siguientes pasos para acceder a registros en un conjunto de datos en caché:

1. Conéctese al conjunto de datos mediante el método [IRuleContext](/es/flexi-capture/appendix/scripts/irulecontext).DataSet.
2. Cree una consulta mediante el método [IDataSet](/es/flexi-capture/appendix/scripts/idataset).CreateQuery.
3. Agregue una o varias condiciones mediante el método [IDataSetQuery](/es/flexi-capture/appendix/scripts/idatasetquery).AddValue.
4. Use el método [IDataSet](/es/flexi-capture/appendix/scripts/idataset).GetRecords para obtener los datos que cumplan la consulta. Si necesita determinar cuántos registros cumplen la consulta, use el método [IDataSet](/es/flexi-capture/appendix/scripts/idataset).GetRecordsCount.
5. Puede obtener registros con números de índice específicos mediante el método [IRecordset](/es/flexi-capture/appendix/scripts/irecordset).GetRecord.

Si se usan clases y métodos de un [ensamblado externo](/es/flexi-capture/appendix/scripts/user-assembly) en el script o en el módulo global, el archivo del ensamblado debe adjuntarse en la pestaña .NET References de las Propiedades de Definición de Document.

<div id="administrator-see-also">
  ## (Administrador) Consulte también:
</div>

*(Administrador)*  [Regla de script](/es/flexi-capture/templates/rule-script)
