Aprende a usar el Objeto Binario en Velneo V7 para adjuntar documentos a tus aplicaciones

¿Necesitas adjuntar documentos en tus aplicaciones Velneo V7?

¿No sabes cómo adjuntar a una ficha de proveedor esa tarifa de precios que te ha enviado en formato pdf?

¿Tienes que guardar en la ficha del artículo las últimas fotos para el catálogo?

En este tutorial vamos a aprender a utilizar el objeto binario para poder adjuntar cualquier tipo de fichero a nuestros registros de la base de datos.

¿Qué es el objeto binario?

Antes de entrar en materia vamos, como siempre, con un poco de teoría para saber qué es un objeto binario:

Los campos de tipo objeto binario, permiten contener cualquier tipo de archivo, que será almacenado en el contenedor en formato binario.

A diferencia del resto de los campos, tienen la particularidad de que su contenido se almacena en un contenedor aparte de los datos, por lo que el tamaño del registro no aumenta con su uso, si no que este se contabiliza en su contenedor. Además la ayuda de velneo también no indica que La única forma de trabajar con este tipo de campo es vía proceso, con los comandos de instrucción “importar binario” y “exportar binario”, pues no existe un control específico para su edición

Creando la tabla de adjuntos

Una vez tengamos creadas las tablas de nuestra aplicación, vamos a crear la tabla que vamos a necesitar para adjuntar los documentos en nuestra aplicación. Los campos que vamos a necesitar, aparte de los que vosotros consideréis oportuno incluir, son los siguientes:

objeto binario

  • Artículos: campo enlazado al maestro al que queramos adjuntar documentos
  • File_Name: en este campo grabaremos el nombre del fichero que estamos adjuntando
  • File_Size: en este campo grabaremos el tamaño del fichero adjunto. Mediante este campo podemos limitar el tamaño de los ficheros que nos adjuntan
  • Path: en este campo grabaremos la ruta del fichero adjunto
  • Fichero: en este campo de tipo objeto binario es donde “guardaremos” el fichero adjunto
  • Fecha: en este campo guardaremos la fecha en la que se ha subido el fichero a nuestra aplicación

Creando los objetos visuales

Ya tenemos nuestra tabla de adjuntos creada.

Vamos a comenzar a crear los objetos visuales que vamos a necesitar para adjuntar los documentos.

Para empezar, necesitaremos un formulario para realizar las acciones necesarias… Algo como esto:

Formulario de objeto binario

Ahora vamos a crear un proceso que nos va a servir para importar el fichero. Primeramente crearemos unas cuantas variables locales al proceso que nos harán falta:

Variables objeto binario

y ahora crearemos el procesoART_ADJUNTOS_CREAR_FICHERO

Proceso objeto binario

Vamos a ver paso a paso lo que hace este proceso:

  • Limpiamos la variable “FICHERO”
  • Con la instrucción “Ventana de selección de fichero“, dejamos al usuario que elija el fichero que quiere “subir” a nuestra aplicación. En la variable “FICHERO” se guardará la senda del fichero. En las variables “FECHA” y “HORA” guardamos cuando se ha grabado el fichero. En la variable “TAMAÑO” guardamos el tamaño del fichero que vamos a adjuntar. Esta variable nos va a permitir, si lo consideramos oportuno, limitar el tamaño de los ficheros subidos.
  • Guardamos, mediante el comando “Modificar campo” el tamaño del fichero en el campo “FILE_SIZE
  • Guardamos, mediante el comando “Modificar campo” el path del fichero en el campo “FILE_NAME
  • Guardamos, mediante el comando “Modificar campo” el nombre del fichero en el campo “NAME
  • Con la instrucción “Importar binario” subimos el fichero seleccionado y lo guardamos en el campo “FICHERO

Una vez que hemos creado este proceso, tendremos que llamarlo para ejecutarlo y poder adjuntar los archivos.

Esto lo haremos desde el botón del formulario creado anteriormente. Este botón en la propiedad “Comando” tendrá el valor “Ejecutar proceso” y en la propiedad “Objeto” tendrá “ART_ADJUNTOS_CREAR_FICHERO

¿Cómo podemos abrir el documento?

Hasta aquí hemos visto como podemos “adjuntar” un documento a nuestra base de datos, pero ¿cómo podemos abrir ese documento para visualizarlo o trabajar con él?

Vamos a crear un manejador de evento en el formulario al que llamaremos “ABRIR_FICHERO” y que servirá, pues eso… para abrir el fichero seleccionado con el programa predeterminado en windows para el tipo de archivo que estemos abriendo. Para abrir un archivo, primero tendremos que exportarlo a nuestra máquina cliente.

Manejador en objeto binario

  • Con la fórmula “sysCacheClientPath + #FILE_NAME” componemos la ruta donde vamos a guardar el fichero exportado. En este caso en el directorio de la cache de vClient.
  • Con la instrucción “¿Existe fichero?” comprobamos si el fichero a exportar ya existe en el directorio anterior.
  • Si existe el fichero lo eliminamos de la ruta de exportación
  • Lo siguiente que hacemos es “Exportar binario
  • La última acción que realizamos en el manejador de evento es “Ejecutar documento“, pasándole la senda del bichero a ejecutar. Esta acción permitirá lanzar el programa adecuado para ejecutar el fichero que queremos abrir

Sólo nos quedará ejecutar este manejador de evento desde el botón “Abrir fichero” para poder exportar el documento y abrirlo en nuestra máquina.

Esta opción es una alternativa a utilizar los comandos SDV de Velneo V7.

Ésta y otras utilidades y funcionalidades son las que están aprendiendo los alumnos del programa “Despega con Velneo V7“. ¿A que esperas para apuntarte?

Francisco José Vila Martín
ayudavelneo@ayudavelneo.com

Francisco José Vila es autor del blog Ayudavelneo desde donde ayuda a desarrolladores que se están iniciando en Velneo a acortar su curva de aprendizaje para que obtengan beneficios y sean rentables desde el minuto 1. Además es programador certificado y formador en la plataforma de desarrollo de aplicaciones empresariales Velneo V7. Ampliar información

2 Comments
  • humber
    Posted at 23:09h, 12 noviembre Responder

    Buenas Francisco, el comentario de “tienen la particularidad de que su contenido se almacena en un contenedor aparte de los datos” quiere decir que no afectan el tamaño de la base de datos reconocido por velneo? por ejemplo con respecto a las licencias vExpress, que tienen un tope de 250mb, estos archivos adjuntos o campos binarios no se toman en cuenta? saludos.

  • Francisco José Vila Martín
    Posted at 10:13h, 13 noviembre Responder

    Hola Humber:

    Como explica velneo en las características de la licencia express: “La limitación de 256MB de almacenamiento en disco de las bases de datos sólo contabiliza el tamaño de los ficheros de datos y contenedores de todas las instancias del servidor”

    Por lo tanto si se tienen en cuenta los contenedores.

    Lo que quería decir con esa frase es que no se guardan en los archivos .dat

    Un saludo y gracias por participar

Post A Comment

Pin It on Pinterest