Integración de la IA
Cargar y usar archivos en conversaciones AI
4D 21 R2 introduce soporte nativo de carga de archivos en 4D AIKit, permitiendo a sus aplicaciones enviar documentos como PDFs directamente al modelo de IA y utilizarlos como contexto de primera clase en conversaciones de IA. Un archivo entra en el sistema una vez e inmediatamente se convierte en el punto de referencia para todo lo que sigue, ya sea que el usuario esté pidiendo un resumen, extrayendo información específica o explorando una sección en particular.
Ese flujo es intencionadamente explícito. Los archivos se cargan mediante OpenAI.files.create, donde se define su propósito y su caducidad opcional. La llamada devuelve un identificador de archivo, que se adjunta a OpenAIMessage para que el documento forme parte del contexto de la conversación al llamar al asistente de chat. Usted decide cuándo se introduce un archivo, cuándo se reutiliza y cuándo abandona el sistema. Nada se infiere. Nada se oculta.
Como el documento en sí es con lo que trabaja la IA, no hay contenido duplicado ni representación paralela que mantener sincronizada. Los usuarios interactúan con el archivo original que reconocen, y las respuestas permanecen ancladas a ese material exacto. Los nombres de los archivos se conservan, los límites de tamaño admiten documentos reales y las políticas de caducidad permiten controlar el tiempo de vida de los datos.
La misma API permite listar los archivos cargados, recuperar sus metadatos o eliminarlos cuando ya no se necesitan, lo que mantiene la previsibilidad de la gestión del ciclo de vida en producción. La interacción es sencilla por diseño. Se introduce un documento, las funciones de IA se construyen directamente sobre él y la lógica intermedia sigue siendo mínima, deliberada y fácil de razonar.
Ordenación vectorial en las consultas
En 4D 21 R2, las consultas vectoriales ahora pueden ordenar los resultados por similitud, no sólo filtrarlos. Una consulta ya no se detiene en la búsqueda de registros coincidentes. Decide cuáles deben aparecer primero. Esta distinción es importante porque la búsqueda semántica sólo funciona cuando la relevancia es visible. No basta con resultados similares. La coincidencia más cercana tiene que ser la primera.
Este comportamiento está integrado directamente en el query mismo. Cuando se utiliza un campo vectorial tanto en el filtro como en la cláusula order by, 4D reutiliza el mismo cálculo de similitud para clasificar los resultados. La comparación que determina si una entidad coincide es también la que determina su posición en el conjunto de resultados. No hay ninguna lógica secundaria que mantener ni ningún paso de reordenación tras la ejecución de la consulta. La relevancia se define una vez y se aplica de forma coherente.
Dado que se trata de una ampliación de las consultas ORDA existentes, no es necesario aprender nada nuevo. Los campos vectoriales son compatibles con la cláusula order by de las consultas DataClass.query, EntitySelection.query y REST. La ordenación puede ser ascendente o descendente, combinada con filtros clásicos, y mezclada con ordenación tradicional como fechas o campos numéricos. Cuando hay varias comparaciones de vectores, la ordenación utiliza de forma confiable la primera, manteniendo la evaluación explícita y predecible.
La consulta lleva toda la intención. Usted describe lo que busca y cómo debe aplicarse la relevancia, y los datos se devuelven ya ordenados por significado. Sin comandos adicionales. Sin procesamiento posterior. Sólo una consulta que sabe qué resultado es más importante.
4D Qodly Pro
Páginas Qodly accesibles desde el ide 4d
Con 4D 21 R2, las páginas Qodly pueden ser creadas y editadas directamente desde el IDE 4D. Ya no son un elemento aparte. Viven donde vive el resto de su aplicación. Cuando la lógica backend, el modelado de datos y la interfaz de usuario web pertenecen a la misma aplicación, permanecer en un solo lugar mantiene el impulso intacto.
Las Páginas Qodly aparecen ahora en el Explorador 4D a través de una carpeta dedicada, junto a las estructuras con las que ya trabaja. La creación de una nueva página o la apertura de una existente se inicia desde allí. Cualquiera de las dos acciones abre Qodly Studio en un navegador, prefiriendo Chrome cuando está disponible y volviendo al sistema por defecto en caso contrario. La transición es inmediata e intencionada, manteniéndolo anclado en el proyecto mientras trabaja en la interfaz web.
Interfaz de usuario
SISTEMA DE DISEÑO FLUENT UI PARA FORMULARIOS 4D (VISTA PREVIA PARA DESARROLLADORES)
Con 4D 21 R2, Fluent UI está disponible como una nueva forma de renderizar formularios 4D en Windows, como vista previa para desarrolladores. Se introduce el sistema de diseño Fluent UI de Microsoft en las aplicaciones 4D, trayendo una interfaz visual moderna que ya se siente familiar a los usuarios, ya que coincide con lo que ven todos los días en Windows, Office y Teams.
-
Fluent UI cambia cómo se perciben los formularios, no cómo se construyen. Los formularios existentes mantienen su estructura y lógica. La diferencia es visual. El espaciado parece más equilibrado, el texto es más claro y la interfaz se alinea de forma natural con las convenciones modernas de Windows, incluida la compatibilidad nativa con los modos claro y oscuro, sin obligar a reescribir el diseño.
-
La adopción permanece bajo su control. Fluent UI puede activarse globalmente para un proyecto o aplicarse de forma selectiva, formulario por formulario. Usted decide dónde tiene sentido la modernización y dónde debe permanecer el aspecto clásico, manteniendo los cambios de forma incremental e intencionada.
-
Dado que Fluent UI utiliza renderizado moderno, algunas métricas visuales difieren ligeramente del estilo clásico. El texto y ciertos widgets, como las casillas de verificación, pueden aparecer un poco más grandes o espaciados. En formularios diseñados con diseños muy ajustados a nivel de píxel, esto puede requerir pequeños ajustes para preservar la alineación prevista.
-
Fluent UI está integrado directamente en 4D. La instalación y el despliegue se gestionan a través de la plataforma, con la opción de integrar todo en la aplicación o depender del entorno cliente. No hay dependencias externas que gestionar manualmente.
-
El comportamiento en tiempo de ejecución sigue siendo predecible. Si Fluent UI no puede activarse en un sistema, la aplicación vuelve automáticamente a la renderización clásica. No se muestran errores a los usuarios. La aplicación continúa normalmente, con sólo una entrada de diagnóstico registrada con fines de visibilidad.
-
El estilo evoluciona junto con el renderizado. Los formularios pueden reaccionar a si se muestran en modo clásico o Fluent UI, lo que permite refinar los elementos visuales progresivamente sin afectar a las partes no afectadas de la aplicación.
-
Los cuadros de diálogo estándar siguen la misma dirección. Las alertas, confirmaciones, solicitudes y ventanas del sistema adoptan el aspecto Fluent UI cuando están activadas, manteniendo la experiencia consistente en toda la aplicación.
Fluent UI en 4D 21 R2 es un gran paso adelante en la modernización de la interfaz de usuario. El soporte continuará evolucionando basado en la retroalimentación de los desarrolladores, permitiendo que el sistema de diseño madure mientras se mantienen estables las aplicaciones existentes. El código sigue siendo familiar. El flujo de trabajo permanece intacto. La interfaz de usuario avanza con la plataforma en la que se ejecuta.
Lenguaje 4D
VERIFICAción de sintaxis y completado de código unificados
En 4D 21 R2, la verificación de sintaxis y la compleción de código comparten la misma lógica de inferencia. El editor y el compilador ya no interpretan el código de forma diferente. Lo que IntelliSense infiere mientras escribe es exactamente lo que el corrector sintáctico y el compilador entienden, lo que mantiene la confiabilidad de la información y elimina las dudas al escribir código.
Ahora se informa de los errores donde realmente se producen. Sólo se subraya el token responsable del problema, no toda la expresión que lo rodea. En las expresiones de varias líneas, el marcador aparece en la línea precisa donde se origina el problema. Al pasar el ratón por encima, se ve el problema, se soluciona y se sigue adelante sin necesidad de escanear el código circundante ni de cuestionar lo que el editor está tratando de decir.
Como la inferencia está unificada, las sugerencias de compleción y la detección de errores se refuerzan mutuamente. Las expresiones complejas se infieren de forma coherente, y cuando no se puede determinar un tipo, se marca explícitamente en lugar de hacerlo por defecto. Las transformaciones inválidas, las propiedades inesperadas, las variables no declaradas, los parámetros incorrectos y los operadores incompatibles se detectan pronto, cuando el código aún está en movimiento.
Este comportamiento es consistente en los entornos que los desarrolladores utilizan cada día. El IDE 4D y VS Code se basan en las mismas reglas y el mismo modelo de error. No hay nada que configurar ni nada nuevo que aprender. Usted escribe código una vez, y los comentarios que obtiene significa lo mismo en todas partes.
4D Write Pro
INDENTACIÓN automática para listas con viñetas
En 4D 21 R2, las listas numeradas y con viñetas creadas usando acciones estándar se indentan automáticamente en 4D Write Pro. Las listas ahora se alinean correctamente en la página sin ajustes manuales de márgenes, lo que elimina una pequeña pero recurrente interrupción al formatear documentos.
Cuando se aplican viñetas mediante acciones estándar, el texto se empuja lo justo para mantener la lista legible y visualmente equilibrada. El ajuste se produce de forma inmediata y coherente. Las viñetas aparecen donde los usuarios esperan que estén, y los documentos mantienen un diseño limpio sin lógica de formato adicional en el código.
El comportamiento sigue siendo predecible. La eliminación de viñetas mediante una acción estándar también elimina el margen añadido, devolviendo el párrafo a su diseño anterior. Esto evita problemas de alineación sutiles, especialmente en documentos en los que los estilos de lista cambian dinámicamente.
La sangría coincide con el desplazamiento de tabulación predeterminado del documento y respeta la dirección del texto. El texto de izquierda a derecha se sangrará a la izquierda y el texto de derecha a izquierda, a la derecha, lo que permite que las listas se muestren correctamente en documentos multilingües sin necesidad de manipulación adicional.
El formato de las listas se convierte en algo en lo que ya no hay que pensar. El documento se mantiene limpio y el código se centra en el contenido en lugar de en las correcciones de diseño.
Componente 4D
Buscar en diseño a través de componentes
En 4D 21 R2, Find in Design busca más allá del proyecto anfitrión y en todos los componentes accesibles. Una búsqueda ya no le da una vista parcial. Muestra dónde se utiliza realmente un método o símbolo en toda la aplicación, lo que es importante en el momento en que se toca la lógica compartida y las suposiciones dejan de ser seguras.
El alcance de la búsqueda es explícito. Puede dirigirse al proyecto anfitrión, a un componente específico o al anfitrión y a todos los componentes juntos. Los resultados procedentes de los componentes están claramente identificados, por lo que nunca se pierde el contexto y no es necesario deducir nada. Con una sola búsqueda se obtiene la imagen completa.
Esto resulta especialmente valioso durante la refactorización. Si actualiza un método, verá inmediatamente todas las referencias, incluidas las que están enterradas en componentes que no ha abierto recientemente. Cuando se exportan los resultados, el contexto se mantiene. Cada línea incluye el proyecto o componente al que pertenece, por lo que el resultado puede utilizarse para revisiones, auditorías o análisis externos sin necesidad de volver a trabajar.
Esta función se basa en la indexación en modo proyecto. Los componentes con código fuente disponible se incluyen automáticamente, y el alcance de la búsqueda y los metadatos se transmiten a través de los resultados y la información sobre herramientas. Incluso los grandes conjuntos de resultados se mantienen legibles y sin ambigüedades.
La búsqueda deja de ser una herramienta de adivinanzas. Se mira una vez, se ve todo y se avanza con seguridad.
Iconos personalizados para componentes dependientes
En 4D 21 R2, las dependencias de componentes pueden mostrar un icono personalizado en el Gestor de componentes. En lugar de que cada entrada tenga el mismo aspecto, cada componente puede llevar su propia identidad visual, lo que hace que la exploración de las listas de dependencias sea más rápida a medida que crecen los proyectos.
Los iconos se recogen automáticamente. Si un componente contiene un archivo logo.svg o logo.png en su carpeta de Recursos, 4D lo utiliza como icono del componente en el Gestor de componentes. No es necesaria ninguna configuración. Cuando ambos formatos están presentes, se prefiere la versión SVG para asegurar un renderizado nítido a cualquier tamaño.
Este pequeño cambio cambia la forma de navegar por las dependencias. Los componentes oficiales, las herramientas internas y los paquetes de terceros son más fáciles de distinguir de un vistazo. Se pasa menos tiempo leyendo nombres y más tiempo actuando sobre lo que se ve.
No cambia nada en el comportamiento de los componentes. Sólo cambia el reconocimiento. Y eso reduce la fricción cada vez que abre la lista.
4D view Pro
Motor spreadJS actualizado a 18.2
En 4D 21 R2, 4D View Pro está construido sobre SpreadJS versión 18.2, con una cinta de opciones totalmente alineada con esta versión. Debido a que las capacidades de 4D View Pro siguen el motor debajo de él, esta actualización mejora inmediatamente el rendimiento y desbloquea nuevas funcionalidades sin modificar cómo se crean o mantienen los documentos existentes.
- Las hojas se sienten más rápidas y ligeras. El renderizado y las interacciones son más sensibles, y las tablas dinámicas utilizan mucha menos memoria. Los grandes conjuntos de datos y los cuadros de mando complejos siguen siendo fluidos, incluso a medida que crecen con el tiempo, lo que reduce el tipo de fricción que suele aparecer sólo después de un uso prolongado en producción.
- Las tablas dinámicas también ganan en flexibilidad. Las fuentes de datos pueden cambiarse sin tener que reconstruir los diseños, los subtotales pueden mostrarse por campo, las columnas completas de la hoja de cálculo pueden utilizarse como fuentes y el control del formato es más granular. La navegación por teclado en los cuadros de diálogo de los filtros mejora la usabilidad de los flujos de trabajo con muchos datos, haciendo que los ajustes frecuentes sean más rápidos y precisos.
- El motor de cálculo se amplía con funciones como TRIMRANGE, REGEXTEST, REGEXEXTRACT, REGEXREPLACE, GROUPBY, PIVOTBY y PERCENTOF. Estas funciones permiten transformaciones más expresivas directamente en la hoja, reduciendo la necesidad de preprocesamiento o columnas auxiliares y manteniendo la lógica más cerca de los datos.
- También se refuerzan los flujos de trabajo de importación y exportación. Los mapas XML pueden exportarse sin pérdidas, y los formatos de Excel habilitados para macros, como XLSM y XLTM, se conservan durante la importación y la exportación, incluso cuando no se ejecutan macros. Esto mantiene intacta la compatibilidad en entornos empresariales en los que la estructura importa tanto como la ejecución.
Todo esto se consigue con una única actualización del motor. Sin pasos de migración. Sin cambios en el comportamiento de los documentos existentes. Sólo una base más sólida que hace que el contenido actual de View Pro sea más capaz y que los casos de uso futuros sean más fáciles de ampliar.