dic 20

Soluciones sencillas para optimizar el rendimiento.

Nuestro amigo sat.sbinario plantea el siguiente problema en el foro de V7

Preocupación con el rendimiento con número de registros elevado y optimización

en el que expone lo siguiente:

Hola a todos:

La situación es esta. Tabla con 40 campos (2 de ellos singular de plural por índice), unos 10 índices y 180000 registros.

He notado que el rendimiento de la aplicación cuando se trabaja con esta tabla decae notablemente. Por ejemplo, una rejilla que muestra todos los registros (resultado de una búsqueda), “se ve” en pantalla mientras la carga cómo va refrescando los datos, en especial los resueltos a través de los punteros singular de plural. Además cuando utilizas algún localizador asociado a la tabla, tienes tiempos de espera notables, que incluso provocan la rotura del vClient si no eres suficientemente paciente.

Esto nunca me había pasado en v6, así que lanzo varias preguntas.

¿Se debe a los punteros singular de plural? ¿A los componentes visuales? ¿Qué aspectos intervienen en estos tiempos de espera? ¿Optimización? ¿Alguna experiencia con número de registros elevados?

Un saludo y gracias.

Y despues de varias respuestas en el mismo hilo del foro se llega a la conclusion de que el problema esta en los “Punteros singular de plural”. Y la verdad, considero que es un problema muy puntual, para casos especiales.

Como ya sabeis, yo suelo protestar mucho donde otros no protestan, pero como me gusta llevar la contraria a todos, 😀 , donde los demas se quejan, yo busco soluciones,  asi que analicemos el planteamiento y veremos la solución:

Planteamiento:

  1. La tabla tiene “muchos campos”
  2. La tabla tiene varios “punteros singular de plural por indice”
  3. La tabla tiene 180000 registros, pero podria tener más.

Problema:

Ya hemos identificado que el problema son los “punteros singular de plural por indice”

Solución:

