feb 3

La potencia sin control, no sirve de nada!

Posted in Sin categoría

Este era el eslogan de una conocida marca de neumaticos, y realmente es cierto.

Y ésto viene al hilo de que, en los últimos dias, he estado dedicando bastante tiempo a realizar pruebas con pequeños desarrollos en V7.

Y la mejor forma de probar, es con datos reales, porque solo asi surgen problemas reales que tanto detestan los clientes cuando están trabajando.

Y durante el transcurso de estas pruebas, V7 me ha sorprendido gratamente en muchos aspectos, y he podido comprobar la inmensa potencia que puede llegar a tener para realizar Interfaces de calidad (vease la Open Apps vCash de Overall) y el trabajo realizado por Jorge Hontoria en PaaSOS.

Pero para realizar trabajos con una presentación y calidad óptima, como en los ejemplos anteriores, hay que echarle valor y tirarse al ruedo, asi que he creado un formulario y le he incluido varias rejillas de datos, cada rejilla correspondiente a una tabla de datos diferente.

Para realizar este ejemplo, he seguido los pasos que voy a indicar ahora:

  1. Crear un formulario sin origen
  2. Incluir varios controles objeto, cada uno de ellos con un proceso que carga una lista de datos y presenta una rejilla para visualizarlos.
  3. He creado varios eventos en el formulario para ocultar los controles objeto anteriores, y mostrar solo uno y recalcularlo
  4. He creado una conexion de evento para que al iniciarse el formulario solo se muestre una de las rejillas, y se oculten todas las demas.
  5. Y he incluido varios botones en el formulario, cada uno de ellos, para ejecutar un evento, y asi activar y desactivar los controles objeto segun corresponda.

Y hasta aqui he de decir, que todo funciona de maravilla, los controles se ocultan y se visualizan cuando deben, y solo se ve una rejilla en cada momento, permaneciendo ocultas las demas.

En esta prueba he comprobado la verdadera potencia de los “Layauts” y sobre todo de las sentencias de Interfaz en los eventos. Como he dicho anteriormente, la potencia que podemos llegar a obtener es inmensa, y felicito por ello al equipo de Velneo.

Pero no iba a ser todo bueno, y como dice el titulo de este artículo, toda esa potencia debe ser controlada, para que realmente tenga utilidad. Voy a intentar explicarlo claramente,

Todo funcionaba a pedir de boca hasta que, realicé una importación de datos masiva, y generé datos en varias de las tablas que se mostraban en las rejillas del ejemplo anterior. Aproximadamente unos 150.000 registros en total repartidos por 3 de las tablas utilizadas.

Y aqui es donde empiezan los problemas, ya que al ejecutar el proyecto y pulsar el botón que muestra el formulario con las rejillas, vClient se queda aparentemete colgado durante casi 2 minutos. Demasiado tiempo para tan poca cantidad de registros, eso es “pecata minuta” para Velneo.

Como no estaba muy convencido del resultado (demasiado tiempo para trabarar con vServer en Local), empecé a modificar el proyecto a ver que tal se comportaba en diferentes condiciones y despues de muchos cambios y ejecuciones llegue a la siguiente conclusión:

Cuando se muestra el formulario, se recalculan automaticamente todos los objetos que contiene.

Y aunque no estoy seguro de como se ejecuta internamente, puede deberse a dos motivos:

  1. Todos los controles se recalculan antes de ejecutarse el evento de Inicializado del formulario.
  2. Si el evento de Inicializado del formulario se ejecuta en primer lugar, significa que los Controles objeto son recalculados en la ejecucion del formulario, a pesar de que han sido ocultados en el Inicializado.

Asi pues, toda esta potencia, no sirve de nada si no podemos controlar de alguna forma que objetos del formulario deben ser recalculados al iniciarse el mismo (Recuerdo que en la Conexion de evento: Inicializado, se ejecuta un evento que oculta todos los controles objetos menos uno)

En cualquier caso, creo que la solución a este problema, pasaría por poder controlar de alguna forma,(bien en el Evento de Inicializado del formulario o de cualquier otro modo) que un control oculto no sea recalculado, o indicar que controles deben recalcularse y cuales NO antes de mostrarse el formulario.

Este problema además nos puede costar dinero, ya que si trabajamos en la nube, desde dispositivos moviles, debo recordar que las tarifas de datos de las principales operadoras de telefonia móvil, se facturan por volumen de bytes.

Y aunque podría estar equivocado, lo cual me encantaría, si alguien conoce una solución a este problema, le estaré muy agradecido.

En caso de estar en lo cierto, ruego a Velneo que solucione este problema que afecta enormemente al rendimiento de las aplicaciones.

PDF Creator    Enviar artculo en formato PDF   
comments: 4 »
feb 3

Pack: Casilleros sincronizados

Posted in packs

En este pack, he agrupado todos los artículos referentes a Casilleros sincronizados, para que podais localizarlos más facilmente:

Casilleros sincronizados: coming soon

Casilleros sincronizados I: proyecto de datos

Casilleros sincronizados II: proyecto de aplicación

Casilleros sincronizados III: casilleros

Casilleros sincronizados IV: procesos

Casilleros sincronizados V: formulario principal

Casilleros sincronizados VI: en ejecución

Mejoras en casilleros de V7

Aplicación de TPV táctil en V6

Utiliza la categoría PACK para localizar todos los artículos que han sido divididos por ser demasiado extensos.

PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Pack: Casilleros sincronizados