Pregunta:
Con Active Import, era posible definir asignaciones de campos incluso si el tipo de datos no era el mismo para la fuente externa (base de datos).
Esto significa que un campo de base de datos del tipo Texto también podía asignarse a un campo Fecha en DocuWare siempre que el contenido del campo encajara. Los tipos de base de datos fueron asignados automáticamente por Active Import.
¿Cómo se puede conseguir esto si se utiliza AUTOINDEX?
Respuesta:
Dado que la base de datos de origen puede estar ocupada por otras aplicaciones y no se desea cambiar los tipos de campo, se puede utilizar una vista de base de datos para utilizar los datos con los mismos tipos de datos que los campos de destino en DocuWare.
Ejemplo:
Base de datos externa con información de índice en la tabla "extdata.dbo.Indexdata" (en MSSQL):
Nombre de columna | Tipo de datos | Contenido |
---|---|---|
ID | Nchar(10) | 1 |
Código de barras | Numérico(18,0) | 123456 |
Número de documento | Varchar(50) | 45612 |
Nombre | Varchar(50) | Maier AG |
Código postal | Varchar(50) | 81785 |
Fecha del documento | Varchar(50) | 15.09.2014 |
En DocuWare también existen los campos denominados documentnumber, postalcode y documentdate, pero los campos se han creado para un mejor uso con otros tipos de datos:
Campo DocuWare | Tipo de datos |
---|---|
Número de documento | Numérico |
Código postal | Numérico |
Fecha del documento | Fecha |
Por lo tanto, no es posible asignar los campos externos a los campos DocuWare en la configuración del flujo de trabajo AUTOINDEX. Por este motivo, se crea una vista de base de datos MSSQL que convierte el contenido de los campos DocuWare y hace posible una asignación.
Encontrará más detalles sobre los comandos mencionados a continuación aquí: CAST y CONVERT (Transact-SQL) - SQL Server | Microsoft Learn
Primero, una explicación básica:
La vista debe contener todos los campos de la BD externa, por lo que la sentencia básica tiene el siguiente aspecto:
SELECT
ID ,
código de barras ,
número de documento,
name ,
postalcode ,
documentdate
FROM
extdata.dbo.Indexdata
Para convertir un campo de texto en un campo numérico, se utiliza el comando CAST:
CAST (<nombre de campo> AS <tipo de datos deseado>) AS <nombre de columna en la vista>
Para el campo "documentnumber", la sentencia SELECT debe adaptarse de la siguiente manera:
SELECT
ID ,
código de barras
CAST (documentnumber AS int) AS documentnumber,
nombre
código postal
documentdate
FROM
extdata.dbo.Indexdata
Para los campos de fecha, debe utilizarse CONVERT en lugar de CAST:
CONVERT ([datetime], <nombre de campo>, 104) AS <nombre de columna en la vista>
La sentencia completa para crear la vista:
CREATE VIEW AIX_VIEW
AS
SELECT
ID ,
Código de barras
CAST (documentnumber AS int) AS documentnumber,
nombre
CAST (código postal AS int) AS postalcode ,
convert ([datetime], documentdate, 104) AS documentdate
FROM
extdata.dbo.Indexdata
Una vez ejecutada correctamente esta sentencia, la base de datos "extdata" contiene ahora una vista llamada "AIX_VIEW", que contiene automáticamente el contenido de la tabla fuente "Indexdata" si se consulta, pero que suministra los tipos de datos que coinciden con el campo en DocuWare.
Ahora se puede establecer una conexión a esta base de datos "extdata" en la administración de DocuWare para poder utilizar esta vista al configurar un flujo de trabajo AUTOINDEX:
Ahora también se pueden asignar todos los campos externos a los campos correspondientes de DocuWare.
Tenga en cuenta: Este artículo es una traducción del idioma inglés. La información contenida en este artículo se basa en la(s) versión(es) original(es) del producto(s) en inglés. Puede haber errores menores, como en la gramática utilizada en la versión traducida de nuestros artículos.
Si bien no podemos garantizar la exactitud completa de la traducción, en la mayoría de los casos, encontrará que es lo suficientemente informativa. En caso de duda, vuelva a la versión en inglés de este artículo.