Nueva versión Velneo v7

Ya tenemos aquí la nueva y tan esperada versión v7.17 de Velneo (http://velneo.es/disfruta-desde-ya-mismo-de-la-nueva-version-7-17-de-velneo-vamos-a/).

Como novedades destacadas tenemos (http://velneo.es/novedades-velneo-7-17/):

  • Compilación basada en Qt 5.3.2
  • Sistema de copias de seguridad integrado
  • Visor dinámico (treewidget) sin origen de datos.
  • Mejoras en vTranslator (soporte XLIFF)
  • Pequeñas mejoras en Android
  • Plantilla de Erp y contabilidad integrada
  • Soporte para cámaras incorporado en el control Image

Y como cambios a destacar (http://velneo.es/listado-de-cambios-velneo-7-17/):

  • Nuevos plugins para imágenes (webp, wbmp, jp2,dds)
  • Mejoras para conexiones externas mediante nuevos plugins de acceso a bases de datos: mysql y psql en Windows, odbc, psql y mysql en Linux, odbc en Mac
  • Geometría inicial de la ventana mediante el parámetro (-qwindowgeometry -qwindowgeometry 400×400+ 200+200)
  • Ejecución silenciosa de aplicaciones mediante el parámetro -platform minimal
  • Mejora en la gestión de hilos multitarea en interfaz, que se ejecutará con mayor estabilidad y aportando más funcionalidades, como la ejecución de procesos en segundo plano en Android y otras.
  • Mejoras en el navegador y control html: WebGL, CSS3, HTML5, etc.
  • Nuevo motor para la ejecución de código javascript y API de Velneo: mejor rendimiento y un consumo de recursos menor
  • Mejora de la integración en Mac OSX: Pantalla completa, mejora de pintado de controles, tipos de letra, tamaños y estilos, etc.
  • Redefinición de los estilos visuales: Estilo Fusion que permite homogeneizar la visualización de las aplicaciones en distintos sistemas operativos.
  • Incremento de la velocidad de entre el 10% y el 12% mínimo en cálculos en fórmulas de Velneo V7.
  • Habilitada la carga de iconos en menús sobre Linux.
  • Mejoras en Velneo Cloud: almacenamiento SSD con alto rendimiento en IOPS, mejoras en ejecución hasta un 33%, reforzada la seguridad de las unidades y actualizada la versión de los sistemas operativos host
  • Implementación de patrones para VTreeWidget que permiten definir la gestión de los distintos elementos que componen el árbol, escogiendo formularios, etc. para su edición

 

La novedad más importante, sin dudas, es la tan esperada incorporación de las librerías Qt 5. Fundamentalmente, por la evolución tecnológica que eso supone para el futuro de Velneo.

Por nuestra parte, esperábamos muchas nuevas funcionalidades a raíz de esta nueva compilación basada en Qt 5. Pero nuestro gozo, en un pozo… parece que nos tocará esperar aún un poco más.

 

¿Qué esperábamos de la v7.17?

  • Esperamos la portabilidad completa de todos los productos a Qt5 (versión de la compilación – Qt 5.3.2). Y ya la tenemos aquí!!!, el futuro está garantizado gracias a este arduo esfuerzo que hay que reconocer. El equipo de Velneo trabajó duro en esta cuestión y ya está resuelta manteniendo la absoluta compatibilidad hacia atrás (aunque como es lógico puede haber algún pequeño problema). Aunque pueda parecer poca cosa, lo cierto, es que es un trabajo titánico que hay que reconocer. Se entiende perfectamente el retraso de la incorporación de las librerías Qt 5.x.

image

  • Esperábamos un debuger. Y por fin lo tenemos!!!. Es una gran novedad, funcionalmente es suficientemente potente para resolver los problemas fundamentales en la vertiente de código V7. Nos decepcionó parcialmente no disponer también del depurador para JavaScript.

image

  • No esperábamos el sistema de copias de seguridad, pero ya lo tenemos. No lo esperábamos, fundamentalmente, por no ser crítico en escenarios de pequeñas empresas (no suelen requerir de 24/7 por lo que no es un problema automatizar la copia de todo lo necesario parando previamente el servicio). Es cierto que era muy demandado por la comunidad, por lo que más de uno estará contento con esta nueva incorporación.

image

  • Por nuestra parte, esperábamos la incorporación de QtQuick 2.x a la plataforma. Parecía lógico, pero han decidido mantener la compatibilidad con QtQuick 1.x antes de abordar la incorporación de QtQuick 2.x.
    Esta decisión les habrá generado algún que otro dolor de cabeza y a futuro les generará más carga de trabajo (ya que tendrán que desdoblar los controles QML de ficha y de lista).
    Desde nuestro punto de vista es una decisión totalmente equivocada. Si se hubiera roto la compatibilidad con QtQuick 1.x y saltado directamente a 2.x todos hubiéramos sufrido menos (especialmente Velneo).
  • Esperábamos el vClient para iOS, fundamentalmente por haber sido anunciado en el LIS 2014. Creo que el motivo de que no haya salido es, que no cumple el 100% de las funcionalidades (seguramente algunas aplicaciones no funcionen correctamente).
  • Esperábamos una solución nativa para el consumo de servicios Web. Pero de momento, nada de nada. La clase VNetwork queda pendiente.
  • Esperábamos los demonios de servidor.  Otra cosa que no se entiende, es que no haya salido. Lo digo por el parecido razonable con el sistema de Backups. De igual forma pienso respecto al los procesos en 4 plano.
  • Esperábamos mejoras en la representación gráfica (componentes de representación para gráficos de tartas…). De momento nada de nada y al no incorporar QtQuick 2.x no nos permite ningún nuevo enfoque.

Bueno… esto es lo que hay, tendremos que esperar a las sucesivas versiones para ver si poco a poco nuestras expectativas se cumplen.

¿Que nos depara el futuro?

El futuro, como siempre, es incierto… pero algunas cuestiones se han despejado.

Arquitectura:

  • No existe versión de 64 bits. En el LIS 2015 se anunció que nos preparemos, que están trabajando en ello.
  • Ya no hay soporte para RIA y esto puede ser un problema.
  • No existe ningún avance para llevar el vClient a HTML5 (aunque haya proyectos basados en Qt que estén trabajando en esta dirección).
  • Facilidades para la exposición de funcionalidad V7 basada en servicios (Arquitecturas SOA/REST)
  • En MacOSX no hay vServer (limita los despliegues).

Componentes:

  • ODBC sigue en fase beta. Y así se quedará de momento.

La Nube:

  • La API cloud sigue siendo manifiestamente mejorable (No podemos gestionar correctamente las instancias de las aplicaciones)
  • No hay ejemplos de integración de la API para PHP (estaría bien poder contar con ellos para WordPress, Joombla y otras plataformas ampliamente utilizadas).

Movilidad:

  • vClient desconectado
  • No hay aún garantías de ejecución para Android (Beta). Veremos si con el tema de las mejoras multihilo se palía el problema (no tengo muchas esperanzas)
  • No hay versión para Android x86.
  • No hay versión para BB10.
  • No hay versión para iOS. Sabemos que están trabajando en ello.
  • No hay versión para Linux ARM. El no disponer de versión ARM limita mucho las posibilidades de cara a desplegar v7 en dispositivos embebidos.

Otros problemas:

  • Problemas conocidos sin resolver (http://velneo.es/problemas-conocidos-7-16-0/). La lista va menguando… ¿dónde está la de la v7.17?
  • Algunos bugs sin resolver (revisar vBugman). En la versión 7.16/7.17 tenemos unos pocos sin resolver .
  • Problemas con los estilos en MacOSX (habrá que ver como se comporta la nueva versión ya que Qt 5 trae mejoras en este aspecto).
  • Apertura para otras plataformas (iOS, BB10, Windows Phone y Windows RT)
  • Objetos de representación gráfica integrados

 

Agradecimientos

Bueno… como podéis intuir, el LIS de este año, nos decepcionó en lo tecnológico, aunque entendemos profesionalmente la dirección que toma Velneo.

En lo personal, fue un placer compartir unos minutos con toda la comunidad y con el equipo de Velneo. Enhorabuena por vuestro trabajo y éxitos con vuestras renovadas ilusiones. Todos los LIS nos juntamos y pasamos unos minutos charlando o saludando, siempre es agradable charlar con todos. Este año fue algo distinto, no pude saludar a un buen compañero, ya no está entre nosotros. Juanito, te echamos de menos!!!.

Quiero agradecer públicamente la oportunidad que nos entrega Velneo de compartir nuestros avances tecnológicos con la comunidad V7 y especialmente dar la enhorabuena a Alfonso Gutiérrez por el nuevo miembro que está por llegar a su renovada familia. Suerte con esta nueva etapa de la vida, seguramente sea el emprendimiento más importante en tu vida personal, disfrútalo, dedícale tiempo y amor.

Por otro lado, pedir disculpas a todos, por no haberme quedado hasta el final. El 12, Pablo cumplía cuatro años y no quería pasar todo el día sin poder disfrutar de su compañía y del resto de mi familia (no creo que me lo hubieran perdonado).

Nos vemos en el LIS… o tal vez en la próxima vCena.

Blog | Tienda

Nueva versión Velneo v7

¿Cómo crear programas?

vERP3

Muchas personas se acercan a nuestro blog bajo la pregunta: ¿cómo crear programas?

Hoy en día es muy importante buscar tecnologías que nos permitan crear software de manera práctica y rentable. Muchos aterrizan directamente en este blog pero muchos otros llegan a través de referencias de bloggers de la comunidad de Velneo.

Uno de los blogs más importantes en este sentido es crearsoftware.com. En este artículo haré un breve repaso de aquellos artículos más populares mediante los cuales las personas que buscan un software para hacer programas nos encuentran.

1. ¿Cómo crear programas?

En este artículo se nos explica de forma clara y concisa cómo crear programas en 5 pasos. Se centra mucho en la importancia del analizar al usuario y no dar por hecho que es igual que nosotros. El programa que hagas tiene que funcionar para el usuario final y no para el programador.

Otro aspecto que se destaca es la necesidad de analizar claramente el flujo de información. Se recomienda pintar en una pizarra diseñando las tablas, los campos y los enlaces para visualizar como fluirán los datos del software que quieres crear.

Finalmente se centra en cómo con Velneo crear el proyecto de datos y probar las tablas, los índices y las relaciones. Hace especial énfasis en el diseño del interfaz del usuario que es la parte más importante de todo el proceso. Destaca que el interfaz se debe programar al final y no caer en el vicio adquirido de muchos programadores de querer hacerlo al principio.

2. Crear software en la nube

En este post se explica la importancia de desarrollar o crear software en la nube. Destaca la importancia de hacer los desarrollos en la nube y no en local ya que posteriormente se usará en la nube. También incide en la necesidad de usar una plataforma que esté concebida para programar en la nube como Velneo, ya que las plataformas tradicionales para hacer software no fueron pensadas para desarrollar en la nube o cloud. Así podrás programar desde cualquier ubicación, tus clientes podrán hacer pruebas sin mucha complicación y tu podrás ver el funcionamiento en tiempo real de tu aplicación en la nube.

3. Velneo: un programa para hacer programas

Otro post con mucho peso entre las personas que nos visitan es el sencillo pero efectivo. Las personas que programan en Velneo pueden pensar en todo tipo de definiciones para la plataforma de desarrollo de aplicaciones empresariales, pero en el fondo es un programa para hacer programas.

4. ¿Cómo hacer un programa?

Por último incluyo un artículo que se centra en cómo hacer un programa desde la óptica de cómo determinar qué programa debo hacer y luego también el cómo.

Recomienda tener claro qué programa queremos hacer, y estar el 80% del tiempo pensando qué hacer y el 20% programando.

En segundo lugar se centra en la necesidad de delimitar de manera concisa la funcionalidad del software que quieres crear. Hay que empezar con lo esencial ya que en el mundo de la creación de software se compite con la funcionalidad. La app que hagas debe ser estable, abstracta, sencilla y agradable. Luego pone hincapié en la necesidad determinar cuál es el producto mínimo viable para poder obtener evaluaciones de potenciales clientes con el mínimo esfuerzo en términos de recursos. Dicho producto mínimo viable debe convertirse en la primera iteración del programa que quieras crear.

Termina destacando que el producto debe ser simple y viable, y que la complejidad debe ser progresiva, ya que en las primeras iteraciones es fundamental centrarse en la experiencia de usuario.

Para todo esto remata explicando la necesidad de elegir un lenguaje de programación y una tecnología que te permita trabajar de forma práctica y rentable. Velneo es una plataforma completa de desarrollo de aplicaciones que te resuelve la parte tecnológica.

Estos cuatro artículos sobre cómo crear software son los más relevantes para las personas que nos encuentran bajo la necesidad de programar software de forma rápida y sencilla.

Este artículo ¿Cómo crear programas? es original de Velneo V7.

Life is Soft 2015 evento en Madrid para desarrolladores de aplicaciones

¡Ya está aquí!, el próximo jueves 12 de marzo de 2015, en Madrid tienes la oportunidad de participar en el evento anual de desarrollo de software empresarial, Life is soft.

Este año, Life is soft 2015 va A +.

PageLines- jesus_arboleya_lis2012.jpg

Tendrás ponencias, en formato TED, sobre calidad de software, aplicaciones rentables en la nube, aplicaciones que integran QML, DHTML, te enseñaremos la plantilla empresarial vERP para que dispongas de tu propio ERP y muchas más temáticas.

Es una oportunidad única para convivir e interactuar con el equipo de Velneo y su comunidad, participar en las diferentes mesas redondas temáticas, conocer los diferentes casos de éxito de la comunidad e intercambiar experiencias e inquietudes con otros desarrolladores.

¡¡Date prisa porque quedan muy pocas plazas presenciales!! Regístrate ahora

Continuamos con la confianza depositada en nosotros por la Universidad Politécnica de Madrid para permitirnos realizar el evento presencial en sus instalaciones.
Este año será mucho más potente y más técnico, algo que ya nos solicitaron nuestros clientes.

Para ello, el evento estará dividido en dos partes. Por la mañana, realizaremos unas jornadas de networking con mesas temáticas sobre estrategia, desarrollo y comercial, una mesa redonda con casos de éxito de clientes y la entrega de un premio al mejor forero de la comunidad Velneo. Este evento será exclusivamente presencial.

Por la tarde, empezarán las ponencias sobre diferentes temas relacionados con las empresas de software empresarial donde intercalaremos ponencias puramente técnicas con grandes novedades de esta versión y de las posibilidades que ofrece Velneo para integrarse con otras tecnologías. Este evento será retransmitido por streaming para toda España y la comunidad Latinoamericana.

Puedes consultar la agenda detallada del evento aquí.

Este año tendré el placer de compartir escenario con mi amigo Nicolás Osuna para presentaros las importantes novedades del gran componente de la plataforma Velneo vERP, la plantilla de código abierto con la que puedes construir tu propio ERP.

Te esperamos y en caso de que no puedas asistir al evento presencialmente recuerda que podrás asistir al mismo con la transmisión online que realizaremos.

The post Life is Soft 2015 evento en Madrid para desarrolladores de aplicaciones appeared first on Lógica mente Velneo V7.

¿Cuál es el mejor programa para hacer software para empresas?

mejor programa hacer software empresas

Ante la eterna pregunta de cuál es el mejor programa para hacer software para empresas,  la respuesta como todo en esta vida es que depende. Hay programas que tienen una curva de aprendizaje mucha más larga que otros, hay programas que van orientados a grandes empresas de programación, hay programas que son ideales para pequeñas empresas de programación y hay otros que han sido muy buenos en el pasado y que se siguen usando a pesar de que ya están descontinuados y que no tienen soporte. En todo caso, en este post hablaremos de programas de software que sirven para crear software empresarial. ¿Cuál es el mejor programa para hacer software para empresas?

Velneo

Velneo es nuestra plataforma de desarrollo preferida porque creemos que es el mejor programa para programar software de empresas. Dentro de los criterios citados en el primer párrafo podemos decir que Velneo tiene una curva de aprendizaje muy suave y e incluso puede ser una opción muy válida para programar aplicaciones para aquellas personas que quieren programar sin tener mucho conocimientos técnicos. Tradicionalmente los desarrolladores en Velneo son pequeñas empresas de programación o autónomos que usan la plataforma porque les permite programar software fácil de mantener. Eso no quiere decir que no haya empresas de mayor tamaño que usan Velneo para programar software para empresas. Velneo tiene su propio lenguaje de programación con una base de datos integrada.

La filosofía de Velneo se basa en los siguientes pilares: es para programadores pragmáticos que buscan rentabilidad (te puedes apoyar en las plantillas abiertas para aprender y ahorrar tiempo de desarrollo), es una plataforma completa de desarrollo de aplicaciones empresariales (solo es para eso y solo hay que aprender usar Velneo) y está todo en español lo que te permite avanzar sin dudas ni atascos por razones de barreras del idioma.

Puedes apuntarte aquí a cualquiera de sus seminarios o descargarte la plataforma registrándote en la página web.

Visual Studio .Net de Microsoft

Es un entorno de desarrollo integrado para sistemas operativos Windows. Con Velneo, los componentes así como las aplicaciones que desarrollas, pueden ejecutarse en Windows, Linux, Mac y Android, sin tocar una línea de código. Además son inter-operables lo que permite que cada componente pueda estar en un sistema operativo diferente.

Como entorno de desarrollo soporta varios lenguajes lenguajes de programación como Visual C++, Visual C#, Visual J#, y Visual Basic .NET y ofrece soporte a entornos de desarrollo web como ASP.NET. Para muchos desarrolladores de aplicaciones para empresas que programan en Visual Basic el salto a la programación en Visual Basic.Net a Visual Studio .Net resulta demasiado complejo debido a que el nuevo entorno de desarrollo es muy potente y sirve para hacer multitud de cosas. Esto contrasta con Velneo que simplemente se ha concebido para el desarrollo de aplicaciones para empresas de forma rentable y práctica.

Con Visual Studio se pueden desarrollar múltiples proyectos, incluyendo aplicaciones de escritorio y aplicaciones y servicios  web, y asimismo permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web para distintas versiones de Windows, incluyendo Windows Phone 8 y Windows Azure. También es posible desarrollar juegos, aplicaciones 3D y software de negocios. Esto contrasta con Velneo que simplemente se ha concebido para el desarrollo de aplicaciones para empresas de forma rentable y práctica. De hecho, algunos desarrolladores que conocen Visual Studio .Net y que programan en Visual Basic .Net acaban optando por Velneo para el desarrollo de software para empresas por pragmatismo.

Delphi

Este entorno de desarrollo de software está orientado a la programación general, pero enfocado especialmente a la programación visual. Soporta el lenguaje Object Pascal y se usa para programar software para Windows y el Linux.

Algunos de los usos más comunes en los que se utiliza Delphi es el desarrollo de bases de datos cliente-servidor y multi-capas, aplicaciones de consola, aplicaciones y servicios web como CGI, ISAPI, NSAPI, servicios COM y DCOM y servicios de sistema operativo.

Java SDK

Java es un lenguaje de programación diseñado para que pueda ser interpretado y ejecutado con independencia del OS en el que se ejecute mediante una máquina virtual Java. Es un lenguaje de propósito general, ya que con Java se puede programar de todo. Para algunos programar en Java aplicaciones de software para empresas no es una muy buena idea.

Java fue creado específicamente para tener las mínimas dependencias de implementación posibles. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o “write once, run anywhere“). Esto se debe a que las aplicaciones en Java funcionan dentro de las llamadas Máquinas Virtuales Java”. En este sentido su filosofía es similar a la de Velneo, ya que con Velneo desarrollas tu aplicación una sola vez y despliega tu solución en monousuario, multiusuario, SaaS, Web y en dispositivos móviles. La principal diferencia entre Velneo y Java SDK es que Velneo está enfocado al desarrollo de aplicaciones empresariales exclusivamente y Java es una lenguaje muy potente orientado a desarrollar de todo. Muchas empresas grandes programan en Java ya que los diferentes programadores se especializan en diferentes áreas para poder ser productivos.

Existen muchas otras alternativas para desarrollar software para empresas (NetBeans, Genexus, WinDev…) y otras opciones que antaño dominaban el mercado y ahora se han quedado obsoletas y sin soporte como FoxPro o Visual Basic 6.

En cualquier caso, tanto si eres nuevo y quieres saber cuál es el mejor programa para hacer software para empresas, como si ya vienes del mundo de la programación de aplicaciones empresariales, te animamos a que pruebes Velneo y aprendas a desarrollar aplicaciones de forma práctica y rentable. Puedes apuntarte también a cualquiera de los seminarios para aprender a programar que ofrecemos de forma gratis. Si tienes cualquier duda no dudes en ponerte en contacto.

Artículos relacionados: ¿Cuál es el mejor programa para crear un ERP?, ¿Cuál es el mejor programa para crear apps sin saber código?, Velneo como alternativa a Visual FoxPro, ¿Está Visual Basic 6 totalmente acabado?, Opinión de un experto en BBDD

Este artículo ¿Cuál es el mejor programa para hacer software para empresas? es original de Velneo V7.

Nos vemos en el Life Soft 2015 de Velneo

Este año, toda la comunidad Velneo, estará atenta a las novedades de la plataforma. Es un evento importante, ya que los cambios en lo tecnológico y empresarial que se están produciendo en la plataforma, son grandes y controvertidos (http://velneo.es/nuevo-ciclo-de-crecimiento-de-velneo/, http://velneo.es/ciclo-de-crecimiento-de-velneo-ii/)

 

La agenda ya está cerrada http://velneo.es/agenda-detallada-de-life-soft-2015/, no tardes en consultarla y en inscribirte (las plazas son limitadas).

image

Este año se recupera una idea interesante de antiguos LIS, las presentaciones de la comunidad sobre productos y tecnologías realizadas con Velneo V7. Creo que es un acierto que empresas destacadas en lo tecnológico tengan un reflejo en el evento de Velneo.

En nuestro caso, os presentaremos PaaSOS EDS, un sistema de señalización digital “open source” desarrollado con Velneo v7, Android, QML, JavaScript y Qt.

IMG_00000014

Y lo haremos cerca de un entorno muy familiar, el Politécnico Sur.

 

image

 

Creemos que es momento de reflexión y de ver como avanza uno de los productos tecnológicos más interesantes de los últimos años. No os lo perdáis!!!, http://lifeissoft.com/registrarse-2015/.

Después del LIS nos comprometemos a realizar un análisis profundo sobre nuestras sensaciones sobre “los cambios” que se están produciendo en la plataforma de desarrollo Velneo V7.

Blog | Tienda

Nos vemos en el Life Soft 2015 de Velneo

MEAN.IO

Desde el inicio, TipeSoft imparte formación técnica para clientes tecnológicos del más alto nivel, fundamentalmente especializada en tecnologías Microsoft (área de sistemas y desarrollo).

En el último año hemos abierto el abanico de tecnologías, ahora también impartimos cursos de formación avanzada en Velneo V7, QML, JavaScript, PHP, Python, AgilePoint, AgileXRM, Node.JS, AngularJS y MEAN.IO.

 

MEAN.IO

La mayor parte de la formación que impartimos es presencial, pero desde hace una año hemos trabajado y experimentado con tecnologías de formación online. El resultado nos gusta, por lo que trabajaremos en mejorar nuestras formas de entrega.

Os dejamos con el último seminario en abierto que hemos impartido en colaboración con TÜV Rheinland España y Bambú Software. Es una introducción teórica a MEAN.IO, esperamos os guste.

 

Blog | Tienda

MEAN.IO

Nueva edición del evento Life is Soft de Velneo

El próximo jueves 12 de marzo volveremos a disfrutar del evento anual de software empresarial organizado por Velneo denominado Life is soft. Continuamos con la confianza depositada en nosotros por la Universidad Politécnica de Madrid para permitirnos realizar el evento presencial en sus instalaciones. Este año será mucho más potente y más técnico, algo que ya nos […]

Hangout “Futuro de Velneo V7″

El pasado 4 de diciembre, tuve el placer de mantener con Alfonso Gutiérrez la que probablemente sea su última entrevista pública como CEO de Velneo.

En dicho hangout Alfonso estuvo respondiendo a todo tipo de dudas que había planteadas y algunas que llegaron en directo:

  • futuro de la plataforma
  • modelo de negocio
  • arquitectura
  • personas que pasarán a liderar el proyecto
  • etc
  • Tan sólo se reservó algunas novedades que serán anunciadas en LIS2015.

    Os dejo el video del hangout:

    The post Hangout “Futuro de Velneo V7″ appeared first on Velneo V7.

    Organiza los subformularios con un combobox

    VITAMINA – 14

    Planteamiento de la necesidad

    Hay ocasiones en las que nos encontramos con la necesidad de incorporar en el separador de un formulario un numero elevado de subformularios, además es habitual que los textos de las pestañas no sean cortos para poder describir con precisión su contenido. En estos casos la interfaz de la aplicación plantea un problema de usabilidad al usuario final ya que dependiendo de la resolución de su pantalla es posible que no tenga a la vista de forma directa todas las pestañas por lo que le resultará más complicado acceder a una de las ocultas. Incluso debemos tener en cuenta que la organización de pestañas horizontalmente resulta más difícil de leer cuando el número de pestañas es elevado.

    Formulario con muchas pestañas con la interfaz a mejorar

    Objetivo a conseguir

    Con el fin de mejorar la usabilidad de la aplicación para el usuario final vamos a intentar sustituir las pestañas por una lista de opciones ubicada en un control de tipo combobox. De esta forma el usuario tendrá la posibilidad de acceder directamente a cada una de ellas e incluso las opciones podrán tener textos largos más descriptivos, además del correspondiente icono.

    Formulario en  ejecución con interfaz de subformularios sincronizados con combobox

    Piezas de la solución

    Para conseguir programar una solución práctica y sencilla con un código fácilmente reutilizable vamos a crear un formulario que contenga solo 2 subcontroles: El primero que estará situado en la parte superior será el combobox (MEN_CFG) que contendrá las lista de opciones (subformularios), debajo ubicaremos un control de tipo pila de formularios (FRM_CFG) que será el contenedor de todos los subformularios que el usuario tendrá visibles.

    Formulario en edición con el control combobox y la pila de formularios sincronizada

    Combobox sincronizado con la pila de formularios

    La idea se basa en que solo nos tengamos que preocupar en añadir subformularios al control pila de formularios en el orden que deseemos aparezcan en el control combobox que hará de menú. A partir de ahí, al ejecutar la aplicación el código que vamos a ver a continuación se encarga de leer los subformularios de la pila y añadir al combobox los elementos correspondientes basados en los nombre de los objeto formulario incrustados en la pila.

    Realmente no se necesita nada más porque el orden de elementos del combobox y el de los subformularios en la pila es el mismo, por lo que cuando el usuario selecciona un elemento del combobox, la posición de ese elemento nos sirve para conocer el índice del subformlulario que debemos activar. De la misma forma podemos marcar como seleccionado el elemento del combobox que se corresponda con el formulario en curso de la pila, es decir que se garantiza la sincronización en ambas direcciones.

    Otro aspecto a tener en cuenta de esta solución es que contempla los puntos de inserción que serán totalmente funcionales, por lo que la personalización de estos controles para incluir nuevos formularios es realmente sencillo, ya que una vez incluido el subformulario a través del punto de inserción el elemento se incorpora automáticamente al combobox igual que el resto de formulario incrustados por el programador directamente en el control pila de formularios.

    2 conexiones y 2 manejadores de evento para controlarlo todo

    Para programar esta vitamina necesitamos crear 2 manejadores de evento y sus correspondientes conexiones de evento:

    Conexión de evento OnShow formulario para carga del combobox
    Manejador onShow sincornización combbox y pila de formularios

    Manejador de evento CAR_COM_BOX

    /**
     * Devuelve el icono de un formulario
     *
     * @param {VObjectInfo} formulario Objeto de la clase VObjectInfo del formulario
      * @return {VImage} icono Objeto de la clase VImage con el icono del formulario
     */
    var iconoFormulario = function (formulario)
    {
    	if (formulario)
    	{
    		importClass("VImage");
    		var icono = new VImage();
    		var iconoIdRef = formulario.propertyData(6).replace("@", "/");
    		icono.loadResource(iconoIdRef);
    		return icono;
    	};
    };
    
    // ------------------------------
    // Cargar formularios en combobox
    // ------------------------------
    
    var controlComboBox = theRoot.dataView().control("MEN_CFG");
    var controlPila = theRoot.dataView().control("FRM_CFG");
    
    // --------------------------------------------------------------------
    // Leer los subformularios  y dar de alta los registros en el combobox
    // --------------------------------------------------------------------
    
    // Limpiamos el combobox antes de cargarlo
    controlComboBox.clear();
    
    var numFormularios = controlPila.count;
    for (var numFormulario = 0; numFormulario < numFormularios; numFormulario++)
    {
    	var formulario = controlPila.form(numFormulario);
    	var nombre = formulario.objectInfo().name();
    	var icono = iconoFormulario(formulario.objectInfo());
    	controlComboBox.addItem(icono, nombre, numFormulario);
    };
    
    // Marcamos el primer elemento como seleccionado
    controlComboBox.currentIndex = controlPila.currentIndex;

    Es muy importante cargar los elementos del combobox en el mismo orden es que están declarados los formularios en el control, y más aún teniendo en cuenta que podemos usar puntos de inserción.

    La última línea del script se encarga de dejar seleccionada la líneas del combobox que se corresponde con el formulario abierto, esto es necesario tanto para la carga inicial como sobre todo si cargamos el combobox en el OnShow, ya que la primera vez estará cargado el primer formulario de la pila, pero si salimos de la pestaña y luego regresamos el formulario que veremos será el último seleccionado, y como en ese punto recargados el combobox es necesario volver a posicionarlo. Si no queremos que se cargue en el OnShow podemos hacerlo en la conexión de evento Post-inicializado, perdiendo dinamismo y ganando tiempos de ejecución ya que se solo se carga la primera vez.

    Otro punto a tener en cuenta en el script es que añade al combobox el icono que se corresponda con la propiedad icono declarada en cada uno de los formularios añadidos a la pila. Para que el combobox quede homogéneo o bien le ponemos icono a todos los formularios o a ninguno.

    Conexión de evento ítem de cambio seleccionado en el combobox
    Manejador de cambio de elemento seleccionado en el combobox

    Manejador de evento CAR_FRM_SEL

    // --------------------------------
    // Abrir el formulario seleccionado
    // --------------------------------
    var controlComboBox = theRoot.dataView().control("MEN_CFG");
    var controlPila = theRoot.dataView().control("FRM_CFG");
    controlPila.setCurrentIndex(controlComboBox.currentIndex);

    A diferencia de lo que hacíamos en la vitamina 13 con el listbox aquí no hemos incluido en la última línea el código para establecer el foco en el formulario de la pila, ya que esto facilita la navegación por el combobox a través de flechas o escribiendo las primeras letras de la opción que queremos disparar.

    Código reutilizable

    Lo único que tenemos que hacer para utilizarlo en otro formulario es asegurarnos de que o bien coinciden los identificadores de los controles combobox (MEN_CFG) y pila de formularios (FRM_CFG) o cambiamos dichos identificadores en el código.

    Si quieres ver como crear una interfaz similar pero con un control listbox consulta la VITAMINA – 13 Organiza los subformularios con un listbox.

    The post Organiza los subformularios con un combobox appeared first on Lógica mente Velneo V7.

    Organiza los subformularios con un listbox

    VITAMINA – 13

    Planteamiento de la necesidad

    Hay ocasiones en las que nos encontramos con la necesidad de incorporar en el separador de un formulario un numero elevado de subformularios, además es habitual que los textos de las pestañas no sean cortos para poder describir con precisión su contenido. En estos casos la interfaz de la aplicación plantea un problema de usabilidad al usuario final ya que dependiendo de la resolución de su pantalla es posible que no tenga a la vista de forma directa todas las pestañas por lo que le resultará más complicado acceder a una de las ocultas. Incluso debemos tener en cuenta que la organización de pestañas horizontalmente resulta más difícil de leer cuando el número de pestañas es elevado.

    Formulario con muchas pestañas con la interfaz a mejorar

    Objetivo a conseguir

    Con el fin de mejorar la usabilidad de la aplicación para el usuario final vamos a intentar sustituir las pestañas por una lista de opciones ubicada en un control de tipo listbox. De esta forma el usuario tendrá muchas opciones a la vista, con la posibilidad de acceder directamente a cada una de ellas e incluso las opciones podrán tener textos largos más descriptivos.

    Formulario en  ejecución con intefaz de subformularios sincronizados con listbox

    Piezas de la solución

    Para conseguir programar una solución práctica y sencilla con un código fácilmente reutilizable vamos a crear un formulario que contenga solo 2 subcontroles: El primero que estará situado a la izquierda será el listbox (MEN_CFG) que contendrá las lista de opciones (subformularios), a su derecha ubicaremos un control de tipo pila de formularios (FRM_CFG) que será el contenedor de todos los subformularios que el usuario tendrá visibles.

    Formulario en edición con el control listbox y la pila de formularios sincronizada

    Listbox sincronizado con la pila de formularios

    La idea se basa en que solo nos tengamos que preocupar en añadir subformularios al control pila de formularios en el orden que deseemos aparezcan en el control listbox que hará de menú. A partir de ahí, al ejecutar la aplicación el código que vamos a ver a continuación se encarga de leer los subformularios de la pila y añadir al listbox los elementos correspondientes basados en los nombre de los objeto formulario incrustados en la pila.

    Realmente no se necesita nada más porque el orden de elementos del listbox y el de los subformularios en la pila es el mismo, por lo que cuando el usuario selecciona un elemento del listbox, la posición de ese elemento nos sirve para conocer el índice del subformlulario que debemos activar.

    Otro aspecto a tener en cuenta de esta solución es que contempla los puntos de inserción que serán totalmente funcionales, por lo que la personalización de estos controles para incluir nuevos formularios es realmente sencillo, ya que una vez incluido el subformulario a través del punto de inserción el elemento se incorpora automáticamente al listbox igual que el resto de formulario incrustados por el programador directamente en el control pila de formularios.

    2 conexiones y 2 manejadores de evento para controlarlo todo

    Para programar esta vitamina necesitamos crear 2 manejadores de evento y sus correspondientes conexiones de evento:

    Conexión de evento OnShow formulario para carga del listbox
    Manejador OnShow para cargar elementos del listbox

    Manejador de evento CAR_LIS_BOX

    // -----------------------------
    // Cargar formularios en listbox
    // -----------------------------
    
    var controlListBox = theRoot.dataView().control("MEN_CFG");
    var controlPila = theRoot.dataView().control("FRM_CFG");
    
    // -------------------------------------------------------------
    // Leer los subformularios  y añadir los registros en el listbox
    // -------------------------------------------------------------
    var numFormularios = controlPila.count;
    for (var numFormulario = 0; numFormulario < numFormularios; numFormulario++)
    {
    	var formulario = controlPila.form(numFormulario);
    	var nombre = formulario.objectInfo().name();
    	controlListBox.addItem(nombre);
    };

    Es muy importante cargar los elementos del listbox en el mismo orden es que están declarados los formularios en el control, y más aún teniendo en cuenta que podemos usar puntos de inserción.

    Conexión de evento ítem de cambio seleccionado en el listbox
    Manejador de cambio de elemento seleccionado en el listbox

    Manejador de evento CAR_FRM_SEL

    // --------------------------------
    // Abrir el formulario seleccionado
    // ---------------------------------
    var controlListBox = theRoot.dataView().control("MEN_CFG");
    var controlPila = theRoot.dataView().control("FRM_CFG");
    controlPila.setCurrentIndex(controlListBox.currentRow);
    controlPila.form(controlPila.currentIndex).setFocus();

    En la última línea de este código fijamos el foco en el formulario de la pila, por lo que una vez seleccionado el formulario el usuario ya puede comenzar a escribir en los controles del formulario sin necesidad de usar el ratón. Si no deseas esa funcionalidad puedes comentar o quitar la última línea.

    Código reutilizable

    Lo único que tenemos que hacer para utilizarlo en otro formulario es asegurarnos de que o bien coinciden los identificadores de los controles listbox (MEN_CFG) y pila de formularios (FRM_CFG) o cambiamos dichos identificadores en el código.

    El próximo artículo será similar a este pero usando un control combobox en lugar del listbox empleado en esta vitamina.

    The post Organiza los subformularios con un listbox appeared first on Lógica mente Velneo V7.