Crear una regla de comprobación de base de datos
- Abra el cuadro de diálogo de propiedades del campo (haga clic con el botón derecho en el campo para abrir su menú contextual y seleccione Propiedades…) o el cuadro de diálogo Propiedades de Definición de Document (en el menú del editor de Definición de Document, seleccione Document Definition → Propiedades de Definición de Document…).
- Vaya a la pestaña Rules.
- Haga clic en el botón New Rule…
- En la lista de tipos de regla, seleccione Database Check y haga clic en OK.
- Escriba el nombre de la regla.
- Desactive la opción Show rule name in message to verifier si es necesario. Si esta opción está desactivada, el mensaje de error se mostrará como “mensaje de error” en lugar de “nombre de la regla: mensaje de error”.
- Especifique la gravedad de la regla.
- Si es necesario, especifique las condiciones en las que debe aplicarse la regla (de forma predeterminada, una regla se aplica incondicionalmente). Consulte Conditions for applying rules para obtener más información.
- Especifique etiquetas para la regla.
- Desactive la opción Enabled rule si es necesario. La regla se creará, pero no se aplicará hasta que un usuario habilite esta opción.
- Haga clic en Next >.
- Configure una conexión al origen de datos especificando su tipo y sus parámetros de conexión. Se admiten los siguientes orígenes de datos:
- External Database (Simple) La conexión a la base de datos externa se configura para cada regla en la Definición de Document.
- External Database (Variable) La conexión a la base de datos externa se configura solo en las propiedades del proyecto (Propiedades del proyecto → Variables de entorno). Este tipo de origen de datos puede usarse simultáneamente para varias reglas. Si usa una base de datos distinta para el proyecto, solo tendrá que modificar la configuración de conexión en las propiedades del proyecto.
- data set La conexión al conjunto de datos la configura el usuario en las propiedades de la Definición de Document (Propiedades de Definición de Document → Conjuntos de datos). Tip. Recomendamos seleccionar lo siguiente como OLE DB Provider:
- Al exportar a SQL, use preferiblemente OLE DB Provider for ODBC Drivers
- Al exportar a Oracle, use preferiblemente Oracle Provider for OLE DB (para obtener más información, consulte Exporting to an Oracle database) Nota: Para evitar tener que introducir la contraseña cada vez que se conecte a la base de datos, seleccione la opción Allow saving password o configure la base de datos para que no requiera contraseña para conectarse a ella (por ejemplo, puede usar la autenticación de Windows).
- Seleccione el esquema y la tabla de base de datos requeridos en las listas desplegables, o especifique el conjunto de datos requerido si está configurando una conexión a un origen de tipo data set. Nota: Si Find in all schemas está seleccionado como esquema y la tabla especificada no está incluida en el esquema predeterminado, puede aparecer el siguiente mensaje de error: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name K1. [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared. Si aparece este mensaje de error, debe especificarse explícitamente el nombre del esquema que contiene la tabla.
- Seleccione la opción Don’t check if all fields are empty para omitir las comprobaciones de regla si no hay valores en los campos implicados en la comparación. Esto acelerará la validación de la regla.
- Establezca vínculos entre los campos de la Definición de Document y los campos de la base de datos (consulte Especificar campos para comparar más abajo).
- Use los botones Add…, Edit… y Delete para agregar, editar o eliminar vínculos entre campos.
- Si seleccionó un Data Set como origen, ahora puede seleccionar el campo que actuará como clave principal en la lista desplegable Field where to save record ID.
Especificación de campos para comparar
- Campo del documento El campo de la Definición de Document que se comparará con un campo de la base de datos
- Campo de la base de datos El campo de la base de datos que se comparará con el campo del documento
- Búsqueda Especifica el tipo de comparación:
- Exacta El valor del campo del documento debe coincidir exactamente con el valor del campo de la base de datos (tenga en cuenta, sin embargo, que las búsquedas no distinguen entre mayúsculas y minúsculas)
- Difusa El valor del campo del documento puede coincidir solo parcialmente con el valor de la base de datos. Solo los campos de texto pueden utilizarse en este tipo de comparación.
- No buscar si el campo está vacío Si el campo está vacío, su valor no se comparará con los valores de la base de datos.
-
Introducir valor de la base de datos Si una búsqueda difusa encuentra un valor coincidente en la base de datos, este valor puede introducirse automáticamente en el campo si:
- los valores del campo y de la base de datos son diferentes
- el campo está vacío. Nota: En el caso de las búsquedas exactas, seleccionar la opción Introducir valor de la base de datos no tiene sentido, ya que los dos valores serán idénticos.
-
Permitir valores vacíos en la base de datos Según los resultados de la comprobación de la base de datos y otros ajustes, esta opción tendrá el siguiente significado:
- si el campo de la base de datos está vacío y el campo del documento no está vacío, los valores del campo y de la base de datos se consideran idénticos
- si el campo de la base de datos está vacío y el campo del documento no está vacío y está seleccionada la opción Rellenar desde la base de datos, el valor vacío de la base de datos no se introducirá en el campo.
Claves primarias en conjuntos de datos
Si su proyecto incluye un conjunto de datos (una copia local de una base de datos externa) del que desea tomar valores de campos para los documentos cuando se procesen, puede usar una regla de comprobación de base de datos para especificar un campo que sirva como clave primaria (identificador único) de un Record del conjunto de datos. Si hace esto, los datos del formulario de datos se harán corresponder con los datos del conjunto de datos. Cuando seleccione un Record, todos los campos se rellenarán con valores del conjunto de datos. No podrá editar los valores en el formulario de datos. Si intenta hacerlo, aparecerá un cuadro de diálogo en el que se le pedirá que realice una de las siguientes acciones:- seleccionar otro Record del conjunto de datos
- editar el Record existente
- Todos los campos a los que se aplica la regla deben tener habilitada la opción introducir valor de la base de datos; en ese caso, siempre que el campo que actúa como clave primaria contenga un valor, el programa no buscará valores para los demás campos y, en su lugar, los rellenará con valores de la base de datos.
- Si el campo que actúa como clave primaria no contiene ningún valor, el programa examinará otros campos para los que se haya habilitado la opción Buscar al especificar los campos que deben compararse en el cuadro de diálogo Vínculo de campos (consulte Especificar los campos que se van a comparar más arriba). Si se encuentra un Record único para estos campos, se usarán los valores de la base de datos (como en el punto 1 anterior).
- Se selecciona un conjunto de datos como origen;
- Se especifica una clave primaria en el conjunto de datos, es decir, la opción Clave primaria estaba habilitada para un campo cuando
- El campo usado como clave primaria no figura en la lista Vínculos de campos de la pestaña Configuración de reglas.
Realizar una comprobación en la base de datos para un conjunto de campos
- El valor del campo Fa coincide exactamente con el valor de Ta
- El valor del campo Fb coincide de forma difusa con el valor de Tb
- Cuando se cumplen las condiciones especificadas, el valor de la columna Tc se copia en el campo Fc.

Son posibles distintas combinaciones: coincidencias exactas/difusas/mixtas, sin rellenado automático, cantidad no especificada de campos, etc.