A la vista de estos parametros tenemos varias soluciones posibles:

  1. El problema son los “Punteros” pues una solución sencilla es “Quitar los punteros”, 😀 , creo que es la más fácil, la mas sencilla de implementar y la que mejor soluciona el problema. Ahhhhhhhhh, vale, ¡que no se puede hacer eso!, :( , pues vamos a buscar otra solución.
  2. En el foro se aporta una solución que también es valida, dejar los punteros en la tabla, pero quitarlos de la rejilla. Es una buena solución, pero que pasa si necesito mostrar columnas a través de los punteros y no puedo eliminarlos, esta solución tampoco es valida.
  3. Olvidemos el problema principal, que parecen ser los “Punteros” y centremonos en el resto de parámetros de la ecuación. Haber, para que necesito mostrar 180000 registros, acaso tengo que memorizarlos, :( , ¿necesito verlos todos? si falta uno, o faltan 1000 registros, ¿te vas a dar cuenta?. Pues ahi tienes la solución, prepara un paginador y muestra los registros de 100 en 100 o de 5000 en 5000 y veras como la velocidad aumenta considerablemente. Ademas, antes de mostrar cantidades indecentes de información, deberiamos pensar todos en el ahorro economico (si, economico), porque vamos a utilizar las aplicaciones con moviles, y las compañias van a cobrar por volumenes de transmisión de datos, y de esta forma, además, matamos 2 pajaros de un tiro (ahorramos dinero a nuestros clientes, beneficiandoles a ellos, y reducimos su factura de consumo telefónico, perjudicando al operador de telefonia).

Piensa en verde, porque ahorrar es sano, sobre todo para el bolsillo, … y en estos tiempos que corren, más.

Y ahora me direis algunos, … ¿y como se hace un paginador en V7? … vale, vale, lo preparo y otro dia os lo cuento. 😉

Create PDF    Enviar artculo en formato PDF   
comments: 5 »
dic 17

Nuevos servicios del blog

Posted in ideas, utilidades

Agradecemos todas aquellas peticiones que nos sirven para mejorar el servicio que intentamos prestar a la comunidad, y las tenemos todas en cuenta, y dicho esto, comunicampos algunos cambios que hemos efectuado en el blog con la unica intención de facilitar las siguientes tareas:

  • Al final de cada articulo y justo antes de los comentarios, hemos instalado nuevas opciones para facilitar la descarga de los articulos en PDF y el envio de los mismoa a una cuenta de eMail. A partir de ahora, podras guardar en tu equipo los articulos que sean de tú interés para poder leerlos cuando no tengas conexión.
  • También y para aquellos que nos solicitan la lectura del blog desde el móvil (si que estais pillados, 😀 ),  hemos activado un nuevo servicio precisamente para facilitar la lectura desde el iPhone, pero manteniendo nuestro estilo actual para aquellos que prefieren leernos desde su escritorio tradicional.

Otras peticiones, como el uso de etiquetas, se estan valorando pero creo que, más interesante que el propio uso de etiquetas para los articulos es el propio buscador, y es que, con el buscador, puedes localizar cualquier articulo publicado y por cualquiera de las palabras que aparecen en el texto del articulo.

De todas formas podeis dejar vuestras opiniones, pero personalmente no suelo usar las “nubes de etiquetas”, porque simplemente, me cuesta mas encontrar la palabra que busco entre todas las etiquetas, que escribir las palabras en el buscador. Ademas eso nos limita a que mediante la nube de etiquetas, solo encontrareis el articulo deseado si he realizado el etiquetado adecuadamente, lo que obliga a hacer uso de un excesivo numero de palabras para etiquetar y de elegir correctamente las palabras. Lo dicho, complicado tanto para vosotros como para mi.

Mi voto particular es por el buscador pero si lo considerais útil, usare las etiquetas también.

Y sobre todo, muy agradecido, porque este interes mostrado por mejorar este blog, solo puede significar una cosa, que os gusta leerme, aunque no siempre os guste lo que digo, y eso, a mi tambien me gusta, asi que, todos contentos. :)

Create PDF    Enviar artculo en formato PDF   
comments: 5 »
dic 16

Parametros en funciones de V7

Posted in analisis, ideas

Uno de los problemas en el artículo anterior, que diferencia también a V6 y V7 es el paso de parametros a las funciones, en V6 no hay limite (aparentemente), mientras en V7 existe un limite de 10 parametros como máximo.

En realidad, ¿para que estan los limites?, ¿para que estan los obstaculos?, … ¡para superarlos!

Los limites están porque alguien, consciente o inconscientemente quiere impedirnos que esos limites sean superados, en este caso, se debe simplemente, a que el departamente de desarrollo ha considerado que 10 parametros era más que suficiente para poder ejecutar cualquier operación con este objeto.

Pero hay excepciones, y en esos casos, en que nos encontramos con un obstaculo, y un muro nos impide seguir nuestro camino, tenemos varias opciones:

  1. sentarnos y esperar a que el muro sea derribado
  2. acelerar e intentar saltarlo, chocando repetidamente hasta cansarnos
  3. intentar rodearlo, aunque ello nos suponga un esceso de tiempo y de esfuerzo

o con un poquito de imaginación, y un poquito de esfuerzo también, pero sin excederse,

  • abrir una puerta que nos permita cruzar al otro lado

Y para solucionar el probema de la limitación de parametros en las funciones, hemos abierto esa puerta:

Para esto, solo necesitamos pasar 1 o varios parametros en la llamada a la función, y en cada parametro podemos encadenar tantos valores como sea necesario, usando un separador “;”, por ejemplo.

Dentro de la función, como ya habeis imaginado vosotros, solo necesitaremos usar la funcion del sistema StringSection para volver a separar los valores de cada parametro recibido, y procesarlos como sea necesario.

La solución es sencilla, y no solo permite pasar algunos parametros más a la función, sino que elimina completamente la barrera.

Soluciones como esta, las estamos inventando a diario, pero es dificil imaginar una solución y mucho menos cuando aún no se ha presentado el problema.

….

Uhmmmmmmm

….

y ya puestos, si hemos abierto una puerta para pasar al otro lado, me pregunto:

¿porque no puedo utilizar la misma puerta para volver?

y la respuesta es ¡SI!, la puerta se abre en las dos direcciones,

por tanto, tambien puedo realizar la misma operacion para retornar varios resultados de una misma función, encadenando los valores antes de retornar el resultado y volviendolos a separar en el proceso o evento que recibe el resultado de la función.

Yo, he abierto la puerta, pero si alguien tiene alguna idea para que la puerta sea automatica y se abra sola ante nuestra simple presencia, eso siempre es de agradecer.

PDF    Enviar artculo en formato PDF   
comments: 21 »
dic 13

Variables globales ¿problema? y ¡solución!

Posted in foro, ideas

Nuestro amigo Miguel nos propone una solución al uso de variables en memoria, y dice textualmente:

Pues bien despues de volverme loco por la lentitud de una aplicacion que en local me va de vicio pero en la nube no, resulta que parte del problema era la modificacion de variables globales em “memoria” tarda un huev… en modificarlas no entiendo el porque pero bueno. El hecho es que si la variable se va a mover poco pues la modificas y ya esta, pero si la vas a mover mucho y estas en la nube creas una tabla en memoria hay te creas unos campos para variable numerica otro alfabetica, booleana etc… dos funciones una para escribir en un reg N el valor y otra para leer el valor y en vez de modif variables grabas y lees la tabla es como 5 veces mas rápido que modif variable y se nota un huev….

Este es el hilo oficial:

¿Variable global en memoria o tabla en memoria?

Y despues de leer este hilo del foro, empece a pensar en publicar un pequeño articulo sobre este tema, sobre la realización de un ejemplo tal y como Miguel, el autor de este hilo, nos propone el uso de una tabla para almacenar las variables globales en memoria para mejorar el rendimiento de este tipo de variables.

Tal y como el propone, el ejemplo es sencillo de resolver. Solo necesitamos:

  • Una tabla “en memoria”, con los campos para almacenar los identificadores de las variables y sus valores
  • Una función para guardar y modificar los valores de esas “variables”
  • Una función para leer el contenido de las “variables”

Ya esta, con esto, tan sencillo y básico, podemos mejorar el rendimiento del uso de variables en memoria y conseguir que sean hasta 5 veces mas rápidas (y vamos a creer lo que nos dice, ya que en el momento de escribir este articulo aún no he podido realizar pruebas para poder verificar dicha afirmación).

Pero, tras empezar a escribir el articulo, me rondaba algo por la cabeza, algo me decia que esto no podia quedar ahi, que tenia que haber más, una solución sencilla y brillante, de las que cuesta llegar a averiguar, y cuando llegas a dar con la solución, piensas, ¿porque no se me habrá ocurrido antes?

Y luego pensé, porque no podemos aplicar esta misma solución para las variables globales “en disco” y la solución es mas sencilla aún. Si ya hemos realizado el ejemplo anterior, y para ello hemos utilizado una tabla en memoria, porque no hacer lo mismo con una tabla “en disco”.

Porque debemos preguntarnos, si ha funcionado con variables en memoria y ha sido mas eficiente, ¿porque no probar con variables en disco?

Además, ya habiamos resuelto un problema importante con variables de tipo array, recuerdas, y si aplicamos esta misma lógica, el ejercicio quedaria resuelto tanto para variables de tipo array en memoria, como para variables de tipo array en disco.

Create PDF    Enviar artculo en formato PDF   
comments: 3 »
dic 9

Más sugerencias para la 7.6

Posted in foro, ideas

Como ya habia indicado en el artículo anterior, voy a seguir indicando algunas nuevas sugerencias para la próxima versión, y de nuevo las voy a exponer aqui, porque no puedo exponerlas en el foro de ideas.

Continuación de … Mejoras para próximas versiones y de Marchando una de ideas!

Y una observación, que me gustaria dejar clara aunque se que no sirve de nada, pero lo tengo que decir:

Que los Nivel-1 no tengamos derecho a exponer ideas porque “no podemos votarlas” me parece un atraso, pero es lógico, “no pagamos” y por tanto no tenemos acceso de dicho foro.

Deducción lógica, los niveles-1 no podemos tener ideas, somos torpes y nuestro coeficiente intelectual es el de una gallina.

Que los Nivel-2 y superior, solo tengan 10 votos, esta bién, pero esto siginifica que solo pueden votar 10 veces, y siguiendo este razonamiento, significa que si ya han utilizado 5 votos para “votar” las ideas de otros, solo disponen de 5 votos para exponer sus propias ideas.

Deducción logica según este razonamiento: cuando un Nivel-2 o superior vota 10 veces, pierde toda su capacidad intelectual, y se vuelve por tanto incompetente, es decir, cambia a nivel-1, lo que deja su nivel intelectual a la altura de las gallinas 😀

Esta teoria es una versión de la investigación realizada por cientificos rusos con las arañas, en la cual llegaron a la conclusión de que al cortar todas las patas a una araña, esta se quedaba “sorda”.

Si alquien quiere mas información acerca de esta investigación y de otras similares de las que ni siquiera WikiLiqs tiene conocimiento, no tenemos inconveniente en enviarselas mediante comunicación privada, y sin respondabilidad por las posibles represalias que pudieran sufrir por parte de la “T.I.A.”

Y como, a pesar de todo, estos razonamientos no me parecen nada lógicos, voy a exponer una idea, tremendamente ILOGICA y seguramente … iba a decir una ¡BURRADA!, pero la idea la dejo caer:

Disponemos de una de las mejores herramientas para desarrollos con bases de datos, y tenemos un FORO que es una castaña pilonga, “al menos el de V7” (y por favor, no me refiero a la comunidad, me refiero a la funcionalidad del foro), mucho mejor es el de V6, pero razones habrá para esto y no las discuto.

Y tenemos un “FORO DE IDEAS” que es mejor que el de antes, pero sigue siendo “chungo”.

Y lo que “NO” tenemos, es un foro de ideas realizado con “V7” donde podriamos hacer, opinar, exponer ideas, votar (quien tenga permiso, claro) y lo mas importante, adaptarlo a las necesidades de la comunidad, asi, “por los pinrreles”. Y nos conformamos con unas “churres” de aplicaciones, porque “no queremos reinventar la rueda” aunque eso significa seguir en la prehistoria.

Deberia caersenos la cara de verguenza, decir que con esta magnifica herramienta que nos une, y seguimos usando los recursos de las “obsoletas” bases de datos relacionales.

Ademas, ahora incluso los Nivel-1 tenemos acceso a vWebClient, si mal no recuerdo, y eso “NOS DEVOLVERIA NUESTRA INTELIGENCIA” y el derecho a poder “IMAGINAR” / “TENER IDEAS” de las que se podrian beneficiar los compañeros “Intelectualmente mas capacitados, aunque de inteligencia limirada (solo 10 ideas por barba)” 😀 😀 😀

Aqui dejo las sugerencias para quien las quiera escuchar:

  1. Función para saber el tipo de contenido de una variable local, variable global o campo de una tabla. Eso es, una función que permita saber si una variable es numerica, alfanumerica, booleana, fecha, hora, etc. Y si ademas, pudieramos saber si tiene “Signo” y el numero de “Decimales” o la “Longitud” en el caso de variables/campos alfanumericos, mucho mejor.
  2. Función para saber la resolución de la pantalla que se esta utilizando en cada momento por el S.O. Esta función nos retornaria la resolución 800×600, 1024×768, etc y asi podriamos decidir si tenemos “suficiente pantalla” para mostrar determinados objetos o combinacion de objetos.
  3. Funciones para el calculo de codigos de barras, tanto en el Asistente de formulas, como en los informes para poder imprimir los códigos de barras.
  4. Un inspector de errores que nos revise todos los proyectos de una solucion y nos indique, cuales de los pryectos tienen errores, para poder revisarlos uno a uno con mas detalle. En soluciones grandes, es complicado tener que revisar los proyectos uno a uno y puedes olvidar siempre alguno. Ademas hay que revisarlos con frecuencia cuando se estan modificando constantemente, lo que hace mas dificil aun mantener limpio el desarrollo.
  5. Inspector de objetos no usados de un proyecto y/o solución. Creo que no necesita mayor aclaración.
  6. Inspector “Donde se usa” de campos e indices de las tablas. Ahora solo funciona a nivel de identificador de tabla.
  7. Posibilidad de poder crear el objeto BUSQUEDA en el proyecto de datos (aunque SIN formulario de entrada de datos, por supuesto).
  8. Posibilidad de Tubos de Ficha y de Lista en los proyectos de datos (tambien SIN formularios de peticion de datos)
  9. En el control objeto de un formulario, ahora es necesario crear un proceso para lanzar una busqueda que retorna una rejilla , informe o casillero. Deberia permitirse lanzar directamente una busqueda, y asi evitariamos crear el proceso solo para llamar a la busqueda.
  10. En la imagen siguiente, podemos ver como al intentar “Dar permiso” a un grupo de usuarios a una aplicación, no podia ver la aplicación porque no aparecia en pantalla y por tanto, complicando la historia para solucionarlo. La solución, al final, dar permiso a todas las aplicaciones y eliminar, una a una las que no debian aparecer, con lo que eso supone, posibles errores, etc…

Mejorar vAdmin al asignar permisos a las aplicaciones

También quiero agradecer a Velneo, que al margen de estas criticas, es cierto que ya en varias ocasiones, a escuchado las sugerencias que desde este blog se han reclamado y ha dado solución a los problemas planteados, y aqui dejo el ejemplo: Mejorar el rendimiento , que si mal no recuerdo, se solucionó en la versión 7.4.1, tan solo un mes despues, ya que el error fue reportado despues de la salida de la versión 7.4. Gracias, esto también hay que tenerlo en cuenta, y dice mucho en favor de Velneo.

¡VOLVERE … !

… con más ideas

… si mi coeficiente intelectual de gallina me lo permite. 😀 😀 😀

PDF    Enviar artculo en formato PDF   
comments: 9 »
dic 7

Cambio de chip y de placa base

Posted in foro, ideas

Siempre se ha dicho que para desarrollar con Velneo V6 se necesitaba un cambio de chip con respecto a la programacion tradicional.

Llego V7 y fue necesario un nuevo cambio de chip, y es que aunque son hermanas V6 y V7 tienen muchas cosas en comun y son totalmente diferentes:

La parte buena es que V6 y V7 mantienen la misma filosofia en lo principal: la parte izquierda del Editor de mapas V6 y los proyectos de datos de V7 son tremendamente similares, salvo por algunos objetos nuevos y la posibilidad de heredar.

Pero todo lo referente al interfaz, los proyectos de aplicaciones, poco tienen que ver entre V6 y V7 ya que salvo excepciones, el cambio es bastante radical, para bien claro, y eso en condiciones normales suele ser bueno, pero de vez en cuando surgen problemas como este, que a primera vista, tienen dificil explicación, y quizá “MEA CULPA” por no haber leido las cientos de paginas que tiene el manual y no haber reparado en los detalles, pero hay veces que ya no sabe uno de donde sacar el tiempo.

Problema en función

Al final el problema resultó ser:

En el formulario, una Variable NUMERICA

En la función, una Variable NUMERICA

Al utilizar la variable del formulario en un control EDIT, la variable pasaba a la función como ALFANUMERICA

La solución al problema, en este caso soluciones:

  1. Quitar el EDIT del formulario y cambiarlo por MICROSCROLLER
  2. En la funcion, antes del calculo, utilizar la función STRINGTONUMBER(), para convertir la variable de nuevo a número

En este caso, por estetica, he solucionado el problema con la opción nº 2 (gracias a Comercial.arhes2000), y la aplicación donde se utiliza no puedo desvelar mucho mas, ya que posiblemente será la que participe en el II concurso de Open Apps, … quién sabe.

El caso, es que, como siempre, voy a quejarme, y voy a pedir, que ¡POR FAVOR!

  1. Podamos desactivar las FLECHAS del microscroller mediante alguna propiedad al efecto
  2. Tengamos un control de EDICION de campos numéricos que pueda aparecer vacio o simplemente con “0”
  3. o lo mejor de todo, que el control EDIT de campos ALFANUMERICOS no convierta en texto una variable numérica

Vamos, que la V7 ha mejorado muchas cosas, pero quiero recordar que en V6 habia cosas que “NO NECESITABAN” ser mejoradas, y por tanto, deberian permanecer asi.

Y como dije en el foro, hacer buenos programas en V7 es muy rapido, pero tonterias como esta hacen perder muchisimo tiempo hasta que las averiguas, y personalmente, soy de los que voy al foro para responder preguntas de otros, pero cuando me surge una chorrada de este tipo, antes de preguntar en el foro, tengo que estar completamente seguro de que no es culpa mia, aunque en este caso quizá si lo fuera.

Hay dias que uno no deberia levantarse de la cama, porque ahi solo pueden pasar cosas buenas, y además dormir 😉

Hasta la próxima, y disfrutad del puente (el que lo pueda pillar)

PDF    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Cambio de chip y de placa base
nov 30

Mejoras para proximas versiones

Posted in ideas, v7

Aunque lo que voy a exponer en este articulo no son problemas excesivamente importantes, si considero importante que se sepa para que pueda ser corregido y mejorado.

Asi que sin perder mas tiempo en detalles, voy a intentar ser lo suficientemente claro como para no dar lugar a malas interpretaciones:

1. En las tablas estaticas, no se activan las flechas de los subcontroles que permiten cambiar el orden de los elmementos de la tabla estatica. De echo, los elementos ni siquiera aparecen en la lista para poder ser movidos.

Tabla estatica sin subcontroles

2. Cuando abrimos el editor de Tablas de datos, para incluir un campo enlazado a una tabla maestra, si hay demasiadas tablas ocurre esto:

Enlace a trablas maestras 1

Enlace a tablas maestras 2

y claro, la tabla maestra que queremos enlazar, es muy dificil de encontrar, o como en esta ocasion, ni siquiera aparece en la lista porque no cabe en la pantalla.

Para estos casos, recomiendo que el funcionamiento sea similar a como se hace en los Esquemas, primero se elige el proyecto de datos y luego la tabla de ese proyecto.

Incluir tablas en el esquema de tablas

3. En un evento de un formulario, cuando se hace uso de una CONSTANTE, (suele suceder cuando se copian los formularios de un proyecto a otro), no se muestra como error, aun cuando la constante esta en un proyecto que no ha sido heredado por el proyecto actual.

4. De la misma forma, cuando copiamos formularios que contienen iconos o dibujos y no existen en el proyecto actual o en un proyecto heredado, tampoco son mostrados como errores.

5. De la misma forma que podemos ver las propiedades de un proyecto y saber que proyectos son heredados, deberiamos tambien poder ver cuales de los proyectos “heredan” al proyecto actual.

6. Como ya solicite en el foro de ideas anterior, deberiamos tener sentencias API para saber las tablas de un proyecto, y tambien para ver los proyectos de una solucion.

7. Respecto a vAdmin, poder detener la ejecucion de una aplicacion en vServer, evitando conexiones durante un periodo de mantenimiento (esta idea es original de Gegeo, pero la dejo aqui)

8. en vAdmin, poder programar una parada de vServer, asi como tambien el reinicio, teniendo la opcion de porder elegir si se expulsan los enganches existentes en el momento de la parada o de cancelar la operación y esperar a que todos los usuarios abandonen sus aplicaciones.

9. Cuando copiamos una carpeta con objetos en otro proyecto diferente, y la tabla de origen de los objetos tambien existe en el nuevo proyecto, los objetos se copian directamente, quiza deberia aparecer la pantalla de asignacion de objetos, para confirmar o para poder cambiar el origen de los mismos, porque luego hay que revisar todos los objetos nuevos cambiando el origen uno a uno.

10. Para acelerar un poco mas el inspector “Donde se usa”, que sigue siendo lento (aunque ha mejorado considerablemente), sugiero que solo se comprueben los proyectos que son heredados por el actual y los objetos “Puntos de insercion”, ya que no tiene sentido comprobar todos los objetos que no estan en proyectos heredados.

11. Deberia ser posible ocultar los controles de las ventanas de dialogo de los formularios. De que sirve poner un boton Cancelar en un formulario que ejecute un evento antes de cerrar el formulario, si luego el usuario pulsa la “X” para cerrar el formulario y no se ejecuta el evento.

12. Incluir nuevas sentencias de proceso para permitir el cambio de Instancias en ejecución (gracias a Comercial.Arhes2000), para evitar tener que cerrar vClient para cambiar de instancia, o necesitar 2 vClient que consumen 2 licencias.

13. Sistema de control de licencias similar al que habia en V6, controlando la IP del cliente, y permitiendo abrir varias Instancias o varias Aplicaciones en un mismo equipo consumiendo una sola licencia.

Cuando tenga mas sugerencias volvere con otro recopilatorio.

Y Como sabemos que para exponer las ideas, hay que ser subscriptor y votarlas, yo las dejo aqui, y si alguien quiere y lo estima oportuno, las puede incluir. Otra opcion es que velneo las tenga en cuenta, sin necesidad de pasar por el Foro de ideas, ya que la mayoria son funcionalidades que ayudan bastante y deben requerir poco esfuerzo por parte del equipo de Velneo.

Gracias, y a tener paciencia.

PDF    Enviar artculo en formato PDF   
comments: 11 »
nov 23

Importancia de Tab o Intro

Posted in foro, ideas

Hace tan solo unos dias, en el articulo al que hacemos referencia:

http://www.ascsl.com/2010/11/desde-mi-punto-de-vista/

se cuestionaba sobre la importancia de trabajar en los formularios con TAB o con INTRO para pasar el foco entre los diferentes campos de edición del formulario.

Y claro, cada cual mira y ve lo que le conviene y no pretendo que se me de la razón, la razón la da el tiempo y debemos dar tiempo al tiempo.

Pero ahora que lo pienso, como puede ser que los usuarios de Velneo V7 voten por una idea, si la idea no esta en la lista para poder ser votada.

Bien, direis algunos, cualquier Nivel-2 o superior puede exponer la idea en el Nuevo foro de ideas.

El problema, es mas simple de lo que parece, esta idea como otras tantas, se han solicitado tantas veces, que la gente termina por “pasar del tema” y a veces pienso, que hagan lo que les salga de las pel… , y sigo pensando … “no se para que me molesto en perder el tiempo con esto, si ni siquiera escuchan, mejor me tomo unas cañas, y que cada cual resuelva sus problemas”.

Pero luego lo pienso mejor … “he dedicado demasiado tiempo a V7 como para tirarlo todo por la borda”, y sigo pensando … “hay que protestar, y quejarse, para que al menos no tengan escusas en el futuro” y nos puedan decir, “no se hizo porque no lo habia pedido nadie”.

El caso es que ciertamente, este tema no tenia ningun voto, porque lamentablemente no se habia expuesto en el Foro de ideas.

Pero, a raiz de este articulo, un alma caritativa, se molesto un poquito y publico la idea, 😉 gracias. Y logicamente, la idea empezo a ser votada, y tan solo 4 dias despues, ha pasado de ser la ultima de la lista a estar en 3º lugar:

  1. 29 votos para Copia de seguridad
  2. 28 para vClient en Android
  3. 27 para Cambiar foco con Tab o Intro

y no solo ocupa el tercer lugar, sino que esta a tan solo 2 votos del primero, lo cual indica la verdadera importancia que la comunidad le da a esta funcionalidad. Ver el foro de ideas (votos del dia 23-oct-2010 , 13:30)

Y es que, aunque no querais reconocerlo, la mayoria de los que estamos aqui, estamos preparando aplicaciones de escritorio, y el futuro, que pasa por los moviles, llegará, pero hoy no …. MMMMMAAAAAAÑÑÑÑAAAAAANNNNAAAAA!!!

Edito el dia 27-nov-2010:

Gracias y aqui dejo una foto de lo que piensa la comunidad, demostrando cuales son sus preferencias:

Foro de ideas el 27-nov-2010

Gracias a todos, y lo siento mucho por aquellos que prefieren otras ideas como vClient para Android, pero que tengamos unas preferencias, no significa que las 2 o 3 ideas que van a continuación sean mucho menos importantes, que tambien lo son, pero si de algo sirve la votación, el resultado esta a la vista.

Edito el dia 9-dic-2010:

De nuevo con el resultado para que veamos donde esta la importancia:

Foro de ideas dia 9-dic-2010

Pero vamos, que creo yo que se pueden llevar a cabo varias mejoras para las proximas versiones, ¿no?

PDF Download    Enviar artculo en formato PDF   
comments: 16 »
nov 19

Marchando una de ideas!

Posted in ideas, novedades

@Miguel, gracias  por tu invitacion en el articulo de ayer, voy a abusar de confianza y a pedir a algun interesado que sea susbcriptor, que incluya esta lista de ideas en el nuevo Foro, siempre que lo estimen oportuno, claro.

Y lo siento mucho, si doy la impresión de que V7 no me gusta, porque no es asi, todo lo contrario, me gusta demasiado, tanto que, de no ser asi, ya me habria ido hace tiempo. Pero, que me guste, no significa que no pueda mejorar, y es por eso, por lo que hago las criticas, para que las entienda quien quiera, pero al final, la última palabra es vuestra.

Ademas, con esta nueva versión 7.5 ha cambiado algo, hay algo diferente en el ambiente, y podria dedicarme a hacer elogios sobre la herramienta durante un tiempo antes de empezar a criticar de nuevo, pero hay un problema, y es que las versiones son cada 4 meses, y si lo que pido no esta en la proxima versión, habra que esperar 4 meses más y como comprendereis, hay que empezar a llorar ya, para ver si vienen los Reyes Magos a tiempo, que “pa” junio, me “paece” a mi que ya no es tiempo de regalitos, sino de chiringitos.

Aunque este año no voy a tener regalos, Velneo no me regalara nada porque critico demasiado, y en casa no me regalaran nada porque dedido demasiado tiempo a Velneo, que le vamos a hacer. Y ni siquiera puedo decir que soy “betatester oficial de Velneo V7“, porque para eso hay que ser Nivel-2 como minimo. Aunque puedo decir que soy “usuario betatester autodidacta” 😀

Bueno, ahi va la lista de peticiones:

  1. Poder cambiar con INTRO / TAB de un “Edit” a otro de un formulario, y si ademas pudiera ser configurable, seria util para todos, sin excepcion.
  2. Que la tecla INTRO no cierre un formulario, escepto que este incluida como tecla aceleradora de un determinado boton. Estaria bien que funcionara como en V6, con la opcion capturar Intro cuando le corresponde el orden de tabulacion. Y no es por comparar con V6, es para que entendais mejor lo que quiero decir.
  3. Boton “Aceptar sin cerrar formulario” similar al de V6, esto creo que ya lo teneis previsto, pero lo dejo caer, por si acaso.
  4. Que los casilleros puedan ser definidos como “Automaticos”, y por supuesto, que se auto-ajusten las dimensiones de las celdas, segun el numero de filas y de columnas. (Esto ya lo habia pedido en el antiguo foro de ideas, pero ahora no es accesible). Ademas, considero los casilleros muy importantes para todo tipo de aplicaciones táctiles, ya que el futuro esta en Moviles y PDA’s y por supuesto, casi todos son táctiles.
  5. Impresoras logicas, esto ya esta pedido y creo que estara en breve, me alegro mucho.
  6. Si dos objetos (p.e., un formulario principal que incluye otro formulario dentro de un control objeto) tienen definida una variable local con el mismo identificador, que el valor sea publico, dentro del ambito del formulario principal. De esta forma, si utilizo identificadores diferentes, las variables seran privadas a cada formulario.
  7. Objeto “SpaceEngine” para teletransportar 😀 😀 😀

Otras ideas menos importantes, pero que podriais tener en cuenta para un futuro mas lejano:

– En el editor de esquemas, que se puedan visualizar las Tablas Estaticas y sus enlaces con el resto de tablas.

– Que la peticion nº 1 , pudiera ser aplicada a Rejillas editables, ya seria un puntazo por vuestra parte. Es decir, que al editar la rejilla pudieramos movernos por las columnas con TAB o con INTRO.

– Que se puedan imprimir objetos de vDevelop, como procesos, estructuras de tablas, esquemas, tubos de ficha y lista, y otros

– Poder ejecutar scripts de PHP, sobre todo por la cantidad de funciones que exiten y que resuelven cantidad de problemas, si cuela

– Poder enviar eMail sin DLL, aunque seguramente tendremos que esperar que lo haga QT

– Tener las funciones para Codigos de Barras que habia en V6

– Tener las funciones de calculos de fechas con dias fijos que habia en V6

Tambien, me parece importante el voto de los no subcriptores, ¿porque?, porque antes o despues, serán subcriptores, y lo seran antes si se cumplen sus necesidades. En este aspecto me parece que los Nivel-2 y superiores tienen 10 votos o mas, y me parece estupendo, ahora bien, mi propuesta es.

  • Un unico voto para cada Nivel-1, para que solo pueda votar por una funcionalidad, la que mas importante sea para ellos.

Si alguna de las ideas, no ha sido expresada debidamente, o no la entendeis, podeis dejar un comentario y tratare de explicarme mejor.

Esta claro que en este tunel, unos han avanzado mas que otros, pero ya se empieza a ver algo de luz al final, y el final del tunel, es el comienzo de … ¡Life is soft!

Lo dicho, estoy agradecido simplemente por ser escuchado, y mas agradecido aún, cuando ademas, respondeis, porque eso significa que os ha resultado interesante, aunque no siempre uno escuche lo que le gustaria.

PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Marchando una de ideas!
nov 18

Desde mi punto de vista

Posted in ideas

Esta bien, ya hemos comentado esto muchas veces, y teneis razón, es verdad, V7 quizá esta pensada para abordar otro tipo de proyectos, o simplemente, para abordarlos de otra manera.

Aunque realmente me ha costado entenderlo, pero lo entiendo, soy yo quien se tiene que adaptar a la filosofia de V7 y no al revés.

Pero ese no es el problema, el problema real, es que el 95% de los que aqui paseamos a diario (y quizá me quedo corto), tienen los mismos problemas que tengo yo, estan preparando las mismas aplicaciones que yo, y como yo, casi todos vienen de V6 y esperan realizar el mismo tipo de aplicaciones que realizaban hasta ahora.

Vuelvo a decir, ¡es cierto!, si desarrollamos aplicaciones para moviles y PDA’s, V7 es perfectamente operativa desde ya, y ¿porque?, pues basicamente, porque en un movil (la mayoria ya son táctiles) no utilizamos teclado (problema de pasar de un campo a otro con TAB o INTRO “eliminado”), no se suelen imprimir informes desde un movil (hacerlo seria la excepción, “otro problema eliminado”) y hay mas razones que ahora no recuerdo, pero ya las indicare …

Pero desarrollar para moviles también tiene sus inconvenientes con V7, y es que actualmente, el mercado al que tenemos acceso (Nokia y QT) es minoritario, y como aqui se pretende, vamos a ser muchos para un trozo de pastel tan pequeño.

Ahora bien, la mayoria de nosotros, yo mismo, para no ofender a nadie, llevo programando 20 años, y hasta ahora, siempre habia desarrollado aplicaciones de empresariales para escritorio, vamos, lo que hacemos casi todos, Contabilidad, Facturación, Costes, Logistica, TPV Táctiles, etc. y nos encontramos con pequeños detalles que nos impiden acabar las aplicaciones como nos gustaria.

Me voy a explicar mejor, si la pregunta es, ¿puedo desarrollar una aplicación de escritorio con V7 y comercializarla “a dia de hoy”?, la respuesta depende de,

  • Si llego a un acuerdo con el cliente, y éste hace “la vista gorda” y comienza a probar la aplicación mientras llegan las soluciones (previstas para enero-2011) pendientes (Aceptar sin cerrar formulario, bugs en Informes, y otros pequeños per importantes detalles), entonces la respuesta es ¡SI!, puedo comercializarla. Otro tema será, que seguramente no podre cobrar hasta que esos detalles esten solucionados.
  • Si deseo comercializar aplicaciones táctiles, los casilleros tienen carencias, no puedo decirle a un cliente que para pulsar sobre una celda del casillero,debe moverse primero con la barra de desplazamiento para buscar el articulo, “necesitamos casilleros automaticos” como en V6. Aqui, salvo excepciones la respuesta seria ¡NO!
  • Si mi deseo es comercializar una aplicacion estandar y comercializarla de forma masiva, entonces la respuesta es ¡NO!, aún no puedo poner mi aplicación en producción.

De una forma, o de otra, los inconvenientes estan ahi, y no todos los problemas los debe resolver Velneo, bién, pero yo me cuestiono lo siguiente:

  • Si el mercado aun no esta preparado para aplicaciones moviles, este es un mercado importante para dentro de unos años, pero hoy NO.
  • Si puedo desarrollar aplicaciones estandar de escritorio, pero no las puedo comercializar masivamente.
  • Si puedo desarrollar aplicaciones a medida de escritorio, pero tengo que convencer al cliente de que ciertas funcionalidades no estaran disponibles “temporalmente”

V7 es una herramienta muy bien preparada para el futuro, quizá la mejor, no lo dudo, a mi cada dia me gusta más, pero lo cortes no quita lo valiente, y soy bastante realista si digo que necesito comer todos los dias, y el futuro llegará y hay que estar preparados, no me cabe la menor duda, pero hay que vivir el presente.

Muchos de vosotros direis, en Linux no pueden usar INTRO para cambiar de campos en el formulario, ¡quizá sea cierto!, pero tambien es cierto que el mercado mayoritario de PC’s es de Windows, y que de aquellos que usan Linux con aplicaciones de escritorio, la mayoria trabajan con aplicaciones antiguas, al estilo “Clipper” y si utilizan INTRO.

Y a veces me pregunto, como es posible que en 2010 hay empresas que siguen usando aplicaciones tan antiguas, y la respuesta es muy sencilla, “son tremendamente manejables y rapidas” aunque sean feas, antiesteticas o como querais llamarlas.

Y como podemos conseguir que esa gente se actualice y decida cambiar sus aplicaciones. La respuesta tambien es sencilla:

  • Si para evolucionar, el usuario gana en estetica y pierde funcionalidad, seguramente, no evolucionara, salvo que no le quede mas remedio.
  • Si ademas de ganar en estetica, mantiene la misma funcionalidad y en algunos casos, la mejora, entonces si cambiara y actualizara sus aplicaciones.

Despues de meter este rollo, no me negareis, que al menos, hay que reflexionar sobre este tema.

Velneo, por favor, solucionad esos pequeños detalles que nos permitan realizar nuestro trabajo y conseguir ese ¡Life is soft! y esperamos que la 7.6 sea “la refinitiva”.

Gracias al equipo de Velneo.

PDF Creator    Enviar artculo en formato PDF   
comments: 14 »