Quantcast
Channel: plataforma archivos - AyudaVelneo
Viewing all 16 articles
Browse latest View live

V7 7.14.2 ¿le damos el gallifante a Velneo?

$
0
0

Ayer por fin se desveló el misterio: la versión 7.15 de la plataforma Velneo verá la luz en marzo de 2014 (dicho así parece un estreno de Hollywood). El personal se estaba impacientando y ya estaban preguntando por el foro la fecha de aparición de la nueva versión. En el mismo post se anunciaba la salida de la versión V7 7.14.2 a finales de este mes de noviembre. A priori me parece una decisión mas que acertada… aunque con matices. Si quieres saber mi opinión al respecto y saber que es un gallifante (si tienes mas de 40, como Pepeto te acordarás de lo que es) sigue leyendo. Un gallifante era un muñeco mas bien horroroso (que como su nombre indica era mitad gallina, mitad elefante) que se entregaba en un concurso a quien participaba en él según iban acertando preguntas (es este muñeco de la derecha)… Pues vamos a ver cuantos se lleva Velneo con esta decisión. Parto de la base de que no soy betatester de la plataforma por lo que no os puedo decir las incidencias resueltas, además de nuevas funcionalidades, que aparecerán en V7 7.14.2 (aunque si lo fuera tendría un contrato de confidencialidad y [...]

El artículo V7 7.14.2 ¿le damos el gallifante a Velneo? fue publicado en Ayudavelneo por Francisco José Vila Martín


Formación en Velneo V7

$
0
0

Me han llegado algunos e-mails y mensajes en los que me preguntaban si este año iba a realizar el “Campus de Verano” de formación en Velneo V7. Algo haré… La razón es que este verano voy a estar entretenido dando los cursos de formación online oficiales de Velneo. En el post anterior os decía que el blog. después de dos años de siembra, estaba comenzando a dar los primeros frutos. Uno de ellos ha sido este. Durante los meses de verano voy a estar impartiendo los seminarios básico y avanzado de Velneo V7. Además también seré el encargado de realizar el seminario introductorio “Tu primera aplicación desde 0″. Estos serán los contenidos y las fechas de los seminarios: Tu primera aplicación desde cero. En este seminario te enseñaremos a desarrollar la primera aplicación con Velneo. Crearás una aplicación sencilla de gestión de contactos. Está dirigido a personas que nunca han desarrollado aplicaciones empresariales o que se quieran iniciar en Velneo. Será uno mensual durante los meses de junio, julio agosto y septiembre. El próximo será el día 9 de julio Si quieres inscribirte, puedes hacerlo desde aquí Desarrollo [...]

El artículo Formación en Velneo V7 fue publicado en Ayudavelneo por Francisco José Vila Martín

¿Has probado ya la versión 7.18 de Velneo V7?

$
0
0

El pasado martes 20 de octubre, vio la luz la Versión 7.18 de Velneo V7. Aparte de las novedades destacadas (que ahora pasaré a numerar), quiero agradecer al equipo de desarrollo la mejora en la usabilidad de vDevelop (la de veces que me habré acordado de ellos al cambiar de proyecto…). Me he puesto en contacto con algunos desarrolladores para conocer su opinión sobre la nueva versión. ¿Quieres saber lo que me han comentado?… pues sigue leyendo. Principales novedades de la versión 7.18 de Velneo V7? Antes de conocer la opinión de los desarrolladores vamos a resumir las novedades principales que han aparecido con la nueva versión: Posibilidad de ejecutar procesos en 4º plano. Este “4º plano” nos va a permitir lanzar procesos en 2º plano del servidor de forma asíncrona. Los recálculos de tus aplicaciones te lo agradecerán. Nuevo componente vTutor: Integrado dentro de la plataforma ahora está disponible el nuevo recurso formativo vTutor que incluye un buen número de tutores así como buenas prácticas de desarrollo a incluir en nuestras aplicaciones. Importador SQL: Nuevo importador SQL integrado dentro de vDevelop Actualización de vModApache a la versión 2.4 de Apache Depurador de JavaScript integrado dentro de vDevelop [...]

El artículo ¿Has probado ya la versión 7.18 de Velneo V7? fue publicado en Ayudavelneo por Francisco José Vila Martín

Próxima publicación de Velneo V7 7.14.2

$
0
0

Acaba de anunciarse la aparición de Velneo V7 7.14.2 de la plataforma de desarrollo Velneo V7 para la última quincena de noviembre. Velneo “se ha centrado en la resolución de incidencias, con el foco dirigido a mejorar la estabilidad de la plataforma“.

La nueva versión 7.15 de momento tendrá que esperar hasta Marzo de 2014 en la que se migrará la plataforma a Qt5

La entrada Próxima publicación de Velneo V7 7.14.2 aparece primero en AyudaVelneo.

Algunos conceptos que debemos tener claros sobre Velneo V7.

$
0
0

Presentamos esta nueva sección de “Velneo a fondo” con 2 objetivos principales:

  • Explicar en detalle los comandos y características de la plataforma de desarrollo Velneo.
  • Mostrar trucos y ejercicios prácticos que hagan más divertido programar con Velneo.

Los artículos de esta sección serán una fuente de información de aquellos aspectos de Velneo que no encontramos en el manual de ayuda.

Cogeremos un comando o funcionalidad de Velneo y explicaremos a fondo sus características más útiles e interesantes para el programador.

También habrá como no, trucos que hagan más sencillo y divertido programar con Velneo. Finalmente diseñaremos pequeñas aplicaciones, planteadas como ejercicios prácticos que pongan a prueba nuestros conocimientos.

No pretendemos enseñar a programar, sino conocer a fondo Velneo de tal forma que facilite el desarrollo de nuestras aplicaciones.

Queremos que los artículos sean útiles tanto a los programadores que empiezan a conocer la herramienta como a los que ya llevan tiempo con ella.

Antes de meternos en materia y como primer artículo de Velneo a fondo vamos a enumerar una serie de conceptos que consideramos interesantes tener claros. Es una lista que irá creciendo en próximas entregas y conviene revisarla periódicamente para comprobar que tenemos claros los conceptos básicos de Velneo.

Conceptos básicos sobre Velneo V7

vDevelop

Con vDevelop estamos editando los proyectos de Aplicación (código fuente) y los proyectos de datos (estructura de las tablas). En ningún caso con vDevelop generamos contenido en las tablas (las tablas estáticas no cuentan).

En vDevelop, cada vez que pulsamos F5, se producen las mismas acciones que realiza el VIN en Producción, se reinicia la Solución en desarrollo con los cambios realizados (código fuente y estructura de tablas).

En alguna ocasión necesitamos cambiar el identificativo de un campo, pero esto produce la pérdida de los datos ya existentes en ese campo.

El subobjeto Traspaso de campo facilita la migración de información entre campos de una Tabla y el control de versiones. De esta forma ya podremos cambiar el identificativo de los campos y traspasar los datos antes de eliminar el campo original.

Lo que se llama migración masiva de datos no tiene nada que ver con los ficheros .VIN, éstos actualizan la estructura de tablas y las migraciones habrá que programarlas con código fuente en la aplicación.

Los nombres de las Tablas nunca deben cambiarse o habrá problemas en la actualización.

En el editor de informes nativos las reglas están en pulgadas y los valores de las propiedades se deben poner en pixeles:
100px = 1pulgada = 2,54cm.

Esto vale para los tamaños de los controles, pero para los márgenes se sigue otra equivalencia:
Márgenes -> 50px = 1pulgada = 2,54cm

Aunque la calidad del renderizado en pantalla de los Informes nativos es deficiente, el comando de proceso “Imprimir Informe” y generar PDF mejoran considerablemente la calidad de impresión.

Usar siempre Aspecto de dibujo = Proporcionar para que los dibujos salgan al tamaño deseado.

Los objetos por sí mismos no muestran Listas de registros, necesitan que en el flujo de ejecución el objeto anterior haya creado una Lista (o Ficha) de la misma Tabla asociada al objeto destino.

Las Vistas de Datos permiten concentrar varios objetos en un flujo para que el resultado sea la Lista (o Ficha) mostrada en el control visual  (rejilla, formulario, casillero, …).

El comando de instrucción Recalcular (Vista de datos) vuelve a Disparar los objetos que integran el control Vista de datos para obtener de nuevo la Lista. Es decir, se vuelven a comprobar todos los parámetros que conforman la Vista de Datos.

Desde un Manejador de Evento de un Formulario no tenemos Acceso a los Manejadores de Evento de los subobjetos de dicho formulario.

Los procesos siempre ejecutan los formularios en Modal (Ventana de Diálogo). Para mostrar el formulario No Modal necesitaremos ejecutar una Acción que establezca un flujo nuevo.

Todos los objetos de las Bases de datos (Triggers, Actualizaciones,…) se ejecutan siempre en el servidor.

Los planos de ejecución son absolutos: 1º plano en cliente, 2º plano en cliente multitarea y 3º plano en servidor.

El plano donde realmente se ejecutará el objeto dependerá del plano absoluto en el que se encuentre el objeto llamador.

Así un proceso en 3º plano ejecutará todos los objetos subsiguientes en el servidor, independientemente del valor del parámetro Plano de ejecución.

Los objetos (incluso los procesos) no pueden dispararse (Disparar Objeto) en 2º plano, porque necesitan de un handle local al proceso llamador.

Las Listas (y las Fichas) únicamente guardan un puntero interno al registro físico de la Tabla en el vServer.

Los registros físicos de las tablas llevan asociado un número de registro o puntero interno (no es el ID) que sirve como puntero para las Listas y Cestas. Tiene un tamaño de 4 Bytes (4.294.967.295). Es el número que aparece a la izquierda en las rejillas.

Las Cestas son Listas de punteros a registros de una tabla. No almacenan información, solo apuntan a los registros.

La Caché de fichas acelera la carga de los datos en Local. Cuando establecemos una transacción de lectura/escritura se fuerza siempre la lectura de la ficha desde el Servidor para tener siempre la última versión.

Lo que viaja entre cliente y servidor son listas de punteros, no fichas completas de campos. La ficha completa se cargará solo cuando vClient necesita acceder a un campo de la ficha.

El Bloqueo Blando es el que realizan los formularios por defecto. El Bloqueo Duro es el que realizan los Procesos que transaccionan y los formularios con Estilo = Bloqueo Duro.

En Bloqueo Blando las transacciones son independientes para cada tabla. En Bloqueo Duro la transacción es global a todo el Proceso o Formulario.

El Refresco terciario no se produce en formularios Modales.

Las Funciones en 1º Plano siempre generan transacción independiente, aunque ya estén dentro de otra transacción. En 3º Plano las Funciones se integran en la transacción abierta.

Las Variables Globales en disco se comparten por el Cliente y el Servidor. Usarlas para leer datos globales una vez, almacenando su valor en una variable global en memoria.

Las Variables Globales en memoria no se comparten entre el Cliente y el Servidor.

Las Tablas en memoria pueden usarse para dar de Alta registros de manera diferida en 2º plano.

Las Tablas en memoria no se comparten entre Cliente y Servidor.

vServer

vServer de forma nativa tiene los mecanismos necesarios para actualizar una Aplicación en Producción de forma segura y fiable, no necesitamos herramientas externas.

Para actualizar una aplicación podemos prescindir del fichero .VIN y como alternativa, simplemente copiamos los ficheros de los proyectos de aplicación (vca) y de datos (vcd). Una vez copiados es suficiente con reiniciar la Solución.

Una determinada Solución solo puede ser reiniciada si no existe ninguna instancia en ejecución en otras Soluciones que la hereden.

Cada Instancia de datos apunta a una carpeta donde se guardan las Tablas de la Aplicación. Estas tablas son ficheros del sistema de archivos y pueden manipularse como tales.

Por ejemplo: cuando queremos sustituir la tabla auxiliar de Códigos postales por una nueva, simplemente paramos la Instancia de Datos y sustituimos los ficheros de dicha tabla (dat e idx). Por supuesto lo podemos hacer remotamente por FTP, SDV…

vInstallBuilder

Una vez terminado el trabajo con vDevelop y probada la aplicación en desarrollo, se genera un fichero .VIN con vInstallBuilder. El fichero .VIN se compone únicamente de los proyectos de Aplicación y Datos, es decir, código fuente y estructura de las tablas.

Existe la opción, si es necesario, de añadir al VIN algunas tablas para que la Aplicación disponga de ellas. Por ejemplo: queremos incorporar a nuestra aplicación las tablas de Códigos Postales y Poblaciones.
Normalmente el VIN irá sin tablas (lo que se conoce como
VIN vacío), pero siempre irá con el código fuente y la estructura de las tablas (o sea la Solución).

El fichero .VIN es el que llevamos a Producción (Cliente). El fichero .VIN actualizará los proyectos de Aplicación y Datos del vServer.

Ahora viene lo más importante: cuando se reinicia la Solución, las instancias de Aplicación ejecutarán el nuevo código fuente y las instancias de Datos actualizarán la estructura de las tablas a partir de la nueva estructura del proyecto de Datos.
Las tablas que ya existen verán actualizada su estructura y las que no existen se crearán vacías, pero
NUNCA SE SOBRESCRIBEN DATOS.
Entonces no tiene sentido incorporar tablas al VIN, excepto cuando queremos instalar una Aplicación con datos de prueba o incorporar nuevas tablas auxiliares.

vClient

En sistemas Windows, analizando el Setup de vClient y el registro, observamos que Velneo no instala absolutamente nada, simplemente copia la carpeta Velneo/V7 con las librerías de QT, librerías C++, el vUpdater y el ejecutable vClient.exe.

Los paquetes de distribución de Runtimes C++ realmente sobran del Setup ya que pueden ser descargados de Microsoft e instalarse una sola vez por separado (ver https://support.microsoft.com/es-es/kb/2977003).

El cliente vUpdater no es necesario, si vClient no lo encuentra simplemente lo ignora y ejecuta la versión vClient disponible.

El uninstall-vclient.exe simplemente lo que hace es borrar la carpeta Velneo/V7. Se puede ejecutar en modo silencioso con /S.

Así que el despliegue de vClient puede consistir en empaquetar la carpeta de Velneo/V7 en un zip con los ficheros necesarios, copiarla a la máquina del cliente y descomprimirla en la carpeta que queramos.

Con esto podemos tener varias versiones de vClient ejecutando de forma simultánea.

Optimización

El campo Alfa 256 es el más rápido de gestionar de los campos alfanuméricos. No confundir con el tamaño del campo.

Índices. No abusar innecesariamente de ellos. Lleva su tiempo gestionarlos.

Los Índices Condicionados, aunque penalizan un poco, merecen la pena cuando se transacciona poco y se lee mucho.

Las Rejillas con campos de tipo objeto demoran la carga para evitar lapsus en la visualización de los registros.

¿Cuántos de estos “conceptos básicos sobre Velneo V7” conocías?. Ya sabes que valoro tus opiniones sobre los artículos… puedes dejarla mas abajo en los comentarios.

La entrada Algunos conceptos que debemos tener claros sobre Velneo V7. aparece primero en AyudaVelneo.

Proyectos en Velneo: ¿Cómo estructurarlos?

$
0
0

Cuando comenzamos a desarrollar con la plataforma, una de las primeras cuestiones a resolver es la de cómo estructurar los proyectos en Velneo. Pues como diría un buen gallego: “depende”.

En el post “¿Cuántos proyectos debe tener mi solución?” vimos que lo mas recomendable, es tener un solo proyecto de datos y un solo proyecto de aplicación.

En el post de hoy vamos a ver las ventajas y los inconvenientes de distintas formas de estructurar los proyectos en Velneo.

Estructurar los proyectos en Velneo

 

Tipos de estructura de proyectos en Velneo

Para saber la estructura que tienen que tener los proyectos, y por consiguiente nuestras soluciones, tendremos que responder a una serie de preguntas. Entre ellas podemos destacar las siguientes:

  • ¿Mi aplicación va a ser heredada por otras soluciones?
  • ¿Quiero facilitarle la vida a otros desarrolladores?
  • ¿Cómo voy a distribuir mi solución? ¿Como un todo?, ¿Por módulos?
  • ¿Quiero que mi solución sea la base de otras soluciones?
  • ¿Quiero tener distintas instancias por módulo. o una instancia para todos los módulos?

En función de lo que contestemos, tendremos que estructurar nuestros proyectos.

Proyectos “Monolíticos”

Son aquellas soluciones que tienen un proyecto de datos y un proyecto de aplicación. Un ejemplo de esta estructura de proyectos en Velneo es mi aplicación GTDenlanube.

Proyectos en velneo: Estructura monolítica

Estructura monolítica

Ideal cuando empezamos a desarrollar con Velneo V7. Evitamos complejidad.

Nos despreocupamos de crear tablas de extensión y herencia inversa.

Facilitan la herencia a otros desarrolladores.

No se puede trocear.

Dificulta el desarrollo colaborativo.

No es escalable al estar todos los módulos en el mismo proyecto.

Todo el peso está en la misma solución, con altos consumos de memoria a medida que añadimos funcionalidades. Si tuviesemos un ERP + CRM + TPV + CONTABILIDAD, tendríamos en una solo instancia todos los objetos... ahora imaginad mas módulos: cartera, producción, etc etc.

 

Proyectos “Verticales”

Son aquellas soluciones que tienen un proyecto de datos y varios de aplicación. Un ejemplo muy claro lo tenemos el vErp

Proyectos en Velneo: Verticales

Ya tenemos dos proyectos de aplicación perfectamente diferenciados: vTPV y vERP. Por lo tanto podemos instanciar por separado... aunque los datos siguen estando en la misma instancia.

Facilitan a los desarrolladores las personalizaciones sencillas

Los datos siguen estando en el mismo proyecto.

No es escalable

Proyectos “Horizontales”

Son aquellas soluciones que tienen varias soluciones independientes relacionadas por un proyecto que las hereda. Un ejemplo muy claro lo tenemos en los módulos de la plataforma PaaSOS de Tipesoft. Los módulos de PaaSOS tienen un único proyecto de datos y uno de aplicación…. heredando de un núcleo común (veremos este montaje “mixto” a continuación).

Proyectos en Velneo: Horizontales

Módulos completamente independientes.

Perfectamente escalables.

Peso de las soluciones repartido evitando consumos de memoria desmedidos.

Facilita la extensión de nuestras soluciones.

Facilita el desarrollo colaborativo.

Complejidad en la visibilidad de los datos. Unos módulos no tienen "conocimiento" de los datos de su solución hermana.

Imposible la herencia entre soluciones "hermanas". Si es posible mediante la API de Velneo.

Si queremos utilizar varias soluciones, tendremos que "empaquetarlas" en distintos packs.

Proyectos “Mixtos”

Son aquellas soluciones, generalmente de tipo Monolítico que heredan otras soluciones (del tipo que sean). Son aquellas soluciones que creamos para no tocar o ampliar la solución base y poder beneficiarnos de futuras actualizaciones de dicha solución: soluciones que creamos heredando vERP, soluciones que creamos heredando el núcleo de PaaSOS

Proyectos en velneo: Mixtos

Facilitan la instalación de nuevas versiones de nuestra solución base.

Perfectamente escalables.

Facilitan la extensión de la solución.

Facilitan el desarrollo colaborativo.

Complejidad en la herencia de soluciones.

No están recomendados para usuarios que comienzan con la plataforma. Necesitan conocimiento de estructuras avanzadas en Velneo V7.

 

¿Ves alguna ventaja o inconveniente mas en la forma de estructurar nuestros proyectos en Velneo?

Coméntame tu experiencia mas abajo.

La entrada Proyectos en Velneo: ¿Cómo estructurarlos? aparece primero en AyudaVelneo.

Velneo 20 se presenta en sociedad

$
0
0

Pues si… ya tenemos la nueva versión de Velneo: Velneo 20.

Y aquí tenemos la primera novedad… cambia la nomenclatura de las versiones. A partir de esta versión, se acabo V7.7 + versión.

En este primer artículo vamos a ver las novedades mas destacadas que trae la nueva versión Velneo 20. En próximos artículos iremos viendo estas novedades en profundidad.

Novedades que vamos a encontrar en Velneo 20

La primera novedad que apreciamos al descargar la nueva versión, es que se han rediseñado todos los iconos de la plataforma (incluidos los iconos de los componentes)  para enfrentarse a las innovaciones de movilidad, HighDPI y sistemas operativos modernos. Para ello, se ha seguido la normativa de diseño Material creada por Google.

Aunque los iconos no han cambiado de lugar, al trabajar con vDevelop, como mínimo se hace rara la nueva imagen. Supongo que con horas de desarrollo nos acostumbraremos.

Velneo 20 y vDevelop

 

Otra de las novedades importantes es que las versiones de Windows en 64 bits ya están disponibles.

Esto significa que si todavía tenemos algún cliente con Windows XP, tenemos que jubilarlo. Velneo 20 no es compatible con esta versión del S.O.

Ya podemos ejecutar los componentes de Velneo 20 desde vDevelop

Simplemente gracias.

Cuando pasas muchas horas desarrollando, estos “pequeños” detalles se agradecen. El no tener que salir de vDevelop para poder lanzar vClient y no tener que cerrar vClient para abrir vDataClient nos ahorrará mucho tiempo.

Después de que Velneo “recordase” que pestañas teníamos abiertas al cambiar de un proyecto a otro…

Si en la siguiente versión cuando tenemos abiertas varias pestañas en el panel central y cerramos una de ellas, Velneo “recordase” la pestaña en la que estábamos y no nos activase la última que tenemos abierta, ya sería la leche. (“posyaque” por si cuela)

Tubos de ficha y lista operativos

¡Por fin! Después de 20 versiones, tenemos los tubos de ficha y lista en perfecto estado de revista.

Para los desarrolladores que venimos de la versión 6x, estos objetos se echaban de menos.

A la hora de pasar registros de unas tablas a otras, ahorraremos unas cuantas líneas de código y unas cuantas variables, además de poder encapsular toda la funcionalidad en un sólo lugar.

Los veremos con mas detenimiento…

Nuevo inspector de “Objetos no usados”

En el menú de objetos, tenemos la nueva funcionalidad para buscar los “Objetos no usados directamente“.

Hasta ahora creábamos nuevos objetos en nuestros proyectos y en algunas ocasiones, eliminábamos alguna funcionalidad y se quedaban objetos que no eran utilizados en nuestra aplicación.

Con esta nueva funcionalidad podemos localizar todos estos objetos y eliminarlos… ¡Cuidado al eliminar! Puede que alguno de esos objetos se usen indirectamente.

velneo 20: objetos no usados

 

Rediseño del objeto rejilla avanzada

Al igual que con los tubos de ficha y de lista, el objeto rejilla avanzada necesitaba una actualización.

Se ha optimizado para su funcionamiento en cloud…

Habrá que probarla a fondo y ya os comentaré mis impresiones.

QML 2 al poder

Una de las novedades mas importantes de Velneo 20 es la inclusión de QML 2 para definir y ejecutar interfaces de usuario de última generación.

Nuevos componentes y nuevos módulos para ejecutar nuestras aplicaciones en múltiples dispositivos.

Lo mejor es que veamos estas novedades de forma práctica.

Para ello, he organizado un WEBINAR GRATUITO el próximo 22 DE NOVIEMBRE de 16:00 a 17:30 horas en el que contaré con la colaboración de Jorge Hontoria de Tipesoft que nos contará mediante ejemplos prácticos las novedades aparecidas sobre QML 2 en Velneo 20

¿A qué esperas para apuntarte?

La entrada Velneo 20 se presenta en sociedad aparece primero en AyudaVelneo.

Comandos de Configuración del sistema

$
0
0

Velneo proporciona un conjunto de comandos que permiten escribir y leer entradas en el fichero de configuración del sistema operativo de una máquina. 

Aprovecharemos esta funcionalidad, al igual que lo hace Velneo, para guardar y recuperar información útil de nuestras aplicaciones.

configuración del sistema

En el sistema operativo Windows los valores de configuración del sistema se guardan en el registro accesible mediante el comando regedit.exe. En Linux, OS X, iOS y Android se guardan en ficheros de texto. En este artículo vamos a centrarnos en Windows, aunque en el resto de plataformas el funcionamiento es el mismo.

Para acceder al registro de Windows tenemos que ejecutar el comando regedit desde la ventana Ejecutar (Tecla Windows+R).

Desde nuestras aplicaciones solo tenemos acceso a la información del registro que cuelga de la rama HKEY_CURRENT_USER y concretamente Velneo guardará siempre todos los valores de configuración en la rama HKEY_CURRENT_USER\SOFTWARE\Velneo.

Rama HKEY_CURRENT_USER (HKCU)
En esta rama se encuentra la configuración del usuario que está actualmente usando el equipo. Los cambios que hagamos en esta rama afectarán solo al usuario actual. Las carpetas del usuario, los colores de la pantalla y la configuración del Panel de control se almacenan aquí. Esta información está asociada al perfil del usuario. Esta clave a veces aparece abreviada como “HKCU”.

En la imagen siguiente se muestra un ejemplo de los valores de configuración en el Editor del Registro.

VAF_04_REGEDIT

Cuando usamos los comandos de Configuración del sistema, debemos tener en cuenta lo siguiente:

    • El ámbito de estos comandos de instrucción es la rama HKEY_CURRENT_USER\Software por lo tanto esta parte de la senda de una entrada del registro debemos omitirla en los parámetros.
    • El parámetro Fórmula de clave raíz es una subrama de Software. Normalmente valdrá Velneo.
    • En el parámetro Fórmula de senda de sección se especifican una o múltiples subcarpetas de la clave raíz, separadas por doble slash \\.
    • El parámetro Fórmula de entrada contiene el nombre de la clave que vamos a leer o escribir
    • La Fórmula de dato contiene la expresión de tipo fórmula que devuelve el valor de cadena o número que vamos a excribir.

Ejemplos:

  • Configuración del sistema: Escribir cadena de texto ( “Velneo”, “Mis_APPS”, “Path_Librerías”, $APP_INFO_CARPETA_LIBRERIAS@MiAplicacion.dat )
  • Configuración del sistema: Leer cadena de texto ( “Velneo”, “Mis_APPS”, “Parametro1”, CPARAMETRO_1 )
  • Configuración del sistema: Escribir cadena de texto ( “Velneo”, “ExtReport”, “zintdir”, sysCacheClientPath)
  • Configuración del sistema: Escribir cadena de texto ( “Velneo”, “WebBrowser\\websettings”, “enableJavascript”, “true” )

¿Qué secciones de la clave Velneo nos pueden interesar para nuestras aplicaciones?

Si revisamos por orden alfabético algunas de las secciones que utiliza Velneo, podemos destacar las siguientes entradas:

HKEY_CURRENT_USER\Software\Velneo\ExtReport\zintdir

Esta configuración es utilizada por VReport para localizar la utilidad de creación de códigos de barras Zint (zint.exe, zint.dll y zlib1.dll).
Podemos adjuntar en nuestro proyecto los 3 ficheros de la utilidad Zint y en el Pre_Init del marco Autoexec ejecutar el comando

Configuración del sistema: Escribir cadena de texto ( “Velneo”, “ExtReport“, “zintdir“, sysCacheClientPath)

HKEY_CURRENT_USER\Software\Velneo\SerialPorts\

En esta sección se guarda la configuración de los Dispositivos series que el usuario utiliza desde la aplicación mediante el comando Puerto serie: Configurar dispositivo.
Por ejemplo, la configuración del objeto Dispositivo serie ARDUINO_PLACA del proyecto de aplicación se guardará en la clave siguiente:

HKEY_CURRENT_USER\SOFTWARE\Velneo\SerialPorts\41mcn2yd.vca\ARDUINO_PLACA

La clave se creará únicamente cuando el usuario cambia la configuración del Dispositivo serie que viene por defecto con la aplicación.

HKEY_CURRENT_USER\SOFTWARE\Velneo\vAdmin\

El componente vAdmin.exe lee las claves LastServer, Servers y LastUser de la sección vAdmin para usarlas como valores iniciales en la ventana de Login.

HKEY_CURRENT_USER\SOFTWARE\Velneo\vClient

El componente vClient.exe también dispone de las claves LastServer, Servers y LastUser para inicializar la ventana de Login.

Las secciones DebuggerV7 y DebuggerJS guardan algunos aspectos del interface de ambos depuradores de código. Si eliminamos ambas secciones al inicio de nuestra aplicación conseguiremos tener siempre el depurador con el mismo aspecto.

La sección EditorFormulasDlg determinará el aspecto del Editor de fórmulas en tiempo de ejecución.

La sección MainWindow guarda para cada usuario/servidor/instancia/ el aspecto de la ventana principal de la aplicación (posición, tamaño, maximizada, …).

Si nuestra aplicación accede a Internet a través de un Servidor proxy con o sin seguridad, la sección proxy contendrá los parámetros de acceso.

HKEY_CURRENT_USER\SOFTWARE\Velneo\vDataClient

El componente vDataClient.exe dispone también de claves para configurar la ventana de login, tamaño de la ventana principal y el aspecto visual del interface.

HKEY_CURRENT_USER\SOFTWARE\Velneo\WebBrowser

Esta sección se corresponde con la configuración del Visor HTML de Velneo accesible a través del botón de la Barra de Herramientas.

Hay que tener en cuenta que esta configuración es común a todos los componentes de Velneo que usen el Visor HTML en la misma máquina y con el mismo usuario conectado. Esto quiere decir que si desde vDevelop se cambia la configuración del Visor HTML, ésta afectará a los Visores HTML de todas las aplicaciones que ejecutemos con el componente vClient. Si desde una aplicación, por ejemplo, cambiamos la clave enableJava a false, el resto de aplicaciones que ejecutamos con el mismo vClient tendrán también el java desactivado en el Visor HTML.

VAF_04_WEBBROWSER

Así que esto es lo mismo que si configuramos el explorador web de la máquina que usarán todas las aplicaciones del usuario conectado.

HKEY_CURRENT_USER\SOFTWARE\Velneo\Mis_APPS

Por supuesto, nosotros también podemos tener nuestra propia sección dentro de la raíz Velneo, por ejemplo Mis_APPS.

Algunos ejemplos de uso:

  • Path de la carpeta con nuestras librerías javascript que usaremos desde el Visor HTML: Mis_APPS\Path_Librerias = D:/MisLibrerias
  • Path del ejecutable del visor para ficheros PDF: Mis_APPS\Path_VisorPDF = C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Acrobat.exe
  • Valor devuelto por una utilidad externa: Mis_APPS\Resultado_AutoIt3 = resultado
  • Valor del parámetro pasado a la Aplicación: Mis_APPS\Parametro1 = valor del parámetro

Para pasar un parámetro a nuestra aplicación Velneo creamos el siguiente archivo de comandos miAPP_parametros.cmd

@ECHO OFF
 REM Comprueba si hay parámetros
 IF %1.==. GOTO INICIAR
REM Escribe el parámetro en el registro para que lo lea vClient
 REG ADD HKCU\Software\Velneo\Mis_APPS /v Parametro1 /t REG_SZ /d %1 /f
REM Inicia la Aplicación Velneo y cierra el batch
 :INICIAR
 START "VELNEO" "C:\Program Files\Velneo\vClient.exe" vatp://Mi_Usuario:@127.0.0.1/Mi_Aplicacion
 EXIT

Conclusiones

    • A través de las opciones de Configuración del sistema podemos establecer y reiniciar el aspecto visual de los componentes de Velneo.
    • Es también una forma de comunicarnos con aplicaciones de terceros recibiendo parámetros o resultados de otros cálculos.
    • Todas las opciones deben colgar siempre de la rama HKEY_CURRENT_USER\Software\Velneo a la que el usuario tiene siempre acceso total.
    • Hay que tener en cuenta que solo podemos escribir y leer valores de texto o números enteros (ver los comandos de Configuración).
    • Aunque hemos visto el detalle en el sistema operativo Windows, los comandos de Configuración del sistema son multiplataforma.

¿Preparado para utilizar los comandos de configuración del sistema? 

Me gustaría escuchar tu opinión. Déjame un comentario más abajo.

La entrada Comandos de Configuración del sistema aparece primero en AyudaVelneo.


Próxima publicación de Velneo V7 7.14.2

$
0
0

Acaba de anunciarse la aparición de Velneo V7 7.14.2 de la plataforma de desarrollo Velneo V7 para la última quincena de noviembre. Velneo «se ha centrado en la resolución de incidencias, con el foco dirigido a mejorar la estabilidad de la plataforma«.

La nueva versión 7.15 de momento tendrá que esperar hasta Marzo de 2014 en la que se migrará la plataforma a Qt5

La entrada Próxima publicación de Velneo V7 7.14.2 se publicó primero en AyudaVelneo.

V7 7.14.2 ¿le damos el gallifante a Velneo?

$
0
0

Ayer por fin se desveló el misterio: la versión 7.15 de la plataforma Velneo verá la luz en marzo de 2014 (dicho así parece un estreno de Hollywood). El personal se estaba impacientando y ya estaban preguntando por el foro la fecha de aparición de la nueva versión. En el mismo post se anunciaba la salida de la versión V7 7.14.2 a finales de este mes de noviembre.

A priori me parece una decisión mas que acertada… aunque con matices. Si quieres saber mi opinión al respecto y saber que es un gallifante (si tienes mas de 40, como Pepeto te acordarás de lo que es) sigue leyendo.

GallifanteUn gallifante era un muñeco mas bien horroroso (que como su nombre indica era mitad gallina, mitad elefante) que se entregaba en un concurso a quien participaba en él según iban acertando preguntas (es este muñeco de la derecha)… Pues vamos a ver cuantos se lleva Velneo con esta decisión.

Parto de la base de que no soy betatester de la plataforma por lo que no os puedo decir las incidencias resueltas, además de nuevas funcionalidades, que aparecerán en V7 7.14.2 (aunque si lo fuera tendría un contrato de confidencialidad y tampoco os lo podría decir… jejeje)

Esperar para publicar la versión 7.15

Si yo fuese Velneo hubiese hecho lo mismo con la versión 7.15, es decir esperar a marzo de 2014 para su publicación, por tres motivos:

  • A nivel comercial y de marketing: gallifante para Velneo. No olvidemos que a finales de febrero tendrá lugar el evento Life is Soft 2014. No hay que ser un lince para ver que será en el evento cuando se presente la nueva versión para su posterior publicación en marzo de 2014
  • A nivel técnico: otro gallifante para Velneo. Dentro de las ponencias del evento hay un espacio reservado para que vArquitecto presente las novedades de la nueva versión… simplemente por ver a Juan Muñoz-Cobos hablando de su criatura merece la pena ir al evento (esto me recuerda que todavía no tengo la entrada). Además ya se ha anunciado la migración de la plataforma a qt5
  • Resolución de incidencias en V7 7.14.2: gallifante pero con matices (te los contaré mas adelante). Según han anunciado en el foro, esta versión está centrada en la resolución de incidencias, con el foco dirigido a mejorar la estabilidad de la plataforma. Para mí es un acierto resolver todos los bugs posibles antes de cambiar parte de la arquitectura para la implementación de qt5. Sobre todo si se han resuelto algunos que llevan coleando desde las primeras versiones de la plataforma.

Publicación de la versión v7 7.14.2

Precisamente esta semana hablaba con un viejo amigo (porque lo conozco desde hace tiempo no porque sea mayor… que también) sobre Velneo V7. Él ha trabajado (y lo sigue haciendo) sobre las versiones anteriores de velneo 5x y 6x pero no ha dado el paso a la versión 7. De hecho me estuvo comentado que estaba evaluando windev para sus futuros desarrollos.

Durante la conversación que mantuvimos me argumentaba que no veía estable la plataforma, que seguía teniendo demasiadas incidencias y que según su opinión le faltaban funcionalidades que tienen otras plataformas para el tema web, mobile, etc.

Yo le replicaba que la plataforma ya estaba estable, que se puede desarrollar sin problemas y que con la apertura a JavaScript ya se puede hacer casi de todo. Además le decía que con la futura implementación de qt5 tendríamos acceso a ios y el cliente para android dejaría de estar en beta…. él me decía que si…. pero que en el futuro.

Cuando volvamos a hablar y vea que ha aparecido la versión V7 7.14.2 en la que se han «centrado en la resolución de incidencias, con el foco dirigido a mejorar la estabilidad de la plataforma» me tocará darle la razón y lo que mas me dolerá será pagar las cañas.

Supongo que a los desarrolladores que estén evaluando usar Velneo V7 para sus futuras aplicaciones, también les chocará que estando en la versión 14, todavía se publiquen estas versiones centradas en la resolución de incidencias para mejorar la estabilidad de la plataforma.

¿Qué opinas al respecto? ¿Habrías sacado la versión V7 7.14.2? ¿Habrías esperado a publicar todo en la versión 7.15? Espero tus comentarios mas abajo

La entrada V7 7.14.2 ¿le damos el gallifante a Velneo? se publicó primero en AyudaVelneo.

Formación en Velneo V7

$
0
0

Me han llegado algunos e-mails y mensajes en los que me preguntaban si este año iba a realizar el «Campus de Verano» de formación en Velneo V7. Algo haré… La razón es que este verano voy a estar entretenido dando los cursos de formación online oficiales de Velneo.

En el post anterior os decía que el blog. después de dos años de siembra, estaba comenzando a dar los primeros frutos. Uno de ellos ha sido este.

Durante los meses de verano voy a estar impartiendo los seminarios básico y avanzado de Velneo V7. Además también seré el encargado de realizar el seminario introductorio «Tu primera aplicación desde 0». Estos serán los contenidos y las fechas de los seminarios:

Tu primera aplicación desde cero.

En este seminario te enseñaremos a desarrollar la primera aplicación con Velneo. Crearás una aplicación sencilla de gestión de contactos. Está dirigido a personas que nunca han desarrollado aplicaciones empresariales o que se quieran iniciar en Velneo.

Será uno mensual durante los meses de junio, julio agosto y septiembre. El próximo será el día 9 de julio

Desarrollo con Velneo. Nivel básico

Seminario básico Velneo V7

En este seminario teórico-práctico de dos sesiones, se abordará la forma de iniciarnos con la plataforma de desarrollo de aplicaciones empresariales Velneo V7. Está dirigido a desarrolladores que quieran profundizar en Velneo V7.

Este seminario se impartirá en los meses de junio y agosto. El próximo tendrá lugar los días 17 y 18 de junio.… ¡Hoy y mañana!

Desarrollo con Velneo. Nivel avanzado

En este seminario de carácter práctico, repartido en tres sesiones, se abaordarán conceptos avanzados con el único objetivo de que logréis dar ese paso que os permita aprovechar todas las funcionalidades de Velneo V7. Está dirigido a desarrolladores de Velneo con experiencia.

Este seminario se impartirá en los meses de julio y septiembre. El próximo tendrá lugar los días 15, 16 y 17 de julio.

Espero verte por alguno de estos seminarios de formación en Velneo V7

La entrada Formación en Velneo V7 se publicó primero en AyudaVelneo.

¿Has probado ya la versión 7.18 de Velneo V7?

$
0
0

El pasado martes 20 de octubre, vio la luz la Versión 7.18 de Velneo V7. Aparte de las novedades destacadas (que ahora pasaré a numerar), quiero agradecer al equipo de desarrollo la mejora en la usabilidad de vDevelop (la de veces que me habré acordado de ellos al cambiar de proyecto…).

Me he puesto en contacto con algunos desarrolladores para conocer su opinión sobre la nueva versión. ¿Quieres saber lo que me han comentado?… pues sigue leyendo.

Principales novedades de la versión 7.18 de Velneo V7?

Antes de conocer la opinión de los desarrolladores vamos a resumir las novedades principales que han aparecido con la nueva versión:

Versión 7.18 de Velneo V7

Versión 7.18 de Velneo V7

  • Posibilidad de ejecutar procesos en 4º plano. Este «4º plano» nos va a permitir lanzar procesos en 2º plano del servidor de forma asíncrona. Los recálculos de tus aplicaciones te lo agradecerán.
  • Nuevo componente vTutor: Integrado dentro de la plataforma ahora está disponible el nuevo recurso formativo vTutor que incluye un buen número de tutores así como buenas prácticas de desarrollo a incluir en nuestras aplicaciones.
  • Importador SQL: Nuevo importador SQL integrado dentro de vDevelop
  • Actualización de vModApache a la versión 2.4 de Apache
  • Depurador de JavaScript integrado dentro de vDevelop
  • Nueva versión de vErp integrando remesas de cobros, asientos anuales y una nueva gestión de salones en QML
  • Nueva clase estándar XMLHttpRequest para integrar nuestras aplicaciones con servicios Web.

A medida que vaya probando la versión, iré comentando mis impresiones al respecto.

¿Qué opinan los desarrolladores de la nueva versión?

Como os comentaba al principio, me he puesto en contacto con algunos desarrolladores para conocer su opinión sobre la nueva versión 7.18 de Velneo V7. Los he realizado 5 preguntas sencillas:

  • 1.- ¿Qué destacarías de la nueva versión 7.18 de Velneo V7?
  • 2.- ¿Qué novedad esperabas que saliese en esta versión y no ha salido?
  • 3.- ¿Cumple la versión 7.18 con tus expectativas?
  • 4.- ¿Qué novedades esperas para la nueva versión 7.19?
  • 5.- Si quieres añadir algo mas… ahora es el momento

y estas han sido sus impresiones

Jorge Hontoria de Tipesoft

Jorge ha sido el mas «escueto» de los desarrolladores. Esperare para leer sus impresiones en su blog como cada salida de versión. Mientras, esto es lo que me comentado.

  • 1.- ¿Qué destacarías de la nueva versión 7.18 de Velneo V7?:
    El debugger JavaScript, XMLHttpRequest y las correcciones de vModApache
  • 2.- ¿Qué novedad esperabas que saliese en esta versión y no ha salido?: Cliente de iOS
  • 3.- ¿Cumple la versión 7.18 con tus expectativas?: No en algunos aspectos, fundamentalmente en el apartado de movilidad.
  • 4.- ¿Qué novedades esperas para la nueva versión 7.19?: Cliente de iOS y soporte completo para QtQuick 2.x​
  • 5.- Si quieres añadir algo mas… ahora es el momento:

Fernando García de AXR Technology

Fernando fue el «escéptico» afortunado en el sorteo de navidad que realicé hace algunos años en el blog y desde entonces hemos seguido manteniendo el contacto. Gran conocedor de la plataforma, quería conocer también sus impresiones.

  • 1.- ¿Qué destacarías de la nueva versión 7.18 de Velneo V7?:
    Realmente ninguna de las principales novedades presentadas era por mi la más esperada. Tal vez destacaría el depurador de javascript. Para mi, lo más importante que se ha presentado en esta versión son dos novedades-soluciones que estaba esperando: solución de acceso por ODBC desde Microsoft Office a Velneo y modificar el tiempo de desconexión del vClient desde el registro.

    Con la primera opción cumplo una demanda de mis clientes que quieren acceder a Velneo desde Excel y con la segunda soluciono un problema que tenía en movilidad, con tablets windows y su sistema de ahorro de energía.

  • 2.- ¿Qué novedad esperabas que saliese en esta versión y no ha salido?: Esperaba una mejor gestión de las copias de seguridad: poder ejecutar una copia cuando se desee, restauración, descarga del backup desde el vAdmin o mejor aún desde ftp… Es decir, una mejora completa del sistema de backups que creo es necesario
  • 3.- ¿Cumple la versión 7.18 con tus expectativas?: Sí, las cumple desde algunas versiones. En mi caso, no he necesitado ninguna característica para algún proyecto que no haya podido abordar hasta ahora. Eso no significa que las nuevas características no me sean muy útiles y me hagan la vida más sencilla y que sigan mejorando la plataforma.
  • 4.- ¿Qué novedades esperas para la nueva versión 7.19?: Algunas funcionalidades necesarias para mi sería la posibilidad de bloquear el número de usuarios a una instancia (bien valdría una clase para manejar enganches), completar la gestión de copias de seguridad, vClient IOS..​
  • 5.- Si quieres añadir algo mas… ahora es el momento:

José Luís López Delgado (Pepeto)

Hacía tiempo que no teníamos noticias de Pepeto y me apetecía saber sus impresiones al respecto.

  • 1.- ¿Qué destacarías de la nueva versión 7.18 de Velneo V7?:
    Principalmente XmlHttpRequest, era necesaria una integración con el resto del mundo.
  • 2.- ¿Qué novedad esperabas que saliese en esta versión y no ha salido?: La verdad es que no esperaba nada en concreto, las últimas versiones han sido tan «Light», que cualquier cosa que apareciera sería bienvenida, así que la respuesta correcta es: ¡Han aparecido muchas más novedades de las que esperaba!
  • 3.- ¿Cumple la versión 7.18 con tus expectativas?: No demasiado, pero como no tenia grandes ilusiones de lo que podría venir, la verdad es que me ha sorprendido gratamente.
  • 4.- ¿Qué novedades esperas para la nueva versión 7.19?: No espero nada, y es mejor así, es la mejor forma de no sentirse decepcionado, así todo lo que venga será bienvenido. Porque las últimas versiones fueron una completa decepción.​
  • 5.- Si quieres añadir algo mas… ahora es el momento: En realidad, creo que da igual lo que opinemos, porque Velneo no escucha a la comunidad, la oye, pero no la escucha.

    Me agradaría enormemente que las novedades como XmlHttpRequest, Importador SQL fueran un primer paso de la apertura que tanto se le ha pedido a Velneo, pero si miramos atrás, las probabilidades de que ese sea el camino en el futuro, son pocas. Aunque estaré encantado de equivocarme.

    SQL lejos de que pueda ser una base de datos «obsoleta» como han dicho algunos, cubre toda la extensión de mares y océanos del planeta, mientras el resto de bases de datos propietarias se comen las migajas y solo llegan a ser lagos y ríos en comparación. Y si tenemos esto en cuenta, esa dependencia total de nuestra querida base de datos «Velneo», nos cierra las puertas a un mercado inmenso en el que no podemos navegar con nuestro «barco».

    Una cosa mas, tener un Roadmap, no solo es desvelar los secretos mejor guardados del universo como piensa Velneo, tener un Roadmap, es tener informados a los subcriptores que te pagan la nomina todos los meses, y que desean saber a que se dedica la gente que trabaja en Velneo y a la que esta pagando. Estoy de acuerdo que tener contentos a muchos clientes es complicado, porque nunca llueve a gusto de todos, pero aunque no podamos elegir cuando llueve, eso no significa que no queramos saber que va a llover, para tener nuestro paraguas preparado. Tener un Roadmap no es informar de nuestras novedades a la competencia, podría serlo, pero no lo es cuando la competencia nos saca varios años de ventaja. Tener un Roadmap, podría ser un problema si se anuncian funcionalidades que no llegarán nunca, pero eso se resuelve también informando de las novedades que ya han quedado terminadas, y dudo mucho que Velneo termine todas las funcionalidades 15 días antes de la salida de la versión, cuando entregan las betas a los betatesters, como entiendo que las funcionalidades se van terminando de forma secuencial, y a lo largo de los 6 meses que dura ese periodo entre versiones, bastaría que publicarán solo aquellas que han quedado completadas.

    Que Velneo apueste por vJavaScript, es estupendo, pero debería pensar también en sus raíces, y que no ha sido JavaScript el que ha puesto a Velneo donde está, y creo que para ser justos, y dado que JavaScript tiene mucho peso, pienso que la herramienta debería evolucionar en paralelo, y cuando sale una nueva funcionalidad u objeto, debe hacerlo como Objeto nativo y también en JavaScript, por ejemplo, seguimos sin objetos gráficos nativos en Velneo, aunque si, se puede suplir fácilmente con librerías JS, pro incluso siendo JS, es externo, ni siquiera es vJavaScript.

    Una de las armas que siempre ha dado fuerza a Velneo, ha sido la refactorización, cambias un identificador y «voila», todo queda cambiado al instante, así era antes, pero desde que todo es vJavaScript, la refactorización se fue al garete, y si no, haced la prueba, coged vERP y renombrad las tablas para hacer un «Fork» y podréis comprobar lo bien que funciona la «personalización», vClient rompe 9 de cada 10 veces que ejecutas y eso te lleva a la desesperación y a pensar que la 10ª que si ha funcionado, lo ha echo por error.

    Que el puerto 690 del vServer haya que solicitarlo en la licencia y no sea modificable es un problema, porque la licencia la compramos inicialmente para equipos diferentes, pero si llegada la necesidad, nos vemos obligados a instalar en la misma máquina, tenemos que dejar una licencia en el cajón. Solución, que el puerto sea configurable durante la instalación, no se si será pedir mucho.

    Seguimos sin 64 bits, quizá si pudiéramos tener 2 vServers de 32 en la misma máquina podríamos sumar los 64. (Esta iba de coña), pero en serio, seguimos sin 64 bits y al paso que vamos, cuando tengamos 64 bits, el resto de empresas tecnológicas estarán trabajando con 128 bits (pero entonces podremos hacer lo mismo y poner 2 vServers de 64 y resuelto)

Víctor Mundó de Idean

Víctor, desarrollador especializado en programas de gestión específicos para Andorra, también se ha sumado a la encuesta y estas han sido sus impresiones..

  • 1.- ¿Qué destacarías de la nueva versión 7.18 de Velneo V7?:
    Las mejoras a nivel vDevelop que facilitan la vida del programador

    -El importador SQL para importar nuevos clientes puede ser interesante y ahorrarnos mucho tiempo en la implementación de un nuevo cliente. Además el hecho de poder utilizar web services puede dar un valor añadido de nuestra aplicaciones.

  • 2.- ¿Qué novedad esperabas que saliese en esta versión y no ha salido?:

    Como dijeron durante la presentación el número de incidencias abiertas en vErp es 0 por lo tanto no esperaba nada que no haya salido aunque siempre hay mejoras posibles en un programa y al utilizar la nueva versión seguro que salen cosas que mejorar.

  • 3.- ¿Cumple la versión 7.18 con tus expectativas?: A dia de hoy si, quizás cuando trabajemos con la nueva versión encontraremos cosas a mejorar.
  • 4.- ¿Qué novedades esperas para la nueva versión 7.19?: Sobre todo, algo relacionado con el vClient IOS..​
  • 5.- Si quieres añadir algo mas… ahora es el momento:
  • Paco Satué

    No podía faltar uno de los mayores conocedores de la plataforma y asiduo «profe» en el foro. Esta es su opinión:

    • 1.- ¿Qué destacarías de la nueva versión 7.18 de Velneo V7?:
      En la versión 7.18 se da carpetazo a 3 temas que ya llevaban tiempo en el horno, el depurador de javascript, el objeto XmlHttpRequest y los procesos asíncronos en el servidor o 4º plano. Velneo hace autocrítica con la usabilidad de la plataforma y se compromete a mejorarla.
    • 2.- ¿Qué novedad esperabas que saliese en esta versión y no ha salido?: Que ya podríamos beneficiarnos de las nuevas funcionalidades que nos aporta QT5.x y QML2.0. Parece que se hayan desvanecido las promesas de los últimos Life is Soft.

      – El API debería estar creciendo exponencialmente con nuevas clases, mejora y depuración de las existentes con cientos de ejemplos.

      -¿Qué pasa con vTools?. Podría ser un buen escaparate de Velneo para difundir buenas técnicas de programación con el API y Javascript.

      – Esperaba que lo de la Usabilidad se planteara de otra forma. Es poco eficiente retocar algunas cosas aquí y allí. Debe plantearse un proyecto global de modernización del interface, homogeneizando pantallas y controles de todos los componentes.

    • 3.- ¿Cumple la versión 7.18 con tus expectativas?: La progresión de Velneo es desesperadamente lenta y ya me estoy acostumbrando a esperar poco con cada nueva versión. Quizás así consigo que me sorprendan la próxima vez.
    • 4.- ¿Qué novedades esperas para la nueva versión 7.19?: No espero novedades. Solo deseo que se completen las promesas pendientes: una verdadera multiplataforma a nivel de vClient, cerrar el ciclo de adaptación a QT5 para aprovecharnos del potencial gráfico, de conectividad y de movilidad que nos aportaría. Me gustaría ver de una vez por todas verdaderas Demos de aplicaciones finales en Android, IOS, Tablets Windows y uso avanzado de QML.​
    • 5.- Si quieres añadir algo mas… ahora es el momento: Si queremos una verdadera movilidad tenemos que disponer de 2 mecanismos Life is Soft imprescindibles: vClients desconectados y sincronización de datos con el vServer.

    Juan José Castro de Click Aplicaciones

    Me interesaba conocer la opinión de Juanjo, con el que colaboro habitualmente como desarrollador, sobre este tema.

    • 1.- ¿Qué destacarías de la nueva versión 7.18 de Velneo V7?:
      Sin duda alguna por las posibilidades que puede ofrecer, la clase XmlHttpRequest
    • 2.- ¿Qué novedad esperabas que saliese en esta versión y no ha salido?: como realizar la compresión y envío a través de ftp a una url de las copias de seguridad
      .-demonios nativos incrustados en el adn del servidor no por proceso,
      .-QML, ejemplos y vin practicos
      .-apis nativas para gestión dispositivos Android : sensores, posicionamiento, nfc, cámaras
      .-IOS
    • 3.- ¿Cumple la versión 7.18 con tus expectativas?: No
    • 4.- ¿Qué novedades esperas para la nueva versión 7.19?: Ejemplos, documentación, vin funcionales de esos mismos ejemplos,
      – 64 bits ,
      – gráficos nativos
      – para el consumo de webservice documentación y código ejemplo de algunas de las frecuentes, que se yo el tiempo, las búsquedas en google, o el marca pero algún ejemplo de consumo y exposición del servicio
      – visores on line para los principales tipos de documentos pdf,xml, doc, excel
      – corrección de bugs de TRACA :
      -> dobles señales,
      -> señales que se pierden o no funcionales,
      -> drag&drop que pierden la multiseleccion
      -> Objetos florero como el multivista sobre el que ni siquiera puedes controlar el tamaño en pantalla
      -> Objetos Menú mucho más dinámicos estilo punto inserción y disparas acciones.
      -> Posibilidad de sustitución de los iconos en stock
      -> Cambio del editor utilizado para procesos js
      -> Corrección y mejora de las notificaciones internas
      -> Posibilidad de utilizar en 3 plano la librería v2Excel y ejemplos de por ejemplo construcción de gráficos con ella
    • 5.- Si quieres añadir algo mas… ahora es el momento:

    ¿Qué te ha parecido a ti la versión 7.18 de Velneo V7? ¿Ha cumplido con tus expectativas? Déjame tu opinión mas abajo en los comentarios.

    Además si te ha parecido interesante este artículo puedes suscribirte al blog y al canal de youtube y sobre todo… no dudes en compartirlo por las redes sociales.

    La entrada ¿Has probado ya la versión 7.18 de Velneo V7? se publicó primero en AyudaVelneo.

Algunos conceptos que debemos tener claros sobre Velneo V7.

$
0
0

Presentamos esta nueva sección de «Velneo a fondo» con 2 objetivos principales:

  • Explicar en detalle los comandos y características de la plataforma de desarrollo Velneo.
  • Mostrar trucos y ejercicios prácticos que hagan más divertido programar con Velneo.

Los artículos de esta sección serán una fuente de información de aquellos aspectos de Velneo que no encontramos en el manual de ayuda.

Cogeremos un comando o funcionalidad de Velneo y explicaremos a fondo sus características más útiles e interesantes para el programador.

También habrá como no, trucos que hagan más sencillo y divertido programar con Velneo. Finalmente diseñaremos pequeñas aplicaciones, planteadas como ejercicios prácticos que pongan a prueba nuestros conocimientos.

No pretendemos enseñar a programar, sino conocer a fondo Velneo de tal forma que facilite el desarrollo de nuestras aplicaciones.

Queremos que los artículos sean útiles tanto a los programadores que empiezan a conocer la herramienta como a los que ya llevan tiempo con ella.

Antes de meternos en materia y como primer artículo de Velneo a fondo vamos a enumerar una serie de conceptos que consideramos interesantes tener claros. Es una lista que irá creciendo en próximas entregas y conviene revisarla periódicamente para comprobar que tenemos claros los conceptos básicos de Velneo.

Conceptos básicos sobre Velneo V7

vDevelop

Con vDevelop estamos editando los proyectos de Aplicación (código fuente) y los proyectos de datos (estructura de las tablas). En ningún caso con vDevelop generamos contenido en las tablas (las tablas estáticas no cuentan).

En vDevelop, cada vez que pulsamos F5, se producen las mismas acciones que realiza el VIN en Producción, se reinicia la Solución en desarrollo con los cambios realizados (código fuente y estructura de tablas).

En alguna ocasión necesitamos cambiar el identificativo de un campo, pero esto produce la pérdida de los datos ya existentes en ese campo.

El subobjeto Traspaso de campo facilita la migración de información entre campos de una Tabla y el control de versiones. De esta forma ya podremos cambiar el identificativo de los campos y traspasar los datos antes de eliminar el campo original.

Lo que se llama migración masiva de datos no tiene nada que ver con los ficheros .VIN, éstos actualizan la estructura de tablas y las migraciones habrá que programarlas con código fuente en la aplicación.

Los nombres de las Tablas nunca deben cambiarse o habrá problemas en la actualización.

En el editor de informes nativos las reglas están en pulgadas y los valores de las propiedades se deben poner en pixeles:
100px = 1pulgada = 2,54cm.

Esto vale para los tamaños de los controles, pero para los márgenes se sigue otra equivalencia:
Márgenes -> 50px = 1pulgada = 2,54cm

Aunque la calidad del renderizado en pantalla de los Informes nativos es deficiente, el comando de proceso “Imprimir Informe” y generar PDF mejoran considerablemente la calidad de impresión.

Usar siempre Aspecto de dibujo = Proporcionar para que los dibujos salgan al tamaño deseado.

Los objetos por sí mismos no muestran Listas de registros, necesitan que en el flujo de ejecución el objeto anterior haya creado una Lista (o Ficha) de la misma Tabla asociada al objeto destino.

Las Vistas de Datos permiten concentrar varios objetos en un flujo para que el resultado sea la Lista (o Ficha) mostrada en el control visual  (rejilla, formulario, casillero, …).

El comando de instrucción Recalcular (Vista de datos) vuelve a Disparar los objetos que integran el control Vista de datos para obtener de nuevo la Lista. Es decir, se vuelven a comprobar todos los parámetros que conforman la Vista de Datos.

Desde un Manejador de Evento de un Formulario no tenemos Acceso a los Manejadores de Evento de los subobjetos de dicho formulario.

Los procesos siempre ejecutan los formularios en Modal (Ventana de Diálogo). Para mostrar el formulario No Modal necesitaremos ejecutar una Acción que establezca un flujo nuevo.

Todos los objetos de las Bases de datos (Triggers, Actualizaciones,…) se ejecutan siempre en el servidor.

Los planos de ejecución son absolutos: 1º plano en cliente, 2º plano en cliente multitarea y 3º plano en servidor.

El plano donde realmente se ejecutará el objeto dependerá del plano absoluto en el que se encuentre el objeto llamador.

Así un proceso en 3º plano ejecutará todos los objetos subsiguientes en el servidor, independientemente del valor del parámetro Plano de ejecución.

Los objetos (incluso los procesos) no pueden dispararse (Disparar Objeto) en 2º plano, porque necesitan de un handle local al proceso llamador.

Las Listas (y las Fichas) únicamente guardan un puntero interno al registro físico de la Tabla en el vServer.

Los registros físicos de las tablas llevan asociado un número de registro o puntero interno (no es el ID) que sirve como puntero para las Listas y Cestas. Tiene un tamaño de 4 Bytes (4.294.967.295). Es el número que aparece a la izquierda en las rejillas.

Las Cestas son Listas de punteros a registros de una tabla. No almacenan información, solo apuntan a los registros.

La Caché de fichas acelera la carga de los datos en Local. Cuando establecemos una transacción de lectura/escritura se fuerza siempre la lectura de la ficha desde el Servidor para tener siempre la última versión.

Lo que viaja entre cliente y servidor son listas de punteros, no fichas completas de campos. La ficha completa se cargará solo cuando vClient necesita acceder a un campo de la ficha.

El Bloqueo Blando es el que realizan los formularios por defecto. El Bloqueo Duro es el que realizan los Procesos que transaccionan y los formularios con Estilo = Bloqueo Duro.

En Bloqueo Blando las transacciones son independientes para cada tabla. En Bloqueo Duro la transacción es global a todo el Proceso o Formulario.

El Refresco terciario no se produce en formularios Modales.

Las Funciones en 1º Plano siempre generan transacción independiente, aunque ya estén dentro de otra transacción. En 3º Plano las Funciones se integran en la transacción abierta.

Las Variables Globales en disco se comparten por el Cliente y el Servidor. Usarlas para leer datos globales una vez, almacenando su valor en una variable global en memoria.

Las Variables Globales en memoria no se comparten entre el Cliente y el Servidor.

Las Tablas en memoria pueden usarse para dar de Alta registros de manera diferida en 2º plano.

Las Tablas en memoria no se comparten entre Cliente y Servidor.

vServer

vServer de forma nativa tiene los mecanismos necesarios para actualizar una Aplicación en Producción de forma segura y fiable, no necesitamos herramientas externas.

Para actualizar una aplicación podemos prescindir del fichero .VIN y como alternativa, simplemente copiamos los ficheros de los proyectos de aplicación (vca) y de datos (vcd). Una vez copiados es suficiente con reiniciar la Solución.

Una determinada Solución solo puede ser reiniciada si no existe ninguna instancia en ejecución en otras Soluciones que la hereden.

Cada Instancia de datos apunta a una carpeta donde se guardan las Tablas de la Aplicación. Estas tablas son ficheros del sistema de archivos y pueden manipularse como tales.

Por ejemplo: cuando queremos sustituir la tabla auxiliar de Códigos postales por una nueva, simplemente paramos la Instancia de Datos y sustituimos los ficheros de dicha tabla (dat e idx). Por supuesto lo podemos hacer remotamente por FTP, SDV…

vInstallBuilder

Una vez terminado el trabajo con vDevelop y probada la aplicación en desarrollo, se genera un fichero .VIN con vInstallBuilder. El fichero .VIN se compone únicamente de los proyectos de Aplicación y Datos, es decir, código fuente y estructura de las tablas.

Existe la opción, si es necesario, de añadir al VIN algunas tablas para que la Aplicación disponga de ellas. Por ejemplo: queremos incorporar a nuestra aplicación las tablas de Códigos Postales y Poblaciones.
Normalmente el VIN irá sin tablas (lo que se conoce como
VIN vacío), pero siempre irá con el código fuente y la estructura de las tablas (o sea la Solución).

El fichero .VIN es el que llevamos a Producción (Cliente). El fichero .VIN actualizará los proyectos de Aplicación y Datos del vServer.

Ahora viene lo más importante: cuando se reinicia la Solución, las instancias de Aplicación ejecutarán el nuevo código fuente y las instancias de Datos actualizarán la estructura de las tablas a partir de la nueva estructura del proyecto de Datos.
Las tablas que ya existen verán actualizada su estructura y las que no existen se crearán vacías, pero
NUNCA SE SOBRESCRIBEN DATOS.
Entonces no tiene sentido incorporar tablas al VIN, excepto cuando queremos instalar una Aplicación con datos de prueba o incorporar nuevas tablas auxiliares.

vClient

En sistemas Windows, analizando el Setup de vClient y el registro, observamos que Velneo no instala absolutamente nada, simplemente copia la carpeta Velneo/V7 con las librerías de QT, librerías C++, el vUpdater y el ejecutable vClient.exe.

Los paquetes de distribución de Runtimes C++ realmente sobran del Setup ya que pueden ser descargados de Microsoft e instalarse una sola vez por separado (ver https://support.microsoft.com/es-es/kb/2977003).

El cliente vUpdater no es necesario, si vClient no lo encuentra simplemente lo ignora y ejecuta la versión vClient disponible.

El uninstall-vclient.exe simplemente lo que hace es borrar la carpeta Velneo/V7. Se puede ejecutar en modo silencioso con /S.

Así que el despliegue de vClient puede consistir en empaquetar la carpeta de Velneo/V7 en un zip con los ficheros necesarios, copiarla a la máquina del cliente y descomprimirla en la carpeta que queramos.

Con esto podemos tener varias versiones de vClient ejecutando de forma simultánea.

Optimización

El campo Alfa 256 es el más rápido de gestionar de los campos alfanuméricos. No confundir con el tamaño del campo.

Índices. No abusar innecesariamente de ellos. Lleva su tiempo gestionarlos.

Los Índices Condicionados, aunque penalizan un poco, merecen la pena cuando se transacciona poco y se lee mucho.

Las Rejillas con campos de tipo objeto demoran la carga para evitar lapsus en la visualización de los registros.

¿Cuántos de estos «conceptos básicos sobre Velneo V7» conocías?. Ya sabes que valoro tus opiniones sobre los artículos… puedes dejarla mas abajo en los comentarios.

La entrada Algunos conceptos que debemos tener claros sobre Velneo V7. se publicó primero en AyudaVelneo.

Proyectos en Velneo: ¿Cómo estructurarlos?

$
0
0

Cuando comenzamos a desarrollar con la plataforma, una de las primeras cuestiones a resolver es la de cómo estructurar los proyectos en Velneo. Pues como diría un buen gallego: «depende».

En el post «¿Cuántos proyectos debe tener mi solución?» vimos que lo mas recomendable, es tener un solo proyecto de datos y un solo proyecto de aplicación.

En el post de hoy vamos a ver las ventajas y los inconvenientes de distintas formas de estructurar los proyectos en Velneo.

Estructurar los proyectos en Velneo

 

Tipos de estructura de proyectos en Velneo

Para saber la estructura que tienen que tener los proyectos, y por consiguiente nuestras soluciones, tendremos que responder a una serie de preguntas. Entre ellas podemos destacar las siguientes:

  • ¿Mi aplicación va a ser heredada por otras soluciones?
  • ¿Quiero facilitarle la vida a otros desarrolladores?
  • ¿Cómo voy a distribuir mi solución? ¿Como un todo?, ¿Por módulos?
  • ¿Quiero que mi solución sea la base de otras soluciones?
  • ¿Quiero tener distintas instancias por módulo. o una instancia para todos los módulos?

En función de lo que contestemos, tendremos que estructurar nuestros proyectos.

Proyectos «Monolíticos»

Son aquellas soluciones que tienen un proyecto de datos y un proyecto de aplicación. Un ejemplo de esta estructura de proyectos en Velneo es mi aplicación GTDenlanube.

Proyectos en velneo: Estructura monolítica

Estructura monolítica

Ideal cuando empezamos a desarrollar con Velneo V7. Evitamos complejidad.

Nos despreocupamos de crear tablas de extensión y herencia inversa.

Facilitan la herencia a otros desarrolladores.

No se puede trocear.

Dificulta el desarrollo colaborativo.

No es escalable al estar todos los módulos en el mismo proyecto.

Todo el peso está en la misma solución, con altos consumos de memoria a medida que añadimos funcionalidades. Si tuviesemos un ERP + CRM + TPV + CONTABILIDAD, tendríamos en una solo instancia todos los objetos... ahora imaginad mas módulos: cartera, producción, etc etc.

 

Proyectos «Verticales»

Son aquellas soluciones que tienen un proyecto de datos y varios de aplicación. Un ejemplo muy claro lo tenemos el vErp

Proyectos en Velneo: Verticales

Ya tenemos dos proyectos de aplicación perfectamente diferenciados: vTPV y vERP. Por lo tanto podemos instanciar por separado... aunque los datos siguen estando en la misma instancia.

Facilitan a los desarrolladores las personalizaciones sencillas

Los datos siguen estando en el mismo proyecto.

No es escalable

Proyectos «Horizontales»

Son aquellas soluciones que tienen varias soluciones independientes relacionadas por un proyecto que las hereda. Un ejemplo muy claro lo tenemos en los módulos de la plataforma PaaSOS de Tipesoft. Los módulos de PaaSOS tienen un único proyecto de datos y uno de aplicación…. heredando de un núcleo común (veremos este montaje «mixto» a continuación).

Proyectos en Velneo: Horizontales

Módulos completamente independientes.

Perfectamente escalables.

Peso de las soluciones repartido evitando consumos de memoria desmedidos.

Facilita la extensión de nuestras soluciones.

Facilita el desarrollo colaborativo.

Complejidad en la visibilidad de los datos. Unos módulos no tienen "conocimiento" de los datos de su solución hermana.

Imposible la herencia entre soluciones "hermanas". Si es posible mediante la API de Velneo.

Si queremos utilizar varias soluciones, tendremos que "empaquetarlas" en distintos packs.

Proyectos «Mixtos»

Son aquellas soluciones, generalmente de tipo Monolítico que heredan otras soluciones (del tipo que sean). Son aquellas soluciones que creamos para no tocar o ampliar la solución base y poder beneficiarnos de futuras actualizaciones de dicha solución: soluciones que creamos heredando vERP, soluciones que creamos heredando el núcleo de PaaSOS

Proyectos en velneo: Mixtos

Facilitan la instalación de nuevas versiones de nuestra solución base.

Perfectamente escalables.

Facilitan la extensión de la solución.

Facilitan el desarrollo colaborativo.

Complejidad en la herencia de soluciones.

No están recomendados para usuarios que comienzan con la plataforma. Necesitan conocimiento de estructuras avanzadas en Velneo V7.

 

¿Ves alguna ventaja o inconveniente mas en la forma de estructurar nuestros proyectos en Velneo?

Coméntame tu experiencia mas abajo.

La entrada Proyectos en Velneo: ¿Cómo estructurarlos? se publicó primero en AyudaVelneo.

Velneo 20 se presenta en sociedad

$
0
0

Pues si… ya tenemos la nueva versión de Velneo: Velneo 20.

Y aquí tenemos la primera novedad… cambia la nomenclatura de las versiones. A partir de esta versión, se acabo V7.7 + versión.

En este primer artículo vamos a ver las novedades mas destacadas que trae la nueva versión Velneo 20. En próximos artículos iremos viendo estas novedades en profundidad.

Novedades que vamos a encontrar en Velneo 20

La primera novedad que apreciamos al descargar la nueva versión, es que se han rediseñado todos los iconos de la plataforma (incluidos los iconos de los componentes)  para enfrentarse a las innovaciones de movilidad, HighDPI y sistemas operativos modernos. Para ello, se ha seguido la normativa de diseño Material creada por Google.

Aunque los iconos no han cambiado de lugar, al trabajar con vDevelop, como mínimo se hace rara la nueva imagen. Supongo que con horas de desarrollo nos acostumbraremos.

Velneo 20 y vDevelop

 

Otra de las novedades importantes es que las versiones de Windows en 64 bits ya están disponibles.

Esto significa que si todavía tenemos algún cliente con Windows XP, tenemos que jubilarlo. Velneo 20 no es compatible con esta versión del S.O.

Ya podemos ejecutar los componentes de Velneo 20 desde vDevelop

Simplemente gracias.

Cuando pasas muchas horas desarrollando, estos «pequeños» detalles se agradecen. El no tener que salir de vDevelop para poder lanzar vClient y no tener que cerrar vClient para abrir vDataClient nos ahorrará mucho tiempo.

Después de que Velneo «recordase» que pestañas teníamos abiertas al cambiar de un proyecto a otro…

Si en la siguiente versión cuando tenemos abiertas varias pestañas en el panel central y cerramos una de ellas, Velneo «recordase» la pestaña en la que estábamos y no nos activase la última que tenemos abierta, ya sería la leche. («posyaque» por si cuela)

Tubos de ficha y lista operativos

¡Por fin! Después de 20 versiones, tenemos los tubos de ficha y lista en perfecto estado de revista.

Para los desarrolladores que venimos de la versión 6x, estos objetos se echaban de menos.

A la hora de pasar registros de unas tablas a otras, ahorraremos unas cuantas líneas de código y unas cuantas variables, además de poder encapsular toda la funcionalidad en un sólo lugar.

Los veremos con mas detenimiento…

Nuevo inspector de «Objetos no usados»

En el menú de objetos, tenemos la nueva funcionalidad para buscar los «Objetos no usados directamente«.

Hasta ahora creábamos nuevos objetos en nuestros proyectos y en algunas ocasiones, eliminábamos alguna funcionalidad y se quedaban objetos que no eran utilizados en nuestra aplicación.

Con esta nueva funcionalidad podemos localizar todos estos objetos y eliminarlos… ¡Cuidado al eliminar! Puede que alguno de esos objetos se usen indirectamente.

velneo 20: objetos no usados

 

Rediseño del objeto rejilla avanzada

Al igual que con los tubos de ficha y de lista, el objeto rejilla avanzada necesitaba una actualización.

Se ha optimizado para su funcionamiento en cloud…

Habrá que probarla a fondo y ya os comentaré mis impresiones.

QML 2 al poder

Una de las novedades mas importantes de Velneo 20 es la inclusión de QML 2 para definir y ejecutar interfaces de usuario de última generación.

Nuevos componentes y nuevos módulos para ejecutar nuestras aplicaciones en múltiples dispositivos.

Lo mejor es que veamos estas novedades de forma práctica.

Para ello, he organizado un WEBINAR GRATUITO el próximo 22 DE NOVIEMBRE de 16:00 a 17:30 horas en el que contaré con la colaboración de Jorge Hontoria de Tipesoft que nos contará mediante ejemplos prácticos las novedades aparecidas sobre QML 2 en Velneo 20

¿A qué esperas para apuntarte?

La entrada Velneo 20 se presenta en sociedad se publicó primero en AyudaVelneo.


Comandos de Configuración del sistema

$
0
0

Velneo proporciona un conjunto de comandos que permiten escribir y leer entradas en el fichero de configuración del sistema operativo de una máquina. 

Aprovecharemos esta funcionalidad, al igual que lo hace Velneo, para guardar y recuperar información útil de nuestras aplicaciones.

configuración del sistema

En el sistema operativo Windows los valores de configuración del sistema se guardan en el registro accesible mediante el comando regedit.exe. En Linux, OS X, iOS y Android se guardan en ficheros de texto. En este artículo vamos a centrarnos en Windows, aunque en el resto de plataformas el funcionamiento es el mismo.

Para acceder al registro de Windows tenemos que ejecutar el comando regedit desde la ventana Ejecutar (Tecla Windows+R).

Desde nuestras aplicaciones solo tenemos acceso a la información del registro que cuelga de la rama HKEY_CURRENT_USER y concretamente Velneo guardará siempre todos los valores de configuración en la rama HKEY_CURRENT_USER\SOFTWARE\Velneo.

Rama HKEY_CURRENT_USER (HKCU)
En esta rama se encuentra la configuración del usuario que está actualmente usando el equipo. Los cambios que hagamos en esta rama afectarán solo al usuario actual. Las carpetas del usuario, los colores de la pantalla y la configuración del Panel de control se almacenan aquí. Esta información está asociada al perfil del usuario. Esta clave a veces aparece abreviada como «HKCU».

En la imagen siguiente se muestra un ejemplo de los valores de configuración en el Editor del Registro.

VAF_04_REGEDIT

Cuando usamos los comandos de Configuración del sistema, debemos tener en cuenta lo siguiente:

    • El ámbito de estos comandos de instrucción es la rama HKEY_CURRENT_USER\Software por lo tanto esta parte de la senda de una entrada del registro debemos omitirla en los parámetros.
    • El parámetro Fórmula de clave raíz es una subrama de Software. Normalmente valdrá Velneo.
    • En el parámetro Fórmula de senda de sección se especifican una o múltiples subcarpetas de la clave raíz, separadas por doble slash \\.
    • El parámetro Fórmula de entrada contiene el nombre de la clave que vamos a leer o escribir
    • La Fórmula de dato contiene la expresión de tipo fórmula que devuelve el valor de cadena o número que vamos a excribir.

Ejemplos:

  • Configuración del sistema: Escribir cadena de texto ( «Velneo», «Mis_APPS», «Path_Librerías», $APP_INFO_CARPETA_LIBRERIAS@MiAplicacion.dat )
  • Configuración del sistema: Leer cadena de texto ( «Velneo», «Mis_APPS», «Parametro1», CPARAMETRO_1 )
  • Configuración del sistema: Escribir cadena de texto ( «Velneo», «ExtReport», «zintdir», sysCacheClientPath)
  • Configuración del sistema: Escribir cadena de texto ( «Velneo», «WebBrowser\\websettings», «enableJavascript», «true» )

¿Qué secciones de la clave Velneo nos pueden interesar para nuestras aplicaciones?

Si revisamos por orden alfabético algunas de las secciones que utiliza Velneo, podemos destacar las siguientes entradas:

HKEY_CURRENT_USER\Software\Velneo\ExtReport\zintdir

Esta configuración es utilizada por VReport para localizar la utilidad de creación de códigos de barras Zint (zint.exe, zint.dll y zlib1.dll).
Podemos adjuntar en nuestro proyecto los 3 ficheros de la utilidad Zint y en el Pre_Init del marco Autoexec ejecutar el comando

Configuración del sistema: Escribir cadena de texto ( «Velneo», «ExtReport«, «zintdir«, sysCacheClientPath)

HKEY_CURRENT_USER\Software\Velneo\SerialPorts\

En esta sección se guarda la configuración de los Dispositivos series que el usuario utiliza desde la aplicación mediante el comando Puerto serie: Configurar dispositivo.
Por ejemplo, la configuración del objeto Dispositivo serie ARDUINO_PLACA del proyecto de aplicación se guardará en la clave siguiente:

HKEY_CURRENT_USER\SOFTWARE\Velneo\SerialPorts\41mcn2yd.vca\ARDUINO_PLACA

La clave se creará únicamente cuando el usuario cambia la configuración del Dispositivo serie que viene por defecto con la aplicación.

HKEY_CURRENT_USER\SOFTWARE\Velneo\vAdmin\

El componente vAdmin.exe lee las claves LastServer, Servers y LastUser de la sección vAdmin para usarlas como valores iniciales en la ventana de Login.

HKEY_CURRENT_USER\SOFTWARE\Velneo\vClient

El componente vClient.exe también dispone de las claves LastServer, Servers y LastUser para inicializar la ventana de Login.

Las secciones DebuggerV7 y DebuggerJS guardan algunos aspectos del interface de ambos depuradores de código. Si eliminamos ambas secciones al inicio de nuestra aplicación conseguiremos tener siempre el depurador con el mismo aspecto.

La sección EditorFormulasDlg determinará el aspecto del Editor de fórmulas en tiempo de ejecución.

La sección MainWindow guarda para cada usuario/servidor/instancia/ el aspecto de la ventana principal de la aplicación (posición, tamaño, maximizada, …).

Si nuestra aplicación accede a Internet a través de un Servidor proxy con o sin seguridad, la sección proxy contendrá los parámetros de acceso.

HKEY_CURRENT_USER\SOFTWARE\Velneo\vDataClient

El componente vDataClient.exe dispone también de claves para configurar la ventana de login, tamaño de la ventana principal y el aspecto visual del interface.

HKEY_CURRENT_USER\SOFTWARE\Velneo\WebBrowser

Esta sección se corresponde con la configuración del Visor HTML de Velneo accesible a través del botón de la Barra de Herramientas.

Hay que tener en cuenta que esta configuración es común a todos los componentes de Velneo que usen el Visor HTML en la misma máquina y con el mismo usuario conectado. Esto quiere decir que si desde vDevelop se cambia la configuración del Visor HTML, ésta afectará a los Visores HTML de todas las aplicaciones que ejecutemos con el componente vClient. Si desde una aplicación, por ejemplo, cambiamos la clave enableJava a false, el resto de aplicaciones que ejecutamos con el mismo vClient tendrán también el java desactivado en el Visor HTML.

VAF_04_WEBBROWSER

Así que esto es lo mismo que si configuramos el explorador web de la máquina que usarán todas las aplicaciones del usuario conectado.

HKEY_CURRENT_USER\SOFTWARE\Velneo\Mis_APPS

Por supuesto, nosotros también podemos tener nuestra propia sección dentro de la raíz Velneo, por ejemplo Mis_APPS.

Algunos ejemplos de uso:

  • Path de la carpeta con nuestras librerías javascript que usaremos desde el Visor HTML: Mis_APPS\Path_Librerias = D:/MisLibrerias
  • Path del ejecutable del visor para ficheros PDF: Mis_APPS\Path_VisorPDF = C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Acrobat.exe
  • Valor devuelto por una utilidad externa: Mis_APPS\Resultado_AutoIt3 = resultado
  • Valor del parámetro pasado a la Aplicación: Mis_APPS\Parametro1 = valor del parámetro

Para pasar un parámetro a nuestra aplicación Velneo creamos el siguiente archivo de comandos miAPP_parametros.cmd

@ECHO OFF
 REM Comprueba si hay parámetros
 IF %1.==. GOTO INICIAR
REM Escribe el parámetro en el registro para que lo lea vClient
 REG ADD HKCU\Software\Velneo\Mis_APPS /v Parametro1 /t REG_SZ /d %1 /f
REM Inicia la Aplicación Velneo y cierra el batch
 :INICIAR
 START "VELNEO" "C:\Program Files\Velneo\vClient.exe" vatp://Mi_Usuario:@127.0.0.1/Mi_Aplicacion
 EXIT

Conclusiones

    • A través de las opciones de Configuración del sistema podemos establecer y reiniciar el aspecto visual de los componentes de Velneo.
    • Es también una forma de comunicarnos con aplicaciones de terceros recibiendo parámetros o resultados de otros cálculos.
    • Todas las opciones deben colgar siempre de la rama HKEY_CURRENT_USER\Software\Velneo a la que el usuario tiene siempre acceso total.
    • Hay que tener en cuenta que solo podemos escribir y leer valores de texto o números enteros (ver los comandos de Configuración).
    • Aunque hemos visto el detalle en el sistema operativo Windows, los comandos de Configuración del sistema son multiplataforma.

¿Preparado para utilizar los comandos de configuración del sistema? 

Me gustaría escuchar tu opinión. Déjame un comentario más abajo.

La entrada Comandos de Configuración del sistema se publicó primero en AyudaVelneo.

Viewing all 16 articles
Browse latest View live