may 3

Proceso de importación

Posted in foro, utilidades

Como solución al problema planteado por Velavisual en este hilo:

Emulando importación y exportación de listas virtuales

He preferido realizar las pruebas partiendo de cero, por varios motivos:

  • Un formulario con demasiados eventos y dificil de localizar el problema
  • El uso de cestas locales y procesos en 3 plano, son dificiles de procesar
  • La falta de datos para revisar el buen funcionamiento de los objetos
  • Y la poca disponibilidad de tiempo para solucionarlo

Asi que me he puesto a realizar el ejemplo y el resultado es este:

1. He creado un fichero de texto similar al que se indica en el hilo del foro:

2. He creado un formulario sin origen para ejecutar la importacion y mostrar el resultado

3, He creado un objeto CESTA para almacenar los registros que se muestran en la rejilla

4. He creado el proceso que carga la rejilla desde el control objeto del formulario

5. En el formulario he incluido las propiedades del control objeto , ejecutar el proceso que retorna el contenido de la cesta y mostrar la rejilla con el resultado

6. He creado un evento en el formulario para IMPORTAR el fichero de texto y he asociado el evento a un boton llamado IMPORTAR

En el proceso de importacion no he usado la busqueda, para evitar crear otro objeto, y lo he cambiado por Cargar Lista, pero deberia funcionar exactamente igual en cualquiera de los casos.

7. He creado una accion que ejecuta y visualiza el formulario

8. He ejecutado la aplicacion y al abrir el formulario aparece una rejilla vacia, luego pulso el boton IMPORTAR, y la rejilla se muestra con los registros que hay en la lista del archivo de texto.

Las pruebas las he realizado con una tabla de facturas para comprobar que los registros del fichero de texto se corresponderian con un codigo de registro en la tabla.

Despues de esto, todo ha funcionado correctamente, ahora solo tienes que revisar los pasos y detectar el error.

PDF Download    Enviar artculo en formato PDF   
comments: Closed

2 Responses to “Proceso de importación”

  1. Antonio Vela dice:

    Estimado Jose Luis:

    Antes de nada, agradecer el interés mostrado y las ganas de localizar el error. Comentarte por alusiones:

    1.- Un formulario con demasiados eventos y dificil de localizar el problema
    Todos los eventos son necesarios y funcionales. Creo recordar que te dije que el evento se llamaba -IMPRTAR-RESULTADOS-

    2.-El uso de cestas locales y procesos en 3 plano, son dificiles de procesar
    Yo simplemente hago uso de lo que la herramienta me permite. Además también te indique que daba igual ponerlo en 1 plano que en tercero.
    En la imagen del foro también comenté que aún cambiando el manejador de objetos para buscar los registros por el cargar lista, pasaba lo mismo

    3.-La falta de datos para revisar el buen funcionamiento de los objetos
    Todos los objetos funcionan correctamente, y el fichero que se usa en la importación puedes generarlo previamente con la exportación. Bastaría con entrar y salir y ya dispones de registros para pruebas.

    4.-Y la poca disponibilidad de tiempo para solucionarlo
    Aqui sí, aquí te doy todas las gracias del mundo por emplear tu tiempo en ver donde podía haber estado el problema.

    De todas formas, tu explicación es válida para otros casos, tal y como el que empleas. vRas interactúa con una rejilla de resultados que constantemente puede se modificada por el usuario, por eso no uso el interfaz::recalcular, aquí no es válido. De ahí el uso de cestas para añadir, cruzar y eliminar registros. A la vez se actúa procesando el contenido.

    etc..etc…etc…
    La solución final fué quitar todos los REMS que quizás no dejaban actuar bién a los IFS (tal y como pasa en v6) y todo funcionando.

    Las cosas de velneo, no le demos más vueltas.

    Pongo la imagen resultante del evento en el foro para que veas como quedó.

    Y de nuevo, muchas gracias

  2. admin dice:

    Gracias a ti por la aplicación que estas realizando,

    – El mayor problema siempre es el tiempo, y ahora no dispongo de mucho, por eso he preferido hacerlo partiendo de cero.

    – Cierto que no lo ejecute, despues de instalar el VIN, vi las tablas vacias y no llegue a ejecutar, mire el formulario y los eventos y decidi empezar de cero. No sabia que al ejecutar se crearian los registros automaticamente.

    – Como te he comentado, en el manual se indica claramente que las cestas locales deben ser creadas al inicio de los procesos, y eso significa en la 1ª linea, antes de cualquier otra sentencia, y antes incluso de los REM

    – Las “cestas locales”, al igual que el “objeto Cesta” y de la misma forma que las “Tablas en memoria”, son locales para la ejecucion de una instancia en vClient, y por tanto, lo de añadir registros de un proceso o busqueda en 3 plano que se ejecuta en el servidor a una lista en memoria del cliente, es cuanto menos, complicado.

    – Ya se que me indicaste el evento que tenia que revisar, pero habia cosas que no entendia y principalmente por el problema del tiempo, me resultaba mas fácil lo primero.

    Entiendo que para ti puede ser sencillo el formulario, los mios tambien lo son para mi, porque tengo una forma de trabajar y suelo seguir un patrón similar para todos los objetos. Pero entender lo que otro hace es bien distinto. Y no quiero decir con ello que sea mejor o peor, simplemente, que cada uno tenemos nuestros hábitos.

    Enhorabuenta por tu aplicación vRAS, que esta muy currada.

    un saludo
    Jose Luis



Pings responses to this post