Sistema de Gestión de Negocios "Hexa"
Base de datos de conocimiento.
Doc. Ref. 9290 Título: Comprobación de documentos y archivos Autor: Hexa Última actualización: 15/10/2013#documentos #archivos #comprobaciones #integridad |
Comprobación de documentos y archivos: El proceso CompDoc de la clase Intercambios
En la gestión de documentos de Hexa, muchos de ellos corresponden a archivos almacenados en el servidor. El campo "Ruta" de la tabla "Documento" indica dónde se encuentra físicamente el archivo. Cuando se elimina un registro, la mayor parte de los procesos eliminan al mismo tiempo el archivo asociado.
Pero, por diferentes motivos puede ocurrir que existan registros de documento con el archivo especificado pero que éste no exista. O al revés: archvos almacenados en la carpeta de documentos que no corresponden a ningún registro de documento.
Existe un proceso (que normalmente no está asignado a ningún botón de acción de formulario ni opción de menú) que es capaz de comprobar y opcionalmente corregir estas incongruencias. La forma de llamarlo es utilizar el formulario de ejecución de procesos.
La sintaxis de este proceso es la siguiente:
CompDoc (Condición, Orden, Opciones)
El proceso devuelve una cadena de texto con el resultado
El primer parámetro es una condición SQL que utiliza campos de la tabla "Documento", por ejemplo "Codigo >= 134 And Codigo <= 139". Si no se especifica se examinarán todos los registros de la tabla documento.
El segundo parámetro es un orden SQL, también con campos de la tabla "Documento", por ejemplo "Nombre ASC, Fecha ASC". Si no se especifica, el orden será el que decida el propio motor de la base de datos
EL tercer parámetro se especifica en forma de variables y valores tipo "variable1=valor1 varable2=valor2 variable3=valor3". Los posibles valores son los siguientes
- Filtro: Indica un posible filtro para los archivos, por ejemplo "Filtro='*.PDF'". Si no se especifica, se examinan todos los archivos
- BorrarRegistros: Indica si se deben borrar o no los registros de la tabla documento cuyos archivos no existen, por ejemplo "BorrarRegistros=Si". El valor por defecto es No
- BorrarArchivos: Indica si se deben borrar o no los archvos de la carpeta de documentos qe no corresponden a ningún registro, por ejemplo "BorrarArchvos=Si". El valor por defecto es No
Un ejemplo de llamada al proceso sería:
Intercambos.CompDoc ("Codigo >= 134 And Codigo <= 139", "Nombre ASC, Fecha ASC", "Filtro='*.PDF', BorrarRegistros=No BorrarArchivos=Si")
El resultado del proceso contiene una lista de los documentos y archivos incongruentes incluso en el caso en que no hayan sido eliminados.