sep 20

La receta del dia

Posted in analisis, vDevelop

Pasado reciente, 25 de julio de 2010, 14:00, en Ciudad Real, 42º a la sombra, una rubia muy fria, pero no pienses mal, hablo de una cervecita helada, y para comer …

Pues que va a ser, que mejor que un gazpacho fresquito, para chuparse los dedos.

Pero esto es un juego y se trata de probar, o mejor dicho, de 2 turistas que aun no han probado el gazpacho, y digo turistas, por que no se si quedara alguien de por aqui que no lo haya probado ya.

Seguimos el guion, y damos gazpacho a nuestro primer turista, es la primera vez que lo prueba, y tras saborearlo un ratito, puede gustarle mucho o no gustarle, ¡vamos que le gusta!, y piensa, “Uhmmmmm” mientras se relame y se prepara para zamparselo enterito.

Y se acerca a nosotros el segundo turista, pero en este caso se trata de un profesional de la cocina, y tras probar por primera vez el gazpacho, la primera reaccion podria ser la misma que la de nuestro primer turista, “Uhmmmm”, pero inmediatamente despues, se prepara para cargar una segunda cucharada, saborearlo bien y despues … ¿¡ nos dice cuales son los ingredientes !?, y nos lo dice en un tono exclamativo/interrogativo, como esperando a que le confirmemos que su respuesta es la correcta: tomate, cebolla, pepino, pimiento, aceite de oliva, vinagre, sal, … y si, le confirmamos que esa es la receta.

Y yo, que no soy experto en cocina, puedo decir cuales son los ingredientes de esta sabrosa receta, porque, aprovechando que no miraba nadie, he leido la etiqueta del tetrabrik.

Ademas, una buena comida, entra mucho mejor, cuando sabemos sus ingredientes, y sabemos que no hay cosas raras.

Ya estareis pensando que se me ha ido la pinza, y os equivocais, ¡ya hace mucho tiempo que se me fue! 😀 , asi que, aun a riesgo de hacer el ridiculo, y esta vez sin mirar la etiqueta del “brik” y sin hacer trampas, he decidido aventurarme a dar la receta y mostrar el esqueleto de vDevelop, con permiso del “chef-quitecto”. :)

¿os gustaria saberla? o,

¿no quereis saber lo que comeis?, y solo os interesa saber si esta bueno.

PDF Printer    Enviar artculo en formato PDF   
comments: 9 »
jun 6

Mejoras en el rendimiento

Posted in ideas, novedades, vDevelop

Como ya he comentado anteriormente, la versión 7.4.0 de Velneo V7, nos ha sorprendido muy gratamente a muchos, y tras unos dias de pruebas de las mejoras incorporadas, he de decir que, en verdad se nota que la estabilidad de toda la herramienta ha mejorado enormemente.

Las novedades incluidas, superan las mejores espectativas que habia realizado para la nueva versión liberada, no por la cantidad, sino por la calidad de las mismas, y aunque, es lógico que en los nuevos componentes liberados pueden surgir bugs que se corregiran con la experiencia y el uso de dichos objetos en próximas versiones, me preocupa que aparezcan bugs donde ya parecia funcionar todo correctamente. Pero estas cosas son asi, y asi las tenemos que aceptar.

Además, esta versión/actualización ha supuesto un verdadero cambio de opinión sobre la herramienta (para mejor, mucho mejor), y espero que en adelante esta gratificante experiencia se convierta en costrumbre. Por que, cuando las cosas se hacen bien, también hay que decirlo. Y cuando se critica, aúnque no les guste, se critica para que las cosas mejoren, y si las criticas van dirigidas a Velneo, es simplemente porque es Velneo V7 ha herramienta en la que estamos confiando para trabajar.

Una cosa podeis dar por cierta, y es que, el dia que deje de trabajar con esta herramienta, ¡no tendré necesidad ni ganas de volver a criticarla!, porque me dará igual, será una experiencia mas, pero quedará en el pasado y tendré otras necesidades y otras herramientas para cubrirlas.

Pero ese dia, aún no ha llegado, y espero que tarde en llegar, y hasta entonces Velneo tendra que soportar mas criticas, que las habrá seguro y espero que muchas mas felicitaciones, que tambien las habrá.

Estos dias, he sacado tiempo de donde no lo habia, y me he dedicado a probar la nueva versión, y avanzar un poco mas en el desarrollo del ERP que avanza lento pero cuyo resultado me reconforta.

