Tutor de SDV

Tutor de SDV

Introducción

SDV es el acrónimo de Servidor de Disco de Velneo.

Se trata de una funcionalidad similar al protocolo ftp, mediante la cual podremos subir y/o descargar ficheros a/de un Velneo vServer.

Todos los objetos de este tutor los encontrarás en la carpeta tutores/procesos y eventos avanzados/SDV.

Desarrollo

Para interactuar con el servicio de disco de Velneo disponemos de los comandos de instrucción de proceso siguientes:

SDV: conectar. SDV: descargar fichero a local. SDV: eliminar fichero en el servidor. SDV: get atributos de fichero en el servidor. SDV: recorrer carpetas del servidor. SDV: recorrer directorio del servidor. SDV: renombrar o mover fichero en el servidor. SDV: subir fichero al servidor.

Para que un proceso que gestione ficheros de un SDV de Velneo vServer sea funcional, tendremos que configurar adecuadamente las carpetas compartidas y los permisos al servidor desde Velneo vAdmin. Necesitaremos:

Declarar una carpeta compartida y dentro de ella la carpeta o senda de carpetas donde queremos tener los ficheros:

Y asignarla al grupo de usuarios que vaya a poder interactuar con el servidor de disco de Velneo.

Habitualmente el subir o descargar un fichero al servidor requerirá la conexión previa a Velneo vSever. Aquí aclarar que el comando de instrucción de proceso SDV: Conectar sólo es necesario ejecutarlo si vamos a trabajar contra un servidor diferente al que ya estamos conectados, o si queremos ejecutar los comandos con un usuario que tenga permisos diferentes al usuario en curso que está ejecutando la aplicación.

Una vez conectado al servidor, ya podremos realizar los siguientes tipos de operación:

  • Descargar ficheros del servidor.

  • Actualizar ficheros a local desde el servidor.

  • Eliminar ficheros del servidor.

  • Renombrar o mover ficheros del servidor.

  • Obtener atributos de ficheros del servidor.

Ejecutando el tutor

Para ejecutar el tutor, una vez configurados los permisos, tendremos que cumplimentar los datos siguientes:

Vrl del servidor en formato vatps://dominio:[puerto] (ejemplo: vatps://c1.velneo.com:691).

Usuario: nombre de un usuario con privilegios de acceso a la carpeta compartida.

Contraseña: contraseña del usuario.

Nombre de la carpeta compartida: nombre de la carpeta compartida (ejemplo: documentos, si se trata de la carpeta base, o documentos/facturas si se trata de una subcarpeta).

Incluye un botón verificar datos que nos permitirá comprobar si los datos vrl, usuario y contraseña son correctos.

Además, en la parte inferior del formulario se incluyen tres botones:

Ver ficheros carpeta: ejecuta el manejador de evento llamado LEE_CON_CARPETA:

Rem ( Borramos los datos de la tabla de ficheros por si ya se hubiese ejectuado el tutor en la misma sesión )
Cargar lista ( FIC@velneo_vTutor_dat, ID, , , ,  )
    Recorrer lista eliminando fichas
        Libre
Rem ( Nos conectamos al servidor )
Set ( OK_CONECTADO, 0 )
SDV: Conectar ( VRL, USR, PWD )
    Set ( OK_CONECTADO, 1 )
    Libre
    Rem ( Recorremos el directorio del servidor )
    SDV: Recorrer directorio del servidor ( NOM_CAR, SENDA, ES_DIR,  )
        If ( !ES_DIR )
            Rem ( Obtenemos el tamaño de cada archivo de la carpeta del servidor )
            SDV: Get atributos de fichero en el servidor ( NOM_CAR + "/" + SENDA, FCH, , BYTES, ,  )
            Libre
            Rem ( Damos de alta un registro en la tabla de ficheros con el nombre del fichero y su tamaño )
            Crear nueva ficha en memoria ( fichero, FIC@velneo_vTutor_dat )
                Modificar campo ( NAME, getPathFileName(SENDA) )
                Modificar campo ( KB, BYTES/1024 )
            Alta de ficha ( fichero )
                Libre
If ( !OK_CONECTADO )
    Mensaje ( "No se ha podido establecer la conexión con el servidor.\r\nAsegúrta de que esté arrancado y verifica los datos.", Información, ,  )
Rem ( Recalculamos el contenido de la rejilla de ficheros )
Interfaz: Recalcular ( CONTROL )

Descargar seleccionado: ejecuta el manejador de evento DES_FIC_SEL. Requiere que hayamos leído antes el contenido de la carpeta y seleccionar un fichero en la rejilla.

Rem ( Leemos el registro seleccionado en la rejilla )
Interfaz: Procesar ( CONTROL, Todas )
    Leer ficha seleccionada
        Set ( NOM_FICH, #NAME )
Rem ( Si no se ha seleccionado ningún fichero, se aborta el proceos )
If ( isEmpty(NOM_FICH) )
    Mensaje ( "Debes seleccionar un fichero en la rejilla.", Stop, ,  )
    Finalizar proceso
Rem ( Pedimos al usuario que seleccione la carpeta de destino )
Ventana de selección de directorio ( DIR_DEST, OK_DIR_DEST, "" )
Libre
Rem ( Nos conectamos al servidor )
If ( OK_DIR_DEST )
    Set ( OK_CONECTADO, 0 )
    SDV: Conectar ( VRL, USR, PWD )
        Set ( OK_CONECTADO, 1 )
        Libre
        Rem ( Descargamos el fichero a local )
        SDV: Descargar fichero a local ( NOM_CAR + "/" +  NOM_FICH, DIR_DEST + "/" + NOM_FICH, OK_DESCARGADO )
    If ( !OK_CONECTADO )
        Mensaje ( "No se ha podido establecer la conexión con el servidor.\r\nAsegúrta de que esté arrancado y verifica los datos.", Información, ,  )
    Rem ( Si se ha descargado el fichero, preguntar al usuario si quiere ejecutarlo )
    If ( OK_DESCARGADO )
        Pregunta ( "¿Quieres abrir el archivo " +  NOM_FICH +"?", OK_ABRIR,  )
        If ( OK_ABRIR )
            Ejecutar documento ( "file:///" + DIR_DEST + "/" + NOM_FICH,  )

Subir fichero: que nos permite subir al servidor un fichero local:

Rem ( Solicitamos el fichero a subir al servidor )
Ventana de selección de fichero ( SENDA, OK, "*-*", "" )
If ( OK )
    Rem ( Nos conectamos al servidor )
    Set ( OK_CONECTADO, 0 )
    SDV: Conectar ( VRL, USR, PWD )
        Set ( OK_CONECTADO, 1 )
        Libre
        Rem ( subimos el fichero al servidor )
        SDV: Subir fichero al servidor ( SENDA, NOM_CAR + "/" + getPathFileName(SENDA), OK_SUBIDO )
    Libre
    Rem ( Si no se ha podido conectar, avisar al usuario )
    If ( !OK_CONECTADO )
        Mensaje ( "No se ha podido establecer la conexión con el servidor.\r\nAsegúrta de que esté arrancado y verifica los datos.", Información, ,  )
    Else
        Rem ( Si no se ha podido conectar, avisar al usuario. )
        If ( ! OK_SUBIDO )
            Mensaje ( "No se ha podido subir el fichero al servidor", Información, 10,  )
        Else
            Rem ( Si se ha podido conectar, ejecutar el proceso que muestra el contenido de la carpeta compartida )
            Interfaz: Ejecutar manejador de evento ( LEE_CON_CAR,  )