Nuevo componente
Velneo vClient para Android
Este nuevo componente te permitirá ejecutar tus aplicaciones en el sistema operativo de mayor difusión para dispositivos móviles, Android de Google. Debes tener en cuenta que vClient para Android requiere la versión 2.2 ó superior de este sistema. Esta primera versión se encuentra en fase beta.
Interfaz
¡Nueva propiedad vista de datos en los controles de edición!
Esta propiedad se usa con campos puntero a tabla maestra denominada “Vista de datos de lista”. En esta propiedad se puede seleccionar cualquier objeto del grupo de “Vista de datos” con origen de la tabla maestra, incluido el alternador de lista. En ejecución cuando este campo gana foco si el usuario comienza a escribir un valor, además de realizarse el autocompletado, se abre el objeto de lista posicionándose en el registro seleccionado, de forma similar a como actúa el localizador. El objeto de lista es totalmente funcional permitiendo la selección de un registro, usar toolbars y las opciones del menú contextual. Cuando el campo tiene el foco, aunque no escriba el usuario siempre podrá desplegar la vista de datos con la tecla de función F4. Visualmente mejora al objeto localizador ya que evita abrir un cuadro de diálogo y ofrece un gran abanico de posibilidades tanto para la selección de registros como para la visualización de datos adicionales, ejecución de acciones, etc. (2562)
¡Nuevos comandos de Interfaz para la ventana principal!
Estos nuevos comando actúan sobre docks del objetos marco AUTOEXEC que contengan objetos de tipo formulario o cesta, para las toolbars se pueden usar los comandos (Interfaz: Ocultar e Interfaz: Mostrar). Con este grupo de comandos se puede interrogar si un dock está visible (Interfaz: ¿Es visible el dock?), saber si el dock está flotante (Interfaz: ¿Está el dock flotando?), actuar haciendo visible un dock (Interfaz: Mostrar el dock) u ocultando un dock (Interfaz: Ocultar el dock), también es posible poner un dock flotante (Interfaz: Set dock flotante) o configurar las características de un dock (Interfaz: set dock features) que permite hacer un dock cerrable, movible, flotable o hacer que la barra de título salga vertical. Gracias a estos nuevos comandos el programador tiene el control sobre los docks para que independientemente de como los gestione el usuario pueda forzar a que estén ocultos, visibles o con unas características concretas. (2679)
Alta de registros en rejilla con doble clic
Ahora haciendo doble clic en una zona del cuerpo de la rejilla que no tenga registros se lanza el formulario de alta que tenga asociado. (2313)
Recalcular vistas de datos en subformularios
Se han realizado mejoras en la ejecución del comando de instrucción “Interfaz: Recalcular” sobre controles “Vista de datos” de subformularios. (1077)
Controles de edición fecha y fecha/hora mejorados
Se han realizado mejoras en los controles de tipo “Edición Fecha” y “Edición Fecha/Hora”. Entre ellas ahora si se selecciona su contenido y se elimina, el campo, variable o variable local quedan vacíos y no con el valor “14/09/1752” que era el valor mínimo que asumía antes por defecto. (2780)
Orden alfabético en objeto árbol visor de tablas
Se ha mejorado el objeto árbol visor de tablas en el que ya es operativa la propiedad “Orden alfabético”. Tanto en la carga inicial como al ejecutar el comando “Interfaz: Recalcular”. (2789)
Refresco de control objeto dibujo de maestros
Se ha mejorado el refresco del control objeto dibujo que fallaba al mostrar una imagen de una tabla con una relación de segundo nivel, por ejemplo una imagen de un maestro de otro maestro del registro del formulario. (2037)
Icono de tabla estática en control objeto dibujo
Se ha mejorado el control “Objeto dibujo” de formulario que ahora permite mostrar el icono de una tabla estática, evitando que en ejecución sea editable la imagen con doble clic o el menú contextual que en este caso ni siquiera estará disponible. (2810)
Señal inicializado en objeto marco
Se ha mejorado la gestión de la señal de inicializado en el objeto marco para que se ejecute después de que se haga efectiva la configuración de ventana guardada de la anterior ejecución. De esta forma al usar los nuevos comandos de interfaz los docks quedarán como el programador lo haya configurado en el evento. (2726)
Formularios en modo vista
Se ha corregido que si en un formulario en modo “Vista” no tiene definido un tipo de layout, no mostraba los controles. En cuadro de diálogo o incrustado en un dock funcionaban correctamente aunque no tuviesen definido un tipo de layout. (2835)
Comando de instrucción disparar objeto sobre rejillas
Ahora al ejecutar el comando disparar objeto sobre una rejilla funciona de la siguiente forma: Si la rejilla no tiene declarado un formulario funciona de forma similar a un localizador, al hacer doble clic o pulsar intro se cierra y devuelve el registro seleccionado. Si tiene declarado un formulario de modificación, al hacer doble clic o pulsar intro abre el formulario de modificación, se cierra la rejilla y en el subproceso obtenemos el registro que ha sido mostrado en el formulario. (2807)
Recálculo automático de totales en pie de rejilla
Los cálculos por fórmula absoluta en el pie de las rejillas ahora se refrescan automáticamente al realizar operaciones que afectan a la lista como “Partir lista”, “Filtrar” y “Quitar el elemento seleccionado de la lista”. (1966 y 2821)
Varias rejillas editables en un formulario
Se han realizado mejoras para evitar problemas de operativa si en un mismo formulario se incrusta más de una rejilla editable. (2322)
Campos booleanos en rejilla
En una columna de rejilla ahora se muestra bien el valor de un campo de tipo “Booleano” de una tabla enlazada, antes mostraba siempre un 0 (cero). Se ha mejorado la visualización de los campos “booleanos” en rejilla para que se visualicen con texto y no como datos numéricos cuando se asigna el valor «Verdadero» a la propiedad «Formato numérico local». (2047 y 2758)
Intro en rejilla
Se ha corregido la incidencia que se producía cuando en un formulario que incluye una rejilla en la que abrimos uno de sus registros pulsando la tecla Intro, al aceptar el formulario se cerraba a la vez el primer formulario, ahora sólo se cierra el formulario abierto desde la rejilla permaneciendo abierto el primer formulario. (2694)
Refresco de cestas en docks
Se ha mejorado el refresco automático de las cestas usadas en dock. (1986)
Ordenación y posicionamiento de docks tipo toolbar
Se ha mejorado la ordenación y posicionamiento de los docks tipo “Toolbar” que fallaba en algunos casos con el modo de aparecer «Añadir”. (1258)
Botón maximizar en cuadros de diálogo
Los cuadros de diálogo ahora tienen botón maximizar en Windows y Mac. En Windows también maximizan con doble clic en la barra de título. En modo tab sólo aparecerá el botón maximizar, en modo MDI el cuadro de diálogo tendrá los botones maximizar, minimizar y restaurar. (859)
Tecla Tab en casilleros
Del objeto casillero se ha quitado la navegación interna con la tecla “Tab”. (2805)
Cambio de contraseña
Se ha mejorado el diseño del cuadro de diálogo de cambio de contraseña en vDevelop y vClient. (2333)
Funcionalidad
Detener la ejecución de una cadena objetos en una acción
En una acción es posible encadenar múltiples objetos, al final siempre se devuelve el objeto u objetos de interfaz que se encadenan. Ahora es posible utilizar el comando de instrucción “Set retorno = NO” en cualquier proceso de la cadena objetos a ejecutar para detener la ejecución y evitar que sigan mostrando más objetos. Por ejemplo, ahora se puede lanzar una búsqueda que si no encuentra registros no visualice una rejilla vacía y sí que muestre un mensaje avisando de que la búsqueda no ha obtenido registros a mostrar. (2774)
Drag&Drop en Combo-View y List-View
Se ha añadido la posibilidad de realizar Drag&Drop en los objetos Combo-View y List-View. (2684)
Teclas aceleradoras «Return» y «Enter»
En la lista que aparece en la propiedad tecla aceleradora ahora aparecen las teclas “Return” que se refiere al teclado alfanumérico y también la tecla “Enter” que se refiere al teclado numérico. (2652)
Nuevo proceso ON_CLOSE_SERVER
Este proceso es análogo a ON_INIT_SERVER, se lanza siempre que sea detenida la ejecución de la instancia en el servidor bien porque se reinicie la instancia o porque se detenga el servidor. Hay que tener en cuenta que no se ejecutarán comandos que tengan interacción con la interfaz ya que se ejecuta en el servidor. Puede ser muy útil para guardar información o finalizar protocolos, por ejemplo. (2683)
Cargar lista en procesos en tercer plano
Se ha corregido una incidencia que se producía en la ejecución de procesos en tercer plano, en la que en algunas circunstancias la ejecución de el comando de instrucción “Cargar lista” no devolvía registros. (2762)
Cerrar ventana en cuadro de diálogo
El comando en stock “Ventana: cerrar” está pensado para usarlo con vista en modo MDI o Tab, es decir para vistas centrales, no está pensado para cuadros de diálogo. Aún así, se ha mejorado para que se pueda cerrar también una ventana en cuadro de diálogo. (2393)
Campo ID alfanumérico en tablas submaestras
Si en una tabla submaestra tenemos definido el campo ID de tipo alfanumérico ahora realizará la numeración automática como valor alfanumérico formateando el ID con ceros a la izquierda hasta completa el tamaño del campo. (2572)
Valor numérico en botón de radio (¡ATENCIÓN, MUY IMPORTANTE!)
En los controles de tipo “Botón de radio” ahora si la propiedad valor tiene un contenido numérico y el contenido del control es una variable declarada como numérica se puede utilizar como primer campo de una expresión obteniendo la suma, antes la variable recibía el valor como un dato alfanumérico y al sumarle cualquier valor lo concatenaba. ¡ATENCIÓN, MUY IMPORTANTE! Al final de este documento encontrará un texto explicando los efectos que la corrección de esta incidencia puede producir en sus aplicaciones si en ellas existe algún error en la definición del tipo de las variables globales o locales. (2760)
Funciones de conversión de códigos y caracteres ASCII
Se han corregido ya que no devolvían los valores correctos las funciones getAsciiChar, getAsciiCharCode y getLatin1CharCode. (2006 y 2856)
Ejecutar acciones desde formularios en Dock
Ahora ya están operativas las acciones disparadas desde controles de tipo “Botón” incrustados en un formulario que es usado desde un dock. (2775)
Comando de lista multipartir desde toolbar
Se ha mejorado la ejecución del comando “Lista: Multipartir” para que funcione correctamente y evite que rompa vClient cuando es ejecutado desde una toolbar asociada a una vista de datos en el momento de aceptar la ventana de selección de campo. (2128)
Opciones del menú de estilo
Al usar la opción de menú de selección de estilo, ahora muestra siempre las opciones, antes la primera vez que se lanzaba esa opción del menú no se mostraban. (2397)
Propiedades de las imágenes tras cortar
En el editor de imágenes, tras cortar una imagen si accedemos a la opción de propiedades ahora ya no se produce ningún error. (2497)
Los protocolos ya están operativos en 2º y 3º plano
Ya es posible poner a la escucha protocolos TCP en 2º y 3º plano. Esto permite arrancar un servicio TCP sin afectar al interfaz de la aplicación. Cuando se inicia en 2º plano, si no se programa su cierre lo hará automáticamente al finalizar el vClient como ocurre también en 1º plano, . En 3º plano el puerto seguirá a la escucha hasta que se termine el servicio con el comando de instrucción en un proceso en 3º plano o en el ON_CLOSE_SERVER, y también cuando se pare o reinicie el servicio vServer. (2816)
Valor de variables y altas de registros desde procesos en 3º plano
Se ha corregido la falta de visibilidad que ocurría con las variables globales y las altas de registros en la ejecución de procesos en tercer plano cuando se daban unas circunstancias particulares de herencias de proyectos, origen del proceso y la existencia de múltiples instancias sobre el proyecto heredado. Ahora el valor de las variables es accesible en todos los casos y las altas de registros se realizan correctamente en la instancia que corresponde. (2866)
Base de datos
¡Optimizaciones en la base de datos!
Se han mejorado las funciones internas de manejo de registros en la base de datos. Con estas mejoras se ha conseguido más velocidad al realizar ciertas operaciones. Esta mejora afecta a todas las operaciones de la base de datos que hagan uso de campos. (2783)
¡Optimizaciones en la regeneración de tablas!
Se han realizado mejoras en los procesos de regeneración de tablas que reducen notablemente el tiempo de procesamiento de las tablas durante la regeneración. Estas optimizaciones mejoran el rendimiento en todos los casos: tablas grandes, tablas pequeñas, registros con muchos campos, registros con pocos campos, etc. (2784)
Actualizaciones en tablas en memoria
Ya están disponibles las actualizaciones en las tablas en memoria, tanto de tabla en memoria a tabla en memoria como de tabla en memoria a tabla en disco. Esta funcionalidad facilita la programación de importaciones, cálculos estadísticos, cálculos para informes, etc. (661)
Refresco de plurales
Se ha mejorado el refresco de plurales para que se actualicen inmediatamente cuando se renombra una tabla o un índice. Esto evita tener que guardar el proyecto, salir y volver a entrar en vDevelop para ver los plurales actualizados. (2141)
Contenido inicial en campos fecha
En vDataClient se ha mejorado el cálculo del contenido inicial de campos tipo “Fecha” basados en una variable global. Al iniciar la edición del registro la fecha permanecerá vacía hasta que gane foco, si la variable global no tiene ningún valor la fecha asumirá como valor la del sistema. (1259)
Código de submaestras en memoria
En las tablas submaestras en memoria se ha corregido el cálculo del código, ID, siguiente al último que, en algunos casos, limitaba el número de registros que se podían dar de alta para cada registro de la tabla maestra. (2606)
Cambio de maestro en submaestras
Si tenemos una tabla histórica de una submaestra y en el formulario tenemos controles de edición de los campos punteros a la maestra y a la submaestra, si cambiamos el valor del campo de la maestra ahora se limpia el valor de la submaestra, salvo que tengo un contenido inicial, en cuyo caso se recalcula. Hasta ahora al cambiar la maestra no se alteraba el valor del campo puntero al ID de la submaestra. (2080)
Modificaciones de campos en evento
Se ha corregido que si en un formulario ejecutábamos un evento de interfaz que modificaba campos y usa el comando “Interfaz: Aceptar”, los campos editados en controles de edición de tipo: fecha, hora, fecha/hora y checkbox no se modificaban. (2116)
Reindexación por cambio de condición
Se ha mejorado la reindexación en operaciones de modificación de registros para que no permita la generación de claves duplicadas que sí podían producirse en el caso particular de que la modificación afectase a la condición de indexación y no al campo a indexar. (2654)
Regeneración de tablas al cambiar partes de un índice
Si modificabas las partes de un índice y, en lugar de ejecutar con F5 desde vDevelop, reiniciabas la instancia para ejecutar directamente con vClient la tabla no se regeneraba. Ahora la tabla se regenera en todos los casos. (594)
Administración
Mensaje de aviso si hay problemas de activación
En Windows Vista y en versiones posteriores de Windows, vActivator, si no se ejecuta como administrador, no graba las claves en el registro. Antes no se daba ningún aviso, ahora se muestra un mensaje notificando que no ha sido posible grabar las claves del registro por problemas de permisos, para que el usuario sea consciente de la causa del problema de activación. (2528)
Permisos al renombrar carpeta compartida
Los permisos asignados a un grupo sobre una carpeta compartida, ahora ya no se pierden al renombrar la carpeta. (1149)
Seguridad en el borrado de carpetas compartidas
En vAdmin se ha añadido la verificación para que no permita borrar una carpeta compartida que esté siendo utilizada en una instancia. (1164)
Mejora de seguridad en la creación de directorios
En vAdmin, se ha eliminado el botón crear directorio de la ventana de creación o modificación de carpeta compartida para evitar que el usuario pueda crear cualquier directorio en el sistema operativo sin tener permisos. (2590)
Asignación de instancias a un grupo
En vAdmin se ha mejorado la asignación de instancias a un grupo de usuarios para que sea cómodo aunque existan un número elevado de instancias declaradas en el servidor. (2759)
Orden de los mensajes de sistema
Se ha mejorado en vAdmin el orden de presentación de los mensajes en el panel de mensajes del sistema para que se visualicen en el orden en que se generan ya que antes salían desordenados en algún caso. (1464)
Reducción de mensajes de sistema
En el visor de mensajes del sistema de vAdmin se han dejado de mostrar como mensaje de error, ya que no tienen la consideración de error, los siguientes mensajes: Run:KeyBusca -> errorFichaInexistente, Sys:MultiON -> errorTestigoEnganche, Run:FichaAlta -> errorKeyYaExiste. (2797)
Refresco de los datos de disco al instalar soluciones
En vAdmin al instalar una aplicación, cuando finaliza la instalación se refrescan automáticamente los datos en el menú «Disco”. (2776)
Instalaciones con ficheros adjuntos de tamaño 0 bytes
Se ha añadido la posibilidad de crear instalaciones de proyectos que contengan objetos del tipo “Fichero adjunto” con tamaño de 0 (cero) bytes, antes provocaban un error en la creación del instalable “.vin” con vInstallBuilder. (2119)
Tamaños recomendados de imágenes en la instalación
En el formulario de grabación de datos de la instalación de vInstallBuilder se han incluido en los textos de las imágenes el tamaño recomendado para el Logo (120×80 píxeles) y el Banner (145×315 píxeles). (2820)
Mejoras en la ejecución de opciones de menú
Ya no se produce ningún error en vDataClient si usamos las opciones “Regenerar datos” y “Regenerar índices” sin tener abierta ninguna solución. (2524)
Edición
Nuevos iconos de tamaño reducido para organizar los objetos del proyecto
En el árbol de carpetas y objetos de la pestaña proyecto se han mejorado los iconos reduciendo su tamaño a 16×16 ya que antes eran demasiado grandes. Además, se han incorporado 34 nuevos iconos para permitir una mayor combinación de tipos de carpetas a la hora de organizar los objetos. Si modificas una carpeta con doble clic y accedes al cuadro de diálogo de propiedades, debes tener en cuenta que si borras el nombre de la carpeta, al seleccionar un nuevo icono de carpeta, por defecto, la carpeta asumirá el nombre que tenga la carpeta en la lista de iconos. Estas mejoras aportan una mayor usabilidad al árbol de carpetas y objetos del proyecto. (2819 y 2858)
Refresco de cambio de identificador en pestañas
Si cambias el identificador de un objeto que está siendo editado, al aceptar el cambio se actualiza la pestaña del editor con el nuevo identificador. (861)
Refresco en el árbol de propiedades
Se ha mejorado el refresco del árbol de propiedades para que cambie en todos los casos en función del objeto seleccionado en el inspector o de que el foco esté en un editor abierto en el área central. (862)
Copiar/pegar líneas de procesos
Cuando se copian líneas de instrucciones de un proceso a otro ahora las pega en el orden en que están en el proceso de origen y no en el orden en que se hizo la selección. (1309)
Selección de tablas por orden alfabético
En las propiedades que requieren la selección de una tabla ahora el combo muestra las tablas en orden alfabético lo que facilita la selección aunque haya tablas de múltiples proyectos ya que el combo se posiciona automáticamente al escribir caracteres del identificador de la tabla. (2756)
Pestañas móviles y ocultables
Las pestañas del explorador de proyectos (Solución y proyectos cargados) y las del Inspectores (Objetos, Qué usa, Dónde se usa, Campos y Errores) ahora son móviles lo que permite cambiarlas de posición. Además, las pestañas de los inspectores se pueden ocultar y mostrar utilizando el menú contextual que aparece al pulsar botón derecho de ratón sobre ellas. (2757)
Ayuda en galería de objetos
Al mostrar la galería de objetos, tecla de función F6, ahora por defecto se mostrará la vista de objetos agrupados por funcionalidad con la ayuda abierta a la derecha. (2587)
Ayuda actualizada
Se han actualizado las ayudas de la Galería de objetos. (2854)
Limpieza de propiedades de menú
En los objetos de lista si se modifica la propiedad “Tipo de menú de contexto” a los valores “Ninguno” o “Por defecto” se limpia la propiedad “Menú de contexto” que se activa cuando el tipo es “Personalizado”. De esta forma se evitan problemas en ejecución y con los inspectores. (2832)
Estabilidad en el cierre de vDevelop
Se ha mejorado la estabilidad de vDevelop cuando se cierra teniendo en edición alguna propiedad del árbol. Esto sólo se producía con algunos tipos de propiedades y en esos casos antes se producía un cierre no controlado del editor. (2815)
* Los números entre paréntesis indicados en cada novedad indican el código de la incidencia en vBugMan.
¡ATENCIÓN, MUY IMPORTANTE!
Sobre la solución de la incidencia 2760
En esta versión se soluciona una incidencia importante con el tipo de dato de variables, tanto globales como locales, que provocaba que el tipo fuera determinado en último término por el valor almacenado y no por la definición de la variable. La solución de esta incidencia puede hacer que en algún caso se produzca un comportamiento distinto en las aplicaciones en que por error se hace uso de un tipo de dato incorrecto, es decir, distinto del tipo de dato que se almacena. Lee por favor en detalle nuestras indicaciones.
La mejora en la gestión del tipo de dato en variables globales y locales puede implicar que procesos o funciones que hagan uso por error de variables definidas con un tipo de dato erróneo pueden dejar de funcionar ya que el tipo de dato del valor no se corresponderá con el de la variable y no se guardará. Antes de solucionar la incidencia podrían funcionar, pero de forma anómala, dando lugar en algunos casos a resultados no esperados.
En el caso de que alguna funcionalidad de nuestras aplicaciones deje de ejecutarse correctamente con la nueva versión 7.8, debemos en primer lugar revisar el uso de las variables y que estén correctamente definidos los tipos de dato, tanto variables globales como locales, de acuerdo con el tipo de dato esperado.
Afecta a variables globales o locales que tengan definido un tipo no compatible con el tipo de dato del valor que se desea almacenar. Algunos ejemplos son:
- Variables numéricas que se usen por error para almacenar datos alfabéticos, fechas, etc.
- Variables alfabéticas que se usen por error para almacenar fechas, horas, etc.
- Variables de tipo fecha, hora o tiempo que se usen por error para guardar datos alfabéticos, numéricos, etc.
La solución de esta incidencia es muy importante. Como ejemplo: en la situación que dio lugar a la aparición de la incidencia, Incidencia 2760 referida a los controles de tipo Botón de radio, antes la variable recibía el valor como un dato alfanumérico y al sumarle cualquier valor lo concatenaba, lo que daba lugar a un resultado no esperado.
Una vez solucionada la incidencia, la variable se comporta de acuerdo a la definición de su tipo, y si la variable es de tipo numérico, el contenido será también numérico, con lo que se puede utilizar como primer campo de una expresión obteniendo la suma.
Esta situación podía darse no sólo en este caso si no también en todos aquellos en los que la definición del tipo de dato de la variable, por error en la definición, no se correspondía con el tipo de valor almacenado.
¿Por qué los inspectores no pueden detectar esta incidencia?
Una práctica habitual consiste en almacenar valores con un tipo de dato que no se corresponde con el tipo de dato definido en la variable, pero sí son compatibles. Además, el tipo de dato resultado de un fórmula en muchos casos sólo es conocido en tiempo de ejecución.
Por ejemplo, en una variable alfabética es habitual incluir contenido numérico o fechas en modo texto, y además en la fórmulas se utilizan otras variables globales, variables locales, constantes, campos, resultados de funciones, resultados de llamadas a funciones de librería, y todas ellas pueden devolver valores con diferentes tipos de datos.
Recomendaciones
El proceso recomendado en cualquier actualización, no sólo en este caso, es la prueba de la aplicación en un servidor de desarrollo con los datos de producción, para una vez finalizada la verificación, ponerla en marcha en el equipo de producción.
En el caso de que en tu aplicación detectes una diferencia de funcionamiento con la versión 7.8, te recomendamos que como primera opción revises si alguna variable pueda estar definida con un tipo de dato no correcto, por que no se corresponda con el tipo de dato que desemos almacenar.
Esto debes tenerlo en cuenta aunque a priori no parezca tener ninguna relación.
Contacta con soporte para solucionar las dudas que puedas tener al respecto.
Más información
Velneo 7.8.0 es una nueva versión de la plataforma que incluye nuevas funcionalidades y mejoras, al mismo tiempo que corrige incidencias de las versiones 7.7.x.
Para más información y documentación consulta el Blog y la zona Info en la que podrás encontrar esta información actualizada en tiempo real accediendo a nuestro sistema de gestión de incidencias vBugMan.
Los componentes de Velneo versión 7.8.0 son compatibles con las soluciones y proyectos de versiones anteriores, siendo migrados de forma automática a la nueva versión. Aplicaciones creadas con todas las versiones anteriores podrán ser ejecutadas en la versión 7.8.0.
Es recomendable actualizar todos los componentes a la nueva versión ya que nos permitirá aprovechar las mejoras incorporadas en esta versión . En la zona de descargas están disponibles las instalaciones.
Deja una respuesta