Almacen Documental


([N4] laukolan) #1

Buenos Días, me gustaría que me dieran ideas de como vincular una aplicación de almacén documental con otras tablas(clientes,artículos,albaranes…)
Tengo una aplicación para subir archivos y bajar archivos del servidor esta tiene una tabla en la que para documento que se sube guarda la path, el nombre de fichero, una descripción y algunos datos mas.
Lo que quiero es por ejemplo si estoy en una ficha de cliente subir un fichero y que este se relacione con la ficha de cliente de tal manera que cuando entre a ese cliente pueda ver todos sus documentos adjuntos.
Y esto poder realizarlo con cualquier tabla.
Lo que se me ocurre es crear una tabla cliente-documento que relacione las 2 fichas, pero tendría que crearme tablas para albaranes-documento, para artículos-documento etc…
¿A vosotros que se os ocurre?


([N1] wikan) #2

Buenos días,
asi de repente se me ocurre lo mismo que a ti, al fin y al cabo. Tienes que guardar la relación que existe entre el documento y la otra tabla.

Otra opción para evitar alguna tabla. Podrias usar la misma la tabla que relaciona el cliente con el documento en sus albaranes, facturas, etc. En definitiva, también es un documento con relación con el cliente.
De esta manera en el albarán verias los documentos relacionados con ese albarán, pero en la ficha del cliente también verás esos mismo documentos, incluso podrías ver que vienen de dicho albarán


([N1] vgegeo) #3

Una opcion que te puede valer, es crear una unica tabla, por ejemplo “FICHEROS”, con todos los datos que comentas, y que apunte a todas las tablas de las que quieres guardar/vincular ficheros, es decir, que todas las tablas que quieras vincular el fichero subido, sean maestras de esta que has creado.

En el proceso de subida del fichero, puedes coger el #ID de la ficha en curso para la que vinculas el fichero, y lo grabas en el campo del maestro que le corresponde en la tabla FICHEROS.

Asi tendras una tabla con todos los ficheros subidos, y a que maestro corresponde el fichero.

Luego ya desde cada maestro, podras cargar los plurales que tenga en la tabla FICHEROS y ver de esa forma que ficheros tienes vinculados.


([N1] cristianvg2003) #4

Hola yo hice algo similar pero subiendo los archivos a Amazon S3 y lo que hice fue simplemente guardar el path en una tabla “adjuntos” y en la misma usar algo de “polimorfismo” => guardando el nombre de la tabla y el id del registro al que pertenece el archivo, y mediante funciones creo y leo dichos registros, asi siempre que sepa en que tabla estoy y el id del registro, puedo consultar sus ficheros adjuntos simplemente realizando un búsqueda en la tabla “adjuntos” con estos dos parámetros.

Un saludo,


([N4] laukolan) #5

Gracias por las aportaciones.
@cristianvg2003 eso es lo que tenia pensado pero no he visto ninguna función que me devuelva el nombre de la tabla. ¿Es alguna función en JavaScript?


([N3] pacosatu) #6

Hola laukolan.

La solución de crear una tabla (ENT_DOC) que relacione las entidades (CLI, ART, ALB, FAC, …) con los documentos te permitirá aprovechar toda la potencia de las relaciones permanentes en Velneo.
Podrás de forma automática:

  • Asignar un mismo Documento a una o varias Entidades diferentes
  • Obtener los Documentos asociados a una determinada Entidad
  • Obtener las Entidades de un determinado Tipo asociadas a un Documento
  • Desde una Entidad determinada (ejem CLI) navegar hasta la documentación asociada a otras Entidades relacionadas (ALB, FACT, …)
  • Además de operaciones de borrado en cascada, facilidad de mantenimiento, …

y sin apenas código.

Saludos
Paco Satué