Que no es Velneo v7
Motivado por las recientes entradas en foro de velneo con respecto a la critica de diferentes carencias o caracterisitcas de la herramienta quisiera escribir unas lineas para darle aclarar un par de cosas a quines se acercan a la herramienta para que no compren algo pensado que es otra cosa:
Sobre la Herramienta:
Lo primero a aclarar Velneo NO ES un generador de codigo ni tampoco es un generador de interfaz, si bien es cierto que a primera vista parece un herramienta RAD, no lo es, por lo que su misión no es tomar n mil estándares y juntarlos de tal forma que el desarrollo de aplicaciones de gestion sea mas llevadero, entonces que nos vende Velneo ?, velneo se define a si mismo como “plataforma completa para desarrollo de aplicaciones empresariales”, en esta frase hay que distinguir muy bien el “completa”: en este caso “completa” significa que usando unicamente Velneo puedes crear una aplicación empresarial entera sin depender de bases de datos externas, librerias externas, otros entornos de desarrollo, etc. Asi que en este sentido “completa” no significa que atienda todos los estandares habidos y por haber (UML, SQL, XML, etc), aun así se estan comenzando a implentar algunos que estarán disponibles a travez de QML y JavaScript.
Sobre la base de datos:
Bueno este es uno de los temas mas sencibles para quienes recien se acercan a la plataforma por 2 cosas: en primer lugar porque Velneo solo usa su base de datos propietaria y muchos quieren realizar sus desarrollos sobre otros motores o sobre bases de datos ya existentes, en segundo lugar porque la base de datos de Velneo tiene su propia forma de navegación a travez de los datos y su propia forma de realizar consultas, asi que para un programador proveniente de otra plataforma el NO SE USA SQL es un tabú para usar la plataforma y simplemente no concibe como trabajar sin esto.
1. Solo se usa base datos propietaria:
Aunque no recuerdo haber leido un post al respecto, Velneo no tiene y dudo mucho que algún dia tenga la intención de soportar otas bases de datos (la herramienta ya tiene 15 años y ni asomo del tema), esto obedece a que el gran valor de v7 es la integración que se consigue entre los objetos visuales (formularios, rejillas, acciones, etc) y la base de datos, basicamente por esto es que Velneo nos gusta a la mayoría, asi que yo veo dos posibles explicaciones para que esto siga así: la primera es que se requiere dominio sobre el fuente de la base de datos para realizar ese nivel de integración y las dos mas grandes bd orientadas al enterprise no son de código abierto (Oracle y SQL Server) asi que ni pensarlo, la segunda es que si se pudiera conseguir realizar el tipo de integración que provee velneo mediante mapeo ORM sería un esfuerzo gigantesco que la empresa no tiene con que afrontar (todos sabemos que el departamento de desarrollo de Velneo es pequeño), aunque son meras expeculaciones me inclino mas por la primera opción.
2. No se usa SQL:
Para algunos es simplemente inconcebible pero es la realidad, Velneo y su modelo de datos tienen una forma muy particular manejar el flujo y consulta de datos que simplifica en gran medida el manejo de la información en la aplicación y previene de errores de tipeo gracias a su editor de procesos asistido (No es perfecto pero para la gran mayoría de los casos es mas que suficiente); basicamente con este forma de manejar los datos velneo nos dice “esta es la forma en que nosotros creemos que se debe operarse la data de un motor de base de datos”, ya esta en nuestras manos decidir si nos gusta ese angulo o no.
Asi que desde el punto de vista de la base de datos solicitar que se ataquen otros motores o que se puedan realizar consultas SQL, es cambiar la esencia misma de la herramienta no son un simple par de caracteristicas, auque me incluiria dentro de los que les gustaría que fuera posible editar sobre diferentes motores no me hago ilusiones por las razones expuestas.
Un saludo,
Liberado vQrCodes