El caso es, que ésta solución tiene ya 30 proyectos y algunos, sobre todo de la Base, bastante avanzados, y otros apenas con la estructura de datos recien terminada, y he notado en estos dias, que la fiabilidad y solidez de la herramienta ha mejorado mucho (aún no he conseguido que vDevelop me rompa 😀 ), pero también he podido comprobar como la velocidad de desarrollo, disminuye a medida que se incrementa el numero de objetos en los proyectos, y en estos casos me da por pensar.

Y a veces se me ocurren ideas brillantes y también muchas estupideces, pero hay que decirlas, porque si no se dicen, simplemente no existen.

Si la estupidez que voy ha decir os hace reir, habrá merecido la pena, y si os hace pensar, mejor aún, porque quizá termine siendo algo brillante.

El caso, es que hasta hace 10 minutos, me habia resignado a trabajar, cada vez mas lento, pero contento por la sensación de seguridad que transmitia vDevelop, pero he decidido que no es suficiente, quiero más, y pienso que se puede conseguir mas velocidad si miramos hacia dentro.

Si V7 se hace cada vez mas lenta, es porque a cada movimiento que hacemos, debe:

  • refrescar el panel de propiedades
  • refrescar los paneles de los inspectores de objetos, que usa, donde se usa, campos,
  • refrescar el panel de subobjetos (que a su vez incluye controles, variables, conexiones y eventos)

En todo este proceso de refrescos, he detectado unos pequeños errores que ya he comunicado en el foro:

Bug en refresco de propiedades de formularios

Bug en inspector de errores

Pero la intención de este artículo es otra, es realizar una sugerencia, ¡observa un momento la imagen!

Ideas para mejorar el rendimiento

Ahora pensemos, cada vez que seleccionamos un objeto, ¿se refrescan todos los paneles?, y si es asi, dentro del panel de inspectores ¿también se refrescan todas las carpetas del panel?.

Si la respuesta es afirmativa, solo una pregunta mas, ¿cuantas de esas carpetas se pueden visualizar al mismo tiempo?, la respuesta, solo UNA. Y si solo podemos ver uno de los inspectores, p.e. DONDE SE USA, ¿para que necesitamos refrescar el contenido del resto?, y la respuesta es sencilla, para nada, por que no se esta visualizando.

Si conseguimos que solo se refresque aquella informacion que es visible en cada momento, Velneo V7 será mucho mas eficiente, y no perderá el tiempo que tareas innecesarias.

En mi caso, he superpuesto el panel de PROPIEDADES, junto al de SOLUCIONES y al de SUBOBJETOS, y de esta forma aprovecho mucho mejor las dimensiones de la pantalla a la hora de trabajar. Pero eso tiene un inconveniente para mi, y es que solo puedo tener visible uno de los 3 paneles, pero V7 me lo permite y yo te tomado esa decisión como la mas favorable.

Y llegado a este punto, ¿necesito que se refresque un panel que no estoy visualizando?

Pues, precisamente hoy, NO, quizá mañanaaaaa ….

Create PDF    Enviar artculo en formato PDF   
comments: 19 »
jun 3

Los asistentes de Velneo7 7.4.0

Posted in novedades, v7, vDevelop

Estoy examinando un poquito mas a fondo la nueva versión y estos son los cambios que he podido detectar a simple vista,

En el asistente de funciones:

  • La función isEmpty(cadena) ha cambiado del grupo BASICAS al grupo CADENAS, lógico hasta cierto punto, si tenemos en cuenta que el parametro a comprobar va a ser una cadena de texto, aunque no creo que esto del cambio de un grupo a otro fuera necesario, mas que nada por el simple hecho de que ya estabamos acostumbrados y el cambio puede dar algun que otro “sustillo”.
  • La función remoteFunctionCall(dominioIP, idInstancia, idFuncion, contraseña, parametros) ha desaparecido del mapa,  o mejor dicho del grupo BASICAS y ha pasado a mejor vida. Al menos, no la encuentro por ningún lado.

En cuanto a las sentencias de proceso:

  • En el grupo de CESTAS tenemos nuevas instrucciones que mejoran el manejo de estas,

Cesta: Agregar a la lista en curso
Cesta: Quitar de la lista en curso
Cesta: Cruzar la lista en curso

  • En el grupo de sistema tenemos una nueva sentencia

Salir de la aplicación

  • En el grupo de Protocolo TCP tenemos una nueva sentencia

Protocolo TCP: Recibir buffer

Protocolo TCP: Enviar entero 64 bits

Protocolo TCP: Recibir entero 64 bits

  • Y en el grupo de sentencias de interfaz, se han incluido varias sentencias nuevas

Interfaz: activar subcontrol

Interfaz: obtener multi-selección

Interfaz: limpiar multi-selección

Interfaz: añadir ficha a multi-selección

Interfaz: quitar ficha de multi-selección

Interfaz: ejecutar otro evento-slot

Nuevas sentencias que van a mejorar enormemente el desarrollo y que en algunos casos, se echaban de menos.

PDF Printer    Enviar artculo en formato PDF   
comments: 7 »
feb 27

Probando vDevelop en 7.3

Posted in v7, vDevelop, velneo

He podido comprobar, como al renombrar una variable en una función, que era utilizada como parametro de entrada de datos, esta se renombra correctamente en los parametros. Esto, en la versión anterior, solo lo hacia correctamente cuando la variable era el primer parametro de la función, pero no lo hacia para el resto de los parametros. Asi que parece estar corregido.

Estoy creando una rejilla con el asistente, y quiero incluir una columna con el NAME de un campo enlazado a una tabla estatica, pero no me lo permite, solo puedo incluir, campo enlazado (#ID). El icono tampoco lo puedo seleccionar.

Creo una accion que carga una lista y retorna una rejilla, y funciona correctamente, en ejecucion (modo SDI), no tengo forma de cerrar la rejilla. Tengo que cerrar vClient por completo para cancelar la rejilla. Sera que tengo que asignar una TOOLBAR obligatoriamente con un boton salir, pero bastaria con una tecla aceleradora para cancelar la rejilla.

Sigo realizando pruebas y estoy preparando un proceso de importación, y me hace algo muy estraño:

En el proceso de importación hay 3 lineas con la sentencia CREAR NUEVA FICHA EN MEMORIA ( hFicha, Tabla) y a pesar de hacer utilizado el mismo identificador “hFicha” en las 3 sentencias, al seleccionar la sentencia ALTA DE FICHA ( hFicha ) me los identifica como 3 identificadores distintos y sera por esto que el proceso no me ha funcionado correctamente, porque llevo realizando pruebas durante casi 3 horas y aun no lo he conseguido.

Al final, he conseguido que el proceso funcione, el problema era mio, habia creado un indice de clave unica en la tabla y me agrada saber que ha funcionado incluso mejor que en las versiones 6.x, ya que si el indice es de clave unica no crea el registro, pero en 6.x el registro se creaba en la tabla de datos, aunque no aparecia en el indice correspondiente.

Lo que si me parece desconcertante, es lo de los manejadores repetidos, incluso con el mismo nombre.

Para evitar confusion, he renombrado los manejadores para que tengan nombres diferentes, y asi saber cual corresponde a cada una de las sentencias anteriores.

Seguimos probando…

PDF    Enviar artculo en formato PDF   
comments: 2 »
feb 17

El asistente para crear formularios

Posted in v7, vDevelop

Para comenzar la edición de un nuevo formulario, primero debemos indicar cual sera la tabla asociada al formulario, aunque este tambien podria ser un formulario sin origen.

Ahora que ya hemos indicado cual es la tabla de origen y un nombre para el formulario, puedes crear el formulario Vacío, o elegir uno de los bloques de distribución de los componentes del formulario.

Los formularios sin origen son muy útiles y necesarios para crear el marco principal de ejecución de la aplicación. Aunque no es su único uso.

Una vez elegido el formato, pulsa siguiente para continuar con el asistente o finalizar.

Si has pulsado el boton siguiente, en esta pantalla del asistente, puedes elegir como deseas que aparezcan los controles dentro del formulario.

Los “controles” son los diferentes “subobjetos” que podemos incorporar a un formulario como la edición de campos, textos estáticos, calendarios para edición de fechas, deslizadores, edición de campos de tipo objeto.

Si marcamos la opción Estirar controles, estos aumentaran de tamaño cuando el usuario modifique las dimensiones de la ventana que muestra el formulario.

En la siguiente pestaña Botones, podemos incluido los botones mas habituales que se pueden utilizar en todos los formularios, es decir, Aceptar, Cancelar, Eliminar, o botones vacíos para poder modificarlos posteriormente.

También podemos cambiar el orden de aparición de estos botones con las flechas arriba y abajo.

En la ultima pantalla del asistente, se muestra un pequeño resumen con la información utilizada para crear el formulario, y es un buen momento para decidir si queremos cambiar algo, ya que al pulsar el botón Finalizar, el formulario sera creado definitivamente.

Esto no significa, que posteriormente no podamos modificar o incluso eliminar este formulario, si no cumple con nuestras expectativas.

Así que, prueba, cambia las opciones y crea muchos formularios diferentes para saber cual es el estilo que mas te gusta para tu aplicación. Es la mejor forma de obtener buenos resultados.

Al finalizar ya tenemos creado el formulario, y quedara algo asi:


PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en El asistente para crear formularios
feb 16

¿Que es un formulario?

Posted in v7, vDevelop

Pues sencillamente la representación visual de un registro o ficha de una tabla de nuestra base de datos. Es el objeto que nos permite introducir, modificar o eliminar datos en un registro de una tabla de la base de datos. Mediante un formulario correspondiente a la tabla de “Clientes” podemos añadir nuevos clientes a esa tabla, y también podemos modificar los datos de un cliente o eliminarlo del archivo. Y para todo esto, podemos utilizar un mismo formulario de la ficha de clientes, o podemos utilizar un formulario diferente para cada operación.

PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en ¿Que es un formulario?
feb 16

Definiendo el aspecto visual

Posted in v7, vDevelop

En loa próximos artículos vamos a aprender a utilizar algunos de los objetos mas básicos, pero los que con seguridad se utilizan con mas frecuencia.

  • Los formularios, que nos permiten visualizar cada una de los registros de una tabla.
  • Las rejillas, que nos muestran listas de registros de una misma tabla
  • Los localizadores, que permiten elegir un registro de una tabla, mediante un visor de tipo rejilla.
  • Las búsquedas, que nos permiten realizar consultas en la base de datos y nos muestran el resultado a través de una rejilla o de un informe.
  • Los marcos y docks, que permiten definir el área de pantalla para la ejecución de la aplicación.

¿Y porque estos objetos para empezar con el aspecto visual?, pues muy sencillo, porque es el objeto más básico que nos permite introducir información a la base de datos.

PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Definiendo el aspecto visual
feb 15

Cajas de aplicaciones: el interfaz

Posted in v7, vDevelop

En un proyecto, todas las fases son importantes, en los capítulos anteriores, al crear la base de datos, hemos puesto especial interés en crear una estructura lógica de acuerdo a las funciones que se van a realizar, de manera que los datos estén relacionados de forma coherente. Con esto conseguimos que la base de la aplicación, sea sólida pero ágil.

Pero ahora llega el momento de crear el aspecto visual que tendrá nuestra aplicación, y esto también es muy importante, ya que por muy sólida y fiable que sea una aplicación, si no resulta agradable al usuario final, no habremos conseguido finalizar el proyecto con éxito.

Es a partir de ahora, cuando vamos a permitir que el usuario pueda acceder de forma visual a los datos de nuestra aplicación. Para esto, vDevelop nos provee con los siguientes objetos:

  • Formularios y menús formularios
  • Rejillas
  • Localizadores
  • Búsquedas
  • Acciones
  • Marcos y Docks
  • Dibujos
  • Impresoras lógicas
  • Funciones
  • Acciones
  • Menús popup y Toolbars
  • Lupas y filtros
  • Multivistas
  • Casilleros
  • Cestas de la compra
  • Tubos de ficha y de lista
  • Procesos y funciones
  • etc.

En los siguientes artículos veremos como utilizar la mayor parte de ellos, aunque no todos, por tratarse en esta ocasión de un proyecto básico para principiantes.

PDF Download    Enviar artculo en formato PDF   
comments: Comentarios desactivados en Cajas de aplicaciones: el interfaz
feb 11

El primer proyecto de datos III: Ventas

Posted in v7, vDevelop

Y para finalizar, las tablas del proyecto de ventas, esta es la tabla de Albaranes de venta:


Esta es la tabla de Lineas de Albaranes de venta


Aquí tenemos la tabla de Facturas de venta:


Y la tabla de Lineas de facturas de venta:


Para las tablas de éste proyecto, hemos utilizado los mismos tipos que en el proyecto de Compras, tablas maestras con indice numérico en las tablas de cabeceras de Albarán y de Factura, hemos creado la tabla de Lineas de albarán como submaestra de Albaranes y la tabla de Lineas de factura ha sido creada como histórica.

PDF    Enviar artculo en formato PDF   
comments: Comentarios desactivados en El primer proyecto de datos III: Ventas
feb 10

El primer proyecto de datos II: Compras

Posted in v7, vDevelop

Definición de la estructura de la tabla de Albaranes de compra:


La tabla de Lineas de albaranes de compra:


Las facturas de compra


Las lineas de facturas de compra


Para las tablas de éste proyecto, hemos utilizado tablas maestras con indice numérico en las tablas de cabeceras de Albarán y de Factura, pero hemos creado la tabla de Lineas de albarán como submaestra de Albaranes y la tabla de Lineas de factura ha sido creada como histórica.

PDF Creator    Enviar artculo en formato PDF   
comments: Comentarios desactivados en El primer proyecto de datos II: Compras