El entorno de desarrollo ahora cuenta con un compañero de IA conversacional.
El entorno también puede realizar diferentes tipos de tareas relacionadas con su proyecto, por ejemplo, pídale a la IA realizar tareas como "Generar una consulta que seleccione los clientes en un departamento determinado", "Crear un archivo de datos para almacenar los pedidos", "Poner todas las variables en mayúsculas", etc.
Su compañero de IA puede:
Puede realizar todas estas solicitudes utilizando el lenguaje natural.
Sus conversaciones se guardan por proyecto. Incluso si cierra el entorno, sus conversaciones seguirán estando disponibles.
Sus conversaciones son personales y se almacenan en su equipo. Esto le permite volver a un tema específico en cualquier momento.
El control Tabla dinámica muestra datos con referencias cruzadas de diferentes archivos de una base de datos.
Por ejemplo: volumen de ventas por familias de productos, productos, regiones, a lo largo del tiempo, con o sin detalles.
La tabla dinámica realiza todos los cálculos por sí misma. Todos los datos se calculan y muestran de forma dinámica.
Nota: El control Tabla dinámica también se conoce como "cubo ROLAP".
Crear un control Tabla dinámica en WEBDEV 2026 es extraordinariamente fácil. Basta con responder a una serie de preguntas en el asistente para definir los datos que se mostrarán.
El control se rellena automáticamente, ¡no necesita escribir código!
El motor ROLAP de WEBDEV 2026 lee automáticamente los datos y realiza los cálculos necesarios para todos los niveles de detalle posibles. Este motor rellena automáticamente los encabezados de filas y columnas.
Los usuarios finales pueden elegir el nivel de detalle deseado. Las filas y columnas pueden expandirse y contraerse según sea necesario.
El resultado mostrado se puede exportar a Excel, Word, PDF, etc., como con cualquier otra tabla de WEBDEV.
La función de exportación a Excel es de gran utilidad para realizar simulaciones.
El usuario final puede pedir que se compare un periodo determinado con el mismo periodo de años anteriores. Esta comparación está disponible en una de las opciones del menú contextual.
Por ejemplo, los usuarios pueden comparar las ventas de octubre de 2025 con las de octubre de los dos años anteriores.
Los porcentajes y las diferencias se calculan y muestran automáticamente.
El robo de datos es un problema persistente. Cada día se roban grandes volúmenes de datos en todo el mundo, que luego se distribuyen o revenden.
No corra riesgos con los datos de sus aplicaciones.
La versión 2026 incluye una nueva auditoría de seguridad.
Esta auditoría de seguridad detecta vulnerabilidades, datos sin cifrar, riesgos en el código e incumplimiento de las normas de seguridad.
Para cubrir todos los aspectos de seguridad, la auditoría examina el proyecto tanto de forma estática como dinámica.
Los problemas detectados por la auditoría de seguridad aparecen en el panel Errores de compilación.
Los problemas detectados se clasifican por elemento (ventana, clase, etc.).
Las principales verificaciones incluyen:
La auditoría dinámica de seguridad detecta problemas tanto en modo de prueba como por solicitud, cuando la aplicación se ejecuta directamente en el dispositivo del usuario final.
Los problemas detectados aparecen tanto en el código fuente como en una lista resumida:
Las principales verificaciones incluyen:
El simple hecho de utilizar HFSQL y cifrar los datos mediante las funciones automatizadas garantiza un alto nivel de seguridad.
Otros sistemas de bases de datos no ofrecen esta facilidad y flexibilidad de cifrado de datos.
Con HFSQL, ni siquiera el acceso ilegal al servidor permite acceder a los datos cifrados.
Factur-X es un formato híbrido de factura electrónica que combina un PDF legible por el usuario y un archivo XML estructurado e integrado, conforme a la norma europea EN 16931.
Es fácil de leer para los usuarios y garantiza una integración automatizada en los sistemas contables.
Factur-X es un estándar de facturación desarrollado por la asociación francesa sin ánimo de lucro FNFE-MPE y la asociación alemana FeRD.
Factur-X se basa en un archivo XML que describe las facturas según normas extremadamente precisas. Este archivo XML se integra en el PDF de la factura.
La ventaja es que el archivo PDF con el estándar Factur-X puede ser leído tanto por humanos como por máquinas.
Una factura en formato Factur-X implica:
Factur-X define 5 perfiles (o niveles) de datos que corresponden a casos de uso de complejidad creciente. Estos perfiles son los siguientes:
Contiene únicamente los datos esenciales: número de factura, fecha, importe total, identificación del vendedor y del comprador.
Agrega los totales sin IVA e IVA por tipo impositivo, pero sin detalles línea por línea.
Agrega las líneas de facturación (descripción, cantidad, precio unitario sin IVA).
Cumple íntegramente la norma europea EN 16931 con toda la información requerida (incluidas las referencias de los pedidos, las condiciones de pago, las entregas, etc.). Obligatorio para los intercambios B2G (Business to Government) en Francia y Europa.
Permite agregar información adicional específica de un sector (p. ej. sanidad, energía, etc.). En la fecha de impresión de este documento, la asociación aún no ha finalizado este perfil.
La versión 2026 admite los 4 niveles ya definidos.
La complejidad del archivo XML aumenta según el nivel del perfil.
El perfil estándar utilizado hoy en día es el EN 16931.
Este archivo contiene varias decenas de líneas.
Por ejemplo, para una línea de factura, el código correspondiente es el siguiente:
<ram:SpecifiedTradeProduct>
<ram:GlobalID schemeID="0160">598785412598745</ram:GlobalID>
<ram:SellerAssignedID>ART_1254</ram:SellerAssignedID>
<ram:BuyerAssignedID>REF5487</ram:BuyerAssignedID>
<ram:Name>SUPPORT SERVICE</ram:Name>
<ram:Description>Description</ram:Description>
<ram:ApplicableProductCharacteristic>
<ram:Description>CATEGORY</ram:Description>
<ram:Value>DAY 8H-20H</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:DesignatedProductClassification>
<ram:ClassCode listID="SK">SKU2578</ram:ClassCode>
</ram:DesignatedProductClassification>
</ram:SpecifiedTradeProduct>
El IDE incluye un componente interno listo para usar. Solo tiene que integrarlo en su proyecto.
Para cada detalle incluido en la factura, llame al componente interno para generar las líneas XML correspondientes (con etiquetas, etc.).
Existe una propiedad para cada detalle de la factura: dirección de facturación, línea de factura para un artículo facturado por peso, línea de factura para un artículo vendido por unidad, etc.
Cada propiedad espera parámetros específicos para el tipo de información que manipula.
Cuando la factura está terminada, solo hay que llamar al método GenerateXML de la clase proporcionada en el componente interno para crear el archivo XML con la ruta del PDF.
La elección de una unidad estandarizada para Factur-X puede resultar difícil.
En la versión 2026, un asistente intuitivo le ayuda a elegir la unidad admitida por Factur-X, en función del tipo de datos que se vayan a transmitir.
Algunas organizaciones agregan un logotipo Factur-X a título informativo, para indicar que la factura es híbrida (PDF + XML).
Este logotipo puede insertarse automáticamente en el editor de reportes.
En la versión 2026, ya no es necesario salir del modo de prueba para editar la UI.
Los cambios realizados en el entorno de desarrollo se reflejan de forma inmediata en la aplicación en modo de prueba:
Esto se traduce en un enorme ahorro de tiempo.
Pregunta: ¿Cuál fue el importe promedio de las facturas del mes pasado?
Respuesta: 320 789 €
La conversación puede contener:
El control Chat IA permite introducir elementos de conversación.
El control los envía al modelo, recibe la respuesta y la muestra a medida que se va generando.
Si el modelo requiere una acción, el control Chat IA la realizará.
Con el control Chat IA, puede elegir el modelo que mejor se adapte a sus necesidades: Claude, Mistral, GPT, Gemini, OpenRouter, etc.
Se requiere una cuenta de API: El control Chat IA funciona según el modelo que elija. Debe tener una cuenta de API del proveedor de modelos correspondiente para utilizar el control Chat IA.
El control Chat IA puede iniciar procedimientos desde sus aplicaciones.
Para especificar que un procedimiento puede ser utilizado por el control Chat IA, simplemente indique la acción y los parámetros del procedimiento entre las etiquetas <AI> y <END>.
El nuevo control Chat IA ofrece una gran cantidad de funcionalidades integradas:
El principio general de GraphQL es realizar una sola solicitud al servicio web, especificando todos los datos que se desean obtener.
El servidor devuelve todos los datos solicitados, estructurados en formato JSON.
Esto ofrece una clara ventaja, ya que se hace una sola llamada en lugar de varias. El rendimiento no tiene comparación con ningún otro tipo de servicio web.
Una solicitud a un servicio web puede incluir:
Con GraphQL, todas estas operaciones pueden realizarse en una sola llamada.
La versión 2026 incluye el nuevo tipo WLanguage graphqlQuery para utilizar fácilmente los valores devueltos.
Esto significa que el autocompletado de código está disponible cuando se accede al resultado de la consulta.
// Query declaration
customers_year_query is query = `
query CustomersByYear($year: Int!)
{
ListCustomersWithRental(year: $year)
{
Last name
First name
Rentals
{
Yacht
{
Name
Length
}
StartDate
EndDate
}
}
}
HFSQL 2026 incorpora una función innovadora que permite realizar búsquedas semánticas, es decir, búsquedas basadas en el significado del texto en lugar de en coincidencias exactas.
Esta búsqueda analiza campos de tipo Texto o Memo.
HFSQL incluye el nuevo formato de índice ".vex". HFSQL admite este formato de forma nativa. Esto significa que puede utilizarlo directamente.
Por ejemplo, HFSQL 2026 permite buscar "zapatos de hombre" en una base de datos de productos y encontrar "zapatos", "botas", "tenis", "sandalias", etc.
La instrucción FOR EACH tiene una nueva sintaxis:
MAX_RESULT is int = 10
FOR EACH Product WITH SemanticSearch(
Description, "men's shoes", MAX_RESULT)
DisplayProduct(Product.ProductID)
END
No se requieren módulos de terceros. Todo está integrado en el motor HFSQL.
HFSQL integra un modelo de embedding y un índice específico adaptado a la búsqueda semántica.
No necesita instalar nada, utilizar módulos externos ni preocuparse por la gestión, HFSQL se encarga de todo.
Crear un índice semántico es muy fácil. Solo necesita declarar un índice semántico en el análisis e indicar los campos de texto que desea indexar. Así de sencillo.
En las bases de datos existentes, se ejecuta una "modificación automática".
Gracias a la búsqueda semántica, un usuario puede utilizar términos descriptivos que no están presentes en el texto almacenado. Por ejemplo, al buscar "abrigo ligero", los resultados pueden abarcar todos los productos relacionados como chaquetas, cortavientos, parkas finas, etc., aunque estos términos no estén incluidos en la búsqueda.
El motor interpreta la idea del usuario en lugar de hacer coincidir palabras exactas.
Imagine el caso de un cliente que visita una tienda en línea para buscar una prenda ligera para la primavera, pero desconoce la terminología exacta.
"Abrigo ligero"
Los resultados de la búsqueda solo incluirán:
artículos con una descripción que contenga exactamente "abrigo" y "ligero".
No se incluye lo siguiente:
porque la descripción de estos productos no incluye el término "ligero".
El motor de búsqueda entiende que la intención del cliente es encontrar una prenda de exterior ligera adecuada para un clima templado o variable.
También se incluye:
Aunque las palabras no aparezcan en las descripciones de los productos, la consulta arrojará resultados que respondan a las necesidades del cliente.
El control Cuadrícula es una cuadrícula de posicionamiento relativo, disponible para WINDEV y WINDEV Mobile.
Alinee los controles horizontal o verticalmente, sin necesidad de posicionarlos por pixeles.
Utilice contenedores anidados para definir la disposición deseada.
La cuadrícula está basada en una serie de filas y columnas.
Simplemente defina el comportamiento de las filas y columnas cuando cambie el tamaño del control:
Los controles y contenedores se posicionan en celdas.
Puede combinar celdas las horizontal o verticalmente.
El control Cuadrícula siempre está en modo WYSIWYG. Todos los cambios se reflejan de forma inmediata.
La UI se construye anidando elementos.
Puede insertar una cuadrícula dentro de otra cuadrícula, una cuadrícula dentro de un flexbox o un flexbox dentro de una cuadrícula. Cualquier combinación es posible.
Los controles se posicionan con respecto a la esquina superior izquierda de la celda que los contiene.
Una celda puede contener varios controles.
Puede definir anclajes para cada control dentro de una celda.
Estos anclajes son relativos al tamaño de la celda.
El tamaño de la celda está definido por los ajustes de la fila y columna.
Además del modo de edición visual, también puede realizar las siguientes acciones en la cuadrícula mediante programación:
Esto permite, por ejemplo, ocultar uno o varios controles conservando una alineación perfecta.
Nueva información disponible al ver y editar un elemento
Características comunes a todos los controles
Control Imagen y Ventana
Una sección específica permite ver y seleccionar la ruta de la imagen y los ajustes del modo de visualización.
Control Combo Box/List Box
Control Casilla de verificación/Botón de opción
Control Tabla
En un equipo de desarrolladores, los elementos no se reintegran en el SCM hasta que se haya completado el desarrollo de una funcionalidad. Esto significa que los elementos en desarrollo no están disponibles para los demás desarrolladores.
Sin embargo, al no reintegrar los elementos en el SCM, el desarrollador no tendrá acceso al historial y por lo tanto, no podrá deshacer los cambios.
Ahora, el SCM permite a los desarrolladores crear un historial local.
Esto significa que el historial de los cambios realizados en un elemento puede guardarse en el equipo local, sin sincronizarse inmediatamente con el repositorio central.
Esta nueva funcionalidad tiene varias ventajas:
Dese de la versión 2025, las paletas de colores ayudan a diseñar interfaces más consistentes y profesionales.
Las paletas pueden intercambiarse entre plantillas.
Al cambiar la paleta (de forma dinámica o estática) se cambian todos los colores en una sola operación.
El editor de paletas permite crear una paleta desde cero.
Para obtener un conjunto coherente de colores, la paleta empieza con unos pocos colores dominantes, que definen el estilo general.
Los colores secundarios se derivan automáticamente de los colores dominantes, utilizando una fórmula personalizable.
También es posible definir manualmente uno o varios colores secundarios.
La UI intuitiva del editor de paletas refleja los cambios en tiempo real.
La versión 2026 incluye nuevas paletas de colores.
Esto le ofrece nuevas posibilidades de personalización.
Utilice libremente estas paletas en sus aplicaciones y paquetes de software.
Recuerde que puede cambiar las paletas de forma dinámica, e incluso crear sus propias paletas.
WINDEV le proporciona la ayuda necesaria para crear interfaces más atractivas.
La firma basada en certificados mediante tarjetas inteligentes ofrece un método de autenticación adicional.
Este mecanismo permite a los usuarios firmar documentos o datos utilizando un certificado digital almacenado en una tarjeta inteligente.
Algunos ejemplos son las tarjetas de salud, las tarjetas profesionales, las tarjetas criptográficas, etc.
Este método garantiza un proceso de firma seguro:
La seguridad está garantizada dado que la clave privada nunca sale de la tarjeta.
Todas las funciones de WLanguage para firmar, como PDFSign, XMLSign, etc., admiten certificados almacenados en tarjetas inteligentes.
Mediante la función CertificateList, la aplicación recupera todos los certificados disponibles en el equipo, incluidos los que se encuentran en una tarjeta inteligente insertada en el lector.
A continuación, solo tiene que navegar por la lista para seleccionar el certificado de la tarjeta inteligente, representado como una variable de tipo Certificate en WLanguage.
Google Maps es un servicio de mapas extremadamente potente y popular.
Sin embargo, existen muchas otras plataformas para mapas.
OpenStreetMap es la alternativa más conocida.
WINDEV, WEBDEV y WINDEV Mobile 2026 (aplicaciones Android) son compatibles con OpenStreetMap.
Puede elegir fácilmente el tipo de mapa en la ventana de 7 pestañas del control.
Tenga en cuenta que OpenStreetMap y Google Maps ofrecen funcionalidades diferentes.
Ambas soluciones admiten gestos táctiles (zoom, desplazamiento, etc.) y permiten a los usuarios dibujar rutas, formas, puntos de interés, etc.
Sin embargo, algunas funcionalidades automáticas no están disponibles, en particular la planificación de rutas y las agrupaciones de marcadores.
En la versión 2026, el control Mapa admite nuevos formatos de mapa:
El control Mapa ahora admite capas.
Esto permite superponer diferentes mapas en la pantalla.
WINDEV Mobile 2026 incorpora un depurador mejorado para aplicaciones Android. Ahora, el depurador puede ejecutarse en un dispositivo Android (smartphone, tableta, dispositivo industrial) conectado al equipo de desarrollo a través de Wi-Fi.
Para emparejar el dispositivo, solo necesita especificar la dirección IP en el depurador e introducir un código de un solo uso en el dispositivo.
Todos los comandos del depurador están disponibles a través de la conexión Wi-Fi: ejecución paso a paso, seguimiento, vigilancia, puntos de interrupción, etc.
En la versión 2026, las funciones WLanguage de tipo Organizer están disponibles en código Navegador.
Esto permite agilizar los procesos en los controles Agenda sin salir del navegador.
Se han agregado nuevas funciones WLanguage de tipo Email para tener en cuenta casos especiales.
La nueva función WLanguage EmailExecuteCommand permite enviar cualquier comando a un servidor de correos electrónicos.
Las nuevas funciones EmailSubscribeToFolder/EmailUnsubscribeFromFolder permiten suscribirse o cancelar la suscripción a una carpeta para acceder a su contenido (protocolo IMAP).
La versión 2026 incluye las nuevas funciones WLanguage MemoDisplay y MemoDownload.
En versiones anteriores, el memo tenía que descargarse a un búfer o a un archivo en el disco y luego enviarse al navegador mediante las funciones StringDisplay o FileDownload.
En la versión 2026, el memo HFSQL se envía de forma continua, bloque por bloque. Este método reduce el consumo de memoria, acelera el proceso de descarga y reduce el tiempo total de descarga en el lado del usuario final.
El tipo WLanguage InputMask permite implementar máscaras de entrada mediante programación. En la versión 2026, este tipo de variable está disponible en código Navegador.
En la versión 2026, puede utilizar el operador "=" entre dos arrays para comparar sus elementos.
El operador "=" se aplica de forma recursiva a todos los elementos de ambos arrays.