Hola en el siguiente video podrás ver la descripción del componente y su uso:
Screencast
Descargar
aqui los links de interes:
http://d-project.googlecode.com/svn/trunk/misc/qrcode/js/
http://www.denso-wave.com/qrcode/vertable1-e.html
Variables Globales, Tablas en Memoria ó JSON, un pequeño BenchMarck
Una de las primeras dudas cuando se comienzan a crear procesos o búsquedas con Velneo es “donde almaceno valores global mente ?”, la solución mas obvia para todos es crear una variable global del tipo que se necesite y almacenar los valores requeridos allí (por supuesto todo esto en memoria); pero algunos detestamos la creación de un objeto solo para mantener el estado de un determinado control y queremos poder crear “al vuelo” estas variables globales, pues bien yo me he econtrado con dos opciones:
1. Tabla de Persistencia en memoria:
Dado que hoy por hoy V7 nos permite tener tablas que se almacenan en la Ram del cliente, bien nos podemos crear una tabla que se encargue de gestionar valores globales al applicativo que solo sean relevantes para la session en curso del vClient.
Nota: el termino “persistencia en Memoria” aplicado en este contexto en primera instancia se lo escuche a Jorge Hontoria el cual en primer momento no tuvo mucho sentido pero ya despúes lo encontre.
Como puede verse la tabla almacena valores de varios tipos organizados por una clave y se accesa mediante las funciones GET_VAR y SET_VAR, para leer y escribir valores en la tabla, asignandole a cada variable una clave y un tipo. Leer el resto de esta entrada »
V7 – Aceptar pre cuidado con la opción que elíges
Tanto para los nuevos en v7 como para los que venimos de v6 a la hora de hacer un “pre aceptar” (proceso que se ejecuta antes de guardar un form para verificar la validez del registro), nos encontramos con “aparentes” diferentes posibilidades dada las opciones de eventos y conexiones para los formularios que provee la v7, para hacer esto tendemos a crear un botón con la instrucción aceptar, un evento y la correspondiente conexión que podría ser:
1. Evento boton pulsado: Por su nombre a primera vista parcerá la mas adecuada, el problema que tiene esta conexion es que si el evento asociado hace un “set retorno no” lo ignora completamente y continua con la acción asignada al botón que seria aceptar y tu form se guarda con el registro sin pasar por la validación.
2. Evento gana foco: Tambien parece adecuada puesto que el usuario para aceptar el formulario debe dar clic en el botón o pulsar enter, en ambos casos el botón obtiene foco y se ejecuta el evento que valida la info, el problema es que si el usuario despúes de ver el mensaje pulsa enter o da click de nuevo se guardara el form, porque el botòn YA tiene el foco por lo que el evento se no ejecutará.
3. Raton botón pulsado: Funciona como esperabas claro asumiendo que tu usuario no cuente con un teclado, puesto con un simple enter se aceptar el form sin validarlo.
Comando de Interfaz “Aceptar” al rescate:
Pues bien, para sortear las anteriores posibles conexiones y sus problemas ademas de asegurarte de que tu form siempre valide la información antes de guardar, lo que debes hacer es crear un evento y asignárselo directamente al botón, en este evento procesarás todas la validaciones, y de pasarlas al final terminaras con la instruccion “Interfaz: Aceptar” que aceptará tu form y lo guardara.
Saludos,
Dale estilo a tus apps v7 con QT Stylesheet y Colorzilla gradient creator
Pues bien ando de vuelta programando a full con v7 desarrollando mi primera app seria, he comenzado a juagar un poco con las posibilidades de las Styles Sheets que provee Qt para sus controles y a las que Velneo nos permite acceder en v7.
De momento hay serias limitaciones en cuanto a selectores, pues no puedes asignar el css a un form y referirte a sus controles por su ID o clase (“# ó “.” para Css) y tampoco puedes indicar que no quieres subcontroles de no hereden las propiedades que estas indicando.
Pero limitaciones a parte, este caracteristica tiene muchas posibilidades y asumo que de momento no es una prioridad para Velneo (No los culpo hay componentes que requieren mas trabajo, rejilla espero mucho de ti en v7.5
) ya veremos en futuras versiones.
Ahora lo que si se puede hacer … Degrades !
Una propiedad interesante que me encontre jugando es “qlineargradient” que nos permite configurar un degradado, el cual podemos utilizar como fondo en los controles mediante la propieda background, pero antes de entrar en lo estético primero hay que entender como funciona esta propiedad: Leer el resto de esta entrada »
Si con V7 Life is Soft !!!
Publicado por cristianV en Sin categoría el septiembre 15, 2010
Tal como lo indique en mi anterior post, la 7.4 se las traia y ahora puedo decir con conocimiento de causa que con v7 Life is Soft, con las mejoras implementadas ahora la velocidad de desarrollo esta a la altura o mas que v6, el F5, el pegado con resolución, el VInstallBuilder, el agrupamiento de controles y muchos mas v7 puede decir orgullozamente Life is Soft.
A ver si me animo a publicar una idea que tengo para una open app en un par de meses.
Una vez v7 sea igual a “Life is Soft” no habrán limites.
Despúes de ver la charla de Simon Sinek en TED simplemente tenia que escribir este post, ya llevaba un tiempo considerando porque V7 parecia no despegar, ser el gran Boom!! que todos los que conocemos a Velneo esperabamos, la respuesta es rídiculamente simple V7 no cumple con el lema de Velneo “Life is soft”, bondades tecnicas aparte, no creo que desarrollar en v7 pueda considerarse una experiencia placentera por lo menos no al nivel de v6x, y en buena medida es por esta razón que v6x aun tiene el éxito que tiene, solo hay que ver la diferencia en movimiento de los respectivos foros para ver que quienes utilizan v6 no se han volcado instantaneamente a desarrollar en V7. Leer el resto de esta entrada »
Sabias que ? 4.0
Serie de video sobre los cambios que producen las tecnolgias y los avances en la forma en que al población humana se desarrolla e intercatua son simplemente geniales:
La magia de Velneo
Irónicamente la inspiración para este post provino de los ratos que dedico a estudiar Ruby on Rails (un Excelente Framework para desarrollo web implementado sobre Ruby) y me hizo percatarme de las “pequeñas” cosas que Velneo hace por defecto y que nos ahorran mucho tiempo de desarrollo, esto bajo las presunciones que hace sobre cómo funcionan los aplicativos de gestión y que es lo que hace que en un principio te parezca raro que todo funcione tan bien, aquí enumero algunas de estas características o presunciones que hace Velneo, para ser la “plataforma de desarrollo de aplicaciones más rentable”:
- Si un campo es de un tipo no acepta datos de otro tipo punto. Con esto te evitas las comprobaciones para ver si un usuario no ha metido texto en un campo que es numérico, o que se escriba una fecha correctamente dentro de las mil posibilidades que hay para escribirlas.
- Si en un form de una tabla maestra incluyes una rejilla que represente los registros de un determinado histórico y quieres hacer altas o modificaciones olvídate de dos cosas, en primer lugar si la rejilla tiene asociados los formulario no tienes que programar nada con un simple doble clic puedes dar altas o modificar registros y segundo una vez realizada el alta, la modificación o eliminación la rejilla se refrescara SOLA, solo Dios sabe cuánto código nos evitamos con esta forma de trabajar. Leer el resto de esta entrada »
Bienvenido Restaurant-IT
Después de un buen rato desarrollando y testeando con mucho orgullo aquí esta “Restaurant-IT” V1.0, un software para el manejo de restaurantes con un sin fin de posibilidades para simplificar el diario vivir de un restaurante, por supuesto desarrollado totalmente con Velneo e implementando las siguientes características globales:
Funcionalidades clave Restaurante:
- Gestión de Mesas y personalización de áreas de servicio.
- Gestión de Comandas y Tickets en cada mesa, creación, división, facturación e impresión.
- Gestión completa de Artículos compuestos, con notas y gestión de precios especiales.
- Gestión de domicilios.
- Gestión completa de cajas en un entorno de restaurante, con apertura y cierre de días y cuadres de caja.
- Posibilidad de Realización de reservas.
Funcionalidades clave de Gestión:
- Gestión detallada del proceso de compras y ventas desde la cotización hasta la facturación y recibos de caja.
- Gestión del almacén con costeo de productos y acceso desde todos los ángulos del aplicativo.
- Historial o base de conocimiento los clientes y proveedores.
- Manejo de diferentes series de facturación para propósitos específicos.
- Administración detallada de artículos, familias de artículos, precios especiales y descuentos por documento, proveedor o cliente

