Novedades de 4D v19

Traducido automáticamente de Deepl

Este documento es una recopilación de todas las nuevas funcionalidades disponibles en 4D v19. Tenga en cuenta que cada funcionalidad tiene una entrada de blog relacionada para guiarle a través de ejemplos concretos. Se puede acceder a estas entradas de blog haciendo clic en el título de la funcionalidad.

Además, las secciones con la etiqueta blank están relacionadas con todas las nuevas funcionalidades lanzadas entre 4D v18 R6 y 4D v19.

Este documento está dividido en siete secciones:

Soporte nativo de Silicon

Tras el innovador anuncio de Apple(los nuevos Macs de Silicio), lanzamos 4D v19 seis meses antes de lo previsto para ofrecerle una versión nativa de 4D para Silicio lo antes posible. Además de las notables mejoras de rendimiento, estas son las novedades:

Como los Macs de Silicon ya no utilizan una arquitectura de procesador x86 como los Macs y PCs de Intel, no pueden ejecutar el mismo código compilado. Por ello, hemos tenido que mejorar nuestro compilador con una compilación específica para Silicon (disponible sólo en modo proyecto). Ahora podrá compilar sus aplicaciones para arquitecturas Intel (Windows e Intel Mac), arquitectura Silicon (Silicon Mac), o ambas arquitecturas.

Plugins

Los plugins también se verán ligeramente afectados. Para que un plugin funcione tanto en Intel como en Silicon Mac, tendrá que compilarlo como un binario universal. Y si utilizas plugins de terceros, asegúrate de descargar versiones nativas de Silicon o binarios universales.

¿Necesita más tiempo?

Por supuesto, 4D v19 seguirá funcionando con Rosetta. Si necesita tiempo para que su aplicación funcione de forma nativa, siempre es posible ejecutarla en Rosetta.

Características del modo proyecto

Los proyectos son un tipo de arquitectura que representa un gran paso adelante para las aplicaciones 4D. Añaden la capacidad de aprovechar las herramientas de control de código fuente, la programación colaborativa, la compartición de código, la modularidad y mucho, mucho más. En el momento de escribir este manual, gracias a la arquitectura de proyectos y a la capacidad de compartir el código fuente de las aplicaciones del proyecto a través de un sistema de control de fuentes, hemos publicado más de 45 repositorios en GitHub. Esto incluye IDHs, componentes y aplicaciones de ejemplo completas.

4D v19 trae un nuevo conjunto de características que mejorarán enormemente su experiencia de programación.

Clases

Gracias al modo de proyecto, hemos introducido las clases. Una clase le permite definir el comportamiento de un objeto mediante propiedades y funciones. Una vez definida una clase, puedes instanciar objetos de esta clase en cualquier parte de tu código. Cada objeto es una instancia de su clase. Las clases pueden extender otras clases y heredar sus funciones.

Hay dos tipos de clases disponibles en 4D: las clases incorporadas a 4D (devueltas por el comando 4D ) y las clases de usuario (devueltas por el comando cs ).

Para crear un objeto como instancia de una clase, utilice el comando cs con la función miembro new. Otro término importante a conocer es el constructor. El constructor se utiliza para crear e instanciar un objeto con atributos por defecto. Se llama automáticamente cuando se inicializa un objeto. La creación de una clase se realiza desde el menú «Nuevo» de la barra de herramientas, o desde el diálogo «Explorador». Aparecerá un editor de clases en el que podrá crear el constructor y las funciones de la clase. Leer la documentación

Herencia de clases

La herencia permite que una clase herede el comportamiento de otra clase (la clase padre ). Para derivar una clase hija de una clase padre, utilice la palabra clave Class extends. Esto llama automáticamente al constructor de la clase padre (si no has definido un constructor específico para la clase hija ). También puedes utilizar el comando Super para llamar al constructor de la clase padre. Leer la documentación

Nombramiento de parámetros para métodos y funciones

No hay necesidad de pasar por una variable intermedia, ahora puedes nombrar tus parámetros y resultados al declarar un

  • método de proyecto,
  • disparador,
  • método de base de datos,
  • método de formulario,
  • constructor de clase,
  • función de clase. Lea la documentación

Vista previa de CSS en el editor de formularios

Esta característica fue la petición de característica más votada y la más rápida en convertirse en una petición de característica más votada en nuestro foro de peticiones de características. Te permite previsualizar el renderizado final del CSS en el editor de formularios. Un nuevo icono en la barra de herramientas te permite ver tu formulario con o sin renderizado CSS, e incluso ver cómo quedaría con un renderizado CSS específico en Mac o Windows.

En cuanto a la anulación de propiedades en el modo CSS, se muestra un nuevo tipo de escudo (similar a los escudos para el método de objeto o el orden de entrada) en el editor de formularios. Ahora es fácil ver qué objetos se ven afectados por el estilo CSS. Lea la documentación

Desarrollo del código del servidor

El desarrollo y la depuración del código del servidor en las aplicaciones del proyecto es más fácil. En el modo de desarrollo en equipo, es habitual que varios desarrolladores realicen un desarrollo monopuesto y consignen sus cambios en un sistema de control de versiones. El comando RELOAD PROJECT, en combinación con comandos como git pull, permite actualizar un servidor en ejecución con nuevo código sin necesidad de reiniciar para pruebas, o incluso para producción.

Cuando un cliente 4D Developer se conecta a un 4D Server en el mismo ordenador, el archivo .4DZ no se transfiere del servidor al cliente. 4D Remote gestiona los archivos del proyecto (métodos, formularios, recursos, etc.) como si fuera un cliente 4D monopuesto. Los archivos del proyecto son compartidos por 4D Server y 4D Remote. De esta forma, puede modificar su código y probarlo sobre la marcha.

Si quiere que el servidor recargue los archivos modificados, cambie al modo aplicación desde el entorno de desarrollo. Mueva el 4D Server al primer plano o seleccione la opción de menú «Archivo / Guardar todo» en el 4D Remote (o utilice el nuevo comando RELOAD PROJECT ).

Recuerde que la ejecución de un método en el lado del cliente realiza automáticamente una acción de » Guardar todo», y como resultado, recarga los archivos modificados en el lado del servidor. Lee la documentación

Macros

Las macros están ahora disponibles en el editor de formularios. Con una macro de formulario, puede:

  • Modificar, eliminar o añadir una propiedad a uno o más objetos de formulario, como cambiar el color o la anchura de un botón
  • Añadir o eliminar uno o más objetos de formulario (incluyendo su método de objeto asociado)
  • Seleccionar o deseleccionar objetos de formulario en el editor
  • Mostrar un diálogo modal para introducir un parámetro sobre la marcha
  • Calcular la posición ideal de los objetos de formulario y moverlos
  • Crear una clase CSS a partir de un objeto de formulario para utilizarla como plantilla
  • Comprobar que las rutas de las imágenes del formulario son válidas
  • Abrir archivos CSS en el editor de CSS en lugar de buscarlos en el disco
  • Comprobar que las referencias XLIFF tienen su correspondencia en los archivos XLIFF
  • y mucho más.

Las macros de formulario están disponibles en el menú contextual. Las macros de la base de datos del host se muestran primero, seguidas de las macros de los componentes. Para ejecutar una macro, basta con hacer clic en el elemento del menú. Para crear macros de formulario, declárelas en un archivo formMacros.json en el primer nivel de la carpeta Sources de su proyecto. Asegúrate de revisar los ejemplos de macros que hemos puesto a disposición en GitHub. Puedes integrarlos en tus aplicaciones como componentes para probarlos. Lee la documentación

Documentación del método

Puede escribir su propia documentación para los métodos de la base de datos, del disparador, del proyecto y del formulario de la tabla. La documentación se guarda en un archivo Markdown con el mismo nombre que el método o formulario en una carpeta de documentación. Markdown es un formato estándar para la documentación y permite mejorar los estilos de formato. El formato puede ser mostrado en 4D Explorer, en GitHub, o en otras herramientas. La documentación puede contener una descripción de un elemento, así como cualquier información necesaria para entender cómo funciona el elemento en la base de datos. Para crear o editar el archivo de documentación en la base de datos de un proyecto, desde el Explorador haga clic en el botón «Crear» o seleccione la opción de menú «Editar documentación». 4D crea el archivo correspondiente y lo abre en su editor por defecto con una plantilla preestablecida. Leer la documentación

4D ofrece tres temas de fuentes automáticas que respetan las directrices de cada plataforma. 4D v19 le permite anular el tamaño de estos temas automáticos y tener más control sobre cómo se muestra su texto. Lea la documentación

4D para iOS

El conjunto de características de 4D para iOS se ha ampliado con 4D v19:

Trabajar sin conexión blank

Ahora tiene la posibilidad de trabajar sin conexión e interactuar con su servidor 4D de una manera muy flexible.

Cuando no hay red disponible, sus tareas se ponen en cola, esperando que el servidor esté disponible. Esto le garantiza una forma de trabajo muy fluida y eficiente, con aplicaciones que funcionan sin ningún retraso. Lea la documentación

Vinculación profunda

La vinculación profunda te permite compartir una URL, por ejemplo en un correo electrónico. Al hacer clic en la URL se abrirá directamente un registro específico en una aplicación 4D para iOS. En combinación con las notificaciones push, puede informar a los vendedores sobre una nueva cotización o a los agentes de seguros sobre un nuevo caso. Un solo clic abre directamente la aplicación y muestra el registro correspondiente. Lea la documentación

Notificaciones push

Lasnotificaciones push son una forma perfecta de mantener a los usuarios de tu aplicación iOS comprometidos e informados.

Puede configurar las notificaciones push para activar la sincronización en los dispositivos iOS. Esto permite que la interfaz de usuario se actualice al instante, proporcionando a los usuarios datos en tiempo real que pueden comprobar al recibir una notificación. Leer la documentación

Nuevos formatos de parámetros: Firma y código de barras

Para ayudar a que sus aplicaciones sean más interactivas, se han añadido nuevos formatos de parámetros a 4D para iOS:

  • Formato de firma: firme con la punta del dedo y envíe las firmas directamente desde su app al servidor. Esto podría ser útil para recoger las firmas de los clientes después de la entrega de un paquete, por ejemplo.
  • Formato decódigo de barras: asocie cualquier valor a un código de barras (EAN13, EAN8, código QR, etc.) para extraerlo con sólo escanearlo desde un formulario de acción. Es una forma muy cómoda de añadir, por ejemplo, una referencia de artículo escaneando un código QR directamente desde su aplicación. Lea la documentación

Puedes acceder y publicar relaciones Uno a Muchos desde tus relaciones Muchos a Uno en la sección de Estructura. En resumen, esto significa que puedes mostrar relaciones Muchos a Muchos, lo que te permite ofrecer aplicaciones iOS con una ergonomía mejor que nunca. Esto viene acompañado de funciones adicionales como añadir interacciones a un campo soltando una relación sobre él y mostrar el número de registro correspondiente al hacer clic en las relaciones Uno a Muchos. Lea la documentación

Compatibilidad con el escaneo de códigos de barras

La búsqueda se ha mejorado enormemente gracias a la incorporación del soporte para el escaneo de códigos de barras. Esto permite disponer de aplicaciones adaptadas a situaciones de campo (por ejemplo, para las necesidades de inventario de los almacenes).

Más técnicamente, esta característica permite

  • Filtrar un formulario de lista en función del valor del código. Si un registro coincide con el valor del código de barras, el formulario de detalle del registro se abrirá automáticamente.
  • Cuando se combina con la vinculación profunda, mostrar formularios de lista y detalle específicos simplemente escaneando un código de barras cuyos valores son esquemas de URL o enlaces universales. Lea la documentación

Iniciar sesión con QRCode blank

4D para iOS ofrece una nueva y moderna forma de iniciar sesión. La plantilla de formulario de inicio de sesión SignInWithQRCode permite a los usuarios de la aplicación iniciar sesión escaneando QRCode, o acceder directamente a la aplicación si ya se han autenticado. Leer la documentación

Sincronización de datos optimizada

El proceso de sincronización de datos de 4D para iOS ha sido optimizado, mejorando la velocidad de sincronización de datos hasta 25 veces más rápido. Leer la documentación

Autenticación del correo electrónico

4D para iOS le permite determinar la autenticidad y legitimidad de la persona que intenta iniciar sesión en su aplicación. El proceso actualiza el estado de la sesión de un usuario para darle acceso a la aplicación:

  1. En el formulario de inicio de sesión, cuando un usuario introduce una dirección de correo electrónico y hace clic en el botón de inicio de sesión , el estado de la sesión se actualiza a «pendiente» y se envía un correo electrónico con un enlace de validación a esa dirección de correo electrónico.
  2. Cuando el usuario hace clic en el enlace de validación, el estado de la sesión cambia de «pendiente» a «aceptado».
  3. El usuario puede volver a abrir la aplicación. Como el estado de la sesión es ahora «aceptado», se concede el acceso.

El componente que gestiona y facilita el proceso está disponible, por lo que puedes adaptar el proceso de autenticación a tus propias necesidades. Lee la documentación

Construir plantillas de formularios detallados

Dado que los formularios detallados son desplazables, puede colocar tantos campos como desee en sus plantillas de formularios detallados. Hay muchas maneras de añadir campos a sus formularios detallados:

  • Seleccione una plantilla en blanco y coloque todos los campos en ella
  • Arrastre y suelte los campos en cualquier lugar de la vista para añadirlos y mostrarlos inmediatamente después del último campo añadido, o colóquelos entre los campos
  • Haga doble clic en un campo para añadirlo al final de la lista
  • Haga clic con el botón derecho del ratón en uno de los campos disponibles en la tabla de campos de la izquierda. Esto mostrará un menú que le permite añadir cualquier campo que falte a sus formularios detallados. Lea la documentación

Plantillas listas para usar

Hay más de 40 plantillas listas para usar en el editor de proyectos. La galería se basa en una lista dinámica de plantillas actualizadas disponibles en GitHub. Para utilizar una plantilla, hay un icono «Más» disponible tanto para los formularios de lista como para los detallados. Haga clic en él para mostrar toda la lista de plantillas de la sección Formularios. Seleccione la plantilla y 4D para iOS se encargará de la instalación. Luego podrá adaptarla a sus necesidades. Lea la documentación

ORDA

4D v19 sigue aportando mejoras a ORDA. Además de las diversas características disponibles (ver abajo), ORDA hace posible crear funciones de clase de alto nivel por encima del modelo de datos. Esto le permite escribir código orientado al negocio para ocultar la complejidad, reducir los errores y acelerar el proceso de desarrollo. Además, puedes exponer tu proyecto como una API con un servidor REST.

Clases ORDA para manejar el modelo de datos

La estructura de ORDA (almacén de datos, clase de datos, entidad, selección de entidad) se compone de objetos fuertemente tipados vinculados a clases específicas de ORDA. Esto significa que puede escribir funciones que ocultan la complejidad de la implementación física de sus datos.

4D crea automáticamente lo siguiente

  • Clase de entidad: Para implementar funciones relacionadas con una entidad (por ejemplo para calcular los gastos de envío de la cotización actual. Código asignado a un registro determinado).
  • Clase EntitySelection: Para implementar funciones relacionadas con una selección de entidades (por ejemplo para ejecutar una estadística en los registros seleccionados. Código asignado a una selección)
  • ClaseDataClass: Para implementar funciones relacionadas con la clase de datos (para ejecutar código relacionado con una tabla, pero independiente de un registro o selección específica. Por ejemplo, para crear un nuevo registro basado en los parámetros proporcionados)
  • DataStore: Para implementar funciones relacionadas con el datastore (para ejecutar código no relacionado con una tabla o registro, similar a un método genérico del proyecto). Lea la documentación

Clasesdel modelo de datos ORDA y REST

Puede llamar a las funciones de clase definidas para el modelo de datos ORDA a través de peticiones REST para beneficiarse de la API expuesta del proyecto de aplicación 4D objetivo. Exponga su lógica de negocio con una API controlada (a través de sus clases) para otras herramientas, tales como frameworks web como Angular o React. Lea la documentación

Alcance y contexto de ejecución de las funciones

Por defecto, en el modo cliente/servidor, las funciones de las clases ORDA se ejecutan en el servidor. Con la nueva palabra clave local, puedes elegir ejecutar algunas funciones en el cliente. También puedes elegir qué funciones publicar (o no) como APIs para clientes REST con la nueva palabra clave exposed. Lea la documentación

Bucle con una nueva etiqueta 4D blank

Una nueva etiqueta 4D está ahora disponible: la etiqueta 4DEACH. Puede utilizarse como etiqueta 4D en páginas SHTML, así como con el comando PROCESS 4D TAGS, lo que simplifica el uso de ORDA o de objetos en PROCESS 4D TAGS o SHTML. Lea la documentación

Actualización del modelo

Al trabajar con 4D en modo autónomo, ya no es necesario reiniciar la base de datos para tener un almacén de datos actualizado cuando se actualiza la estructura.

Si trabaja en modo cliente/servidor, esto funciona bien para el código que se ejecuta en el servidor 4D. Para los clientes remotos, basta con reiniciar el cliente que requiere la actualización de la estructura. Lea la documentación

Selecciones de entidades compartibles

A veces puede querer compartir una selección de entidades con otro proceso o hacerla disponible para todos los procesos. Por ejemplo, imagine que está realizando una consulta compleja para encontrar todas las facturas vencidas, permitir a los usuarios finales seleccionar algunas (o todas) y enviar un recordatorio de pago por correo electrónico. El envío de correos electrónicos se realiza mejor en otro proceso para evitar el bloqueo del usuario.

En lugar de construir una lista de claves primarias para pasarla al otro proceso, una selección de entidad compartida puede pasarse directamente a otro proceso. Las selecciones de entidades compartidas pueden incluso adjuntarse al objeto Storage para ser compartidas con todos los procesos.

En pocas palabras, una selección de entidades puede ser compartible o no:

  • Una selección de entidad compartible puede ser almacenada en un objeto compartido o en una colección compartida y puede ser compartida entre varios procesos o trabajadores. No permite añadir nuevas entidades. Si se intenta añadir una entidad a una selección de entidades compartibles, se producirá un error.
  • Una selección de entidades no compartibles no puede ser compartida entre procesos, ni puede ser almacenada en un objeto o colección compartida. Si se intenta almacenar una selección de entidades no compartibles en un objeto o colección compartida, se producirá un error. Sin embargo, una selección de entidades no compartibles acepta la adición de nuevas entidades. Lea la documentación

Nuevos métodos de selección de entidades

Hay nuevos métodos miembros a su disposición:

  • extract(): para extraer datos de una selección de entidades. Esto le permite construir una colección totalmente personalizada con los datos de su selección de entidades. Puedes especificar los atributos de la clase de datos que quieres extraer y sus nombres en la colección resultante.
  • refresh(): invalida los datos de la selección de entidades en la caché de ORDA. Provoca una actualización desde el servidor la próxima vez que se utilicen los datos. Por defecto la caché de ORDA expira después de 30 segundos, así que usa este método miembro en caso de que necesites datos actualizados inmediatamente. Lea la documentación

Lenguaje 4D y otras características de programación

Soporte para el Modo Oscuro en macOS blank

4D ha añadido soporte para el Modo Oscuro, que se aplica automáticamente si el Modo Oscuro está activado a nivel de macOS. Esto es sólo el principio y se lanzarán más en futuras versiones, como el soporte en todos los componentes (por ejemplo, el widget 4D Write Pro), y el Modo de Diseño. Lea la documentación

Múltiples temas para el editor de código blank

4D le ofrece temas básicos que puede enriquecer y adaptar a su gusto:

  • «tema claro por defecto» (basado en el editor de color clásico)
  • «tema oscuro por defecto» (nuevo color)

Si prefiere los colores del tema de su colega o si encuentra un tema más a su gusto en GitHub por ejemplo, puede importarlos añadiendo el archivo JSON del tema en:

  • «<nombredeldisco>/Usuarios/<nombredeusuario>/Application Support/4D/4DEditorTheme» en macOS.
  • «<nombredeldisco>:usuarios/nombredeusuario>/Application Support/4D/4DEditorTheme» en Windows. Leer la documentación
Lanzar una compilación por programación blank

En los sistemas de integración continua, cada vez que se envía el código, o cada hora, se lanza automáticamente una compilación del código fuente. Este enfoque permite comprobar las fusiones en el servidor de gestión de código. A partir de 4D v19, el nuevo comando Compilar proyecto permite lanzar la compilación del código, por lo que puede configurar este tipo de sistema. Leer la documentación

Gestionar la información de su aplicación blank

Para construir su aplicación, usted utiliza el comando BUILD APPLICATION con un conjunto de claves XML que le permiten configurar la aplicación construida. Después del proceso de construcción, es posible añadir información como la empresa, el copyright o la versión de la aplicación. A partir de 4D v19, se puede leer, añadir o modificar en plataformas Windows o macOS sin necesidad de dominar el lenguaje XML y la estructura del archivo info.plist.

Para ello, hemos añadido dos nuevas funciones a la clase File que permiten leer y escribir información de la aplicación:

  • Para añadir la información a un archivo .exe (Windows) o .plist (macOS), puedes pasar un objeto con los atributos que quieras establecer a la función setAppInfo.
  • Para leer la información de un archivo .exe o .plist, simplemente utiliza getAppInfo, y obtendrás todos los atributos en un solo objeto. Lee la documentación

Simplificar la creación del Cliente de Archivo 4D blank

A partir de macOS Big Sur, las aplicaciones no firmadas no pueden ejecutarse. En el pasado, hemos lanzado una solución para construir aplicaciones cliente-servidor que se ejecutan en un servidor Windows y aceptan conexiones de clientes Mac. Con el lanzamiento de 4D v19, hemos actualizado la construcción de aplicaciones en 4D para manejar este escenario.

Evolución del formato de registro de 4D blank

Recientemente hemos revisado nuestros formatos de registro para mejorar la legibilidad y el cumplimiento del análisis automatizado. Hicimos estas mejoras en respuesta a situaciones de la vida real que experimentamos, abordando directamente los problemas que estaban limitando nuestra capacidad de utilizar los registros 4D. Lea la documentación.

Utilizar colecciones y listas dentro de los objetos de los formularios blank

A partir de 4D v19, puede utilizar colecciones para definir el contenido de algunos objetos de interfaz, incluso utilizando la función Form. Esto es muy útil para la gestión genérica de interfaces. También hemos añadido mejoras en el uso de las listas.

Se ha mejorado el uso de las listas:
Listas jerárquicas
Controles de pestañas (primer caso de uso)

Las colecciones pueden utilizarse ahora como referencias con los siguientes objetos:
– Listas desplegables (también conocidas como «listas emergentes»)
Cuadros combinados
– Controles de pestañas (segundo caso de uso). Leer la documentación

Nueva sintaxis de declaración

Ahora está disponible una nueva sintaxis para declarar las variables. Utiliza la palabra clave var, el nombre de la variable y su tipo. Esta nueva sintaxis permite mejorar en gran medida el autocompletado al declarar las variables. Puede declarar variables utilizando tanto la sintaxis clásica como la nueva en la misma base de datos. Leer la documentación

Visualización del prototipo y breve descripción

Para simplificar y facilitar la escritura de código en el editor, el prototipo de una función y una breve descripción se muestran en el editor de código.

La lista de sugerencias muestra la finalización inteligente del código (con una breve descripción) y el prototipo para que pueda escribir el código de forma más rápida y correcta. Y mientras escribe su función, 4D muestra el prototipo de la función y una breve descripción de la misma. También resalta el parámetro que está completando en ese momento. Lea la documentación

Correos electrónicos

Soporte de OAuth 2.0

OAuth 2.0 es un estándar de autenticación y autorización que protege los datos del usuario proporcionando acceso a los datos sin revelar la identidad o las credenciales del usuario. Últimamente, los servidores de correo electrónico han empezado a adoptar este estándar para aumentar la seguridad. Office365 y Gmail recomiendan el uso de OAuth 2.0 para manejar los correos electrónicos.

A partir de 4D v19, ofrecemos una forma de configurar OAuth 2.0. Los transportadores IMAP, SMTP y POP3 ahora soportan nativamente el protocolo OAuth 2.0. Lea la documentación

Gestionar las banderas IMAP

El protocolo IMAP permite asociar una lista de band eras a un mensaje para gestionar información adicional. Hemos añadido un conjunto de funciones al objeto transportador IMAP para añadir o eliminar banderas IMAP.

Con el protocolo IMAP puedes gestionar cinco banderas :

  • \N – Visto: El mensaje ha sido leído.
  • \N – Respondido: El mensaje ha sido respondido.
  • \N – Marcado: El mensaje está marcado como «marcado» para atención urgente/especial.
  • \Borrado: El mensaje está marcado como «a borrar». La eliminación tiene efecto cuando se llama a la función expunge(), se cambia de buzón o se cierra la conexión. Esta bandera ya es añadida por la función delete( )
  • \N – Borrador: El mensaje no ha completado su composición (marcado como borrador). Lea la documentación

Creación, eliminación y cambio de nombre de buzones con IMAP blank

Hay funciones disponibles para ayudarle a gestionar sus buzones mediante programación. Esto incluye la creación, el cambio de nombre y la eliminación de buzones. Un buzón se muestra como una carpeta en clientes de correo electrónico como Microsoft Outlook o Apple Mail. Leer la documentación

Guardar los correos electrónicos en un buzón específico

Cuando envíe un correo electrónico desde 4D, si sus clientes esperan obtener una copia en el buzón «Enviado» que muestra Outlook o Apple Mail, puede guardar una copia del mismo después de enviarlo:

  1. Cree dos transportadores: un transportador SMTP para enviar el email a su cliente, y un transportador IMAP para cargar su email en su servidor de correo.
  2. Después de enviar su correo electrónico con SMTP, utilice la función append() del transportador IMAP. Lea la documentación

Buscar y descargar correos electrónicos

El método searchMails permite recuperar una lista de mensajes basada en criterios como todos los correos no leídos o todos los correos de una persona específica en las últimas 4 semanas. El comando devuelve una colección de IDs de correos, que pueden ser utilizados directamente por el nuevo método getMails (para descargarlos, por ejemplo). Lea la documentación

Copiar, mover y eliminar correos electrónicos

Se han añadido tres nuevas funciones al transportador IMAP: copy(), move() y delete(). Leer la documentación

Recibir correos electrónicos mediante POP3

Puede descargar localmente sus correos electrónicos y eliminarlos de su servidor de correo electrónico a través de POP3 gracias al nuevo comando del transportador POP3 New. El protocolo de oficina de correos (POP) es un protocolo estándar de Internet que se utiliza para recuperar el correo electrónico de un servidor de correo. Este estándar es útil para acciones como conectarse a un servidor POP3, recuperar mensajes para procesarlos automáticamente (para almacenarlos en su base de datos local) y eliminarlos del servidor. Además, se han añadido varios métodos para mejorar el manejo del correo electrónico:

  • getMailInfoList(): Devuelve información sobre todos los mensajes de su buzón.
  • getMailInfo(): Devuelve información sobre un solo mensaje.
  • getMail(): Permite descargar mensajes específicos pasando como parámetro un número de mensaje devuelto por getMailInfoList().
  • delete(): Marca los mensajes especificados para que sean borrados durante el cierre de la sesión.
  • getBoxInfo(): Devuelve el número de correos electrónicos en el buzón y el tamaño del mismo. Lea la documentación

Recibir correos electrónicos mediante IMAP

Al igual que para SMTP y POP3, el nuevo comando IMAP New transporter maneja el protocolo IMAP. Hemos añadido comandos que permiten elegir un buzón y descargar un correo electrónico. Leer la documentación

Descarga de correos electrónicos en formato MIME

4D v19 proporciona un comando que le permite almacenar los correos electrónicos en su formato original, no convertido, recibido. Usando el método POP3_transporter.getMIMEAsBlob( ), puede obtener un BLOB que contiene el contenido MIME de un mensaje específico, que puede ser guardado en su base de datos o en algún otro lugar. Lea la documentación

Encripte sus propios datos con el algoritmo 4D blank

4D le ofrece una forma sencilla pero potente de cifrar sus datos. Ahora, además, le permite utilizar el mismo algoritmo que el utilizado para el cifrado de datos (AES-256) para sus propias necesidades. Así que ahora puedes encriptar y desencriptar cualquier información que quieras con un conjunto de nuevos comandos: Cifrar datos BLOB y Descifrar datos BLOB. Lee la documentación

Nueva clase CryptoKey

La nueva clase CryptoKey proporciona un conjunto de métodos para realizar operaciones criptográficas comunes (como firma y verificación, encriptación y desencriptación). Proporciona una forma de asegurar:

  • La confidencialidad (protegiendo los datos del acceso no autorizado)
  • Integridad (garantizar que los datos son completos y correctos)
  • Autenticidad (validar la autenticidad de un mensaje o de un remitente/destinatario) Lea la documentación

Web

Sesiones web escalables

El servidor web de 4D ahora soporta sesiones web escalables , un nuevo tipo de sesión web que mejorará en gran medida el rendimiento de sus aplicaciones web.

Las sesiones web escalables pueden manejar varios procesos en modo preventivo. Esto significa que pueden manejar varias peticiones del agente de usuario al mismo tiempo, y también pueden compartir datos entre estos procesos. Lea la documentación

Atributos SameSite y Secure para las cookies blank

Las cookies han evolucionado a lo largo de los años, pero han dejado algunos problemas heredados. Para manejar esto y permitir un modelo seguro por defecto para las cookies, los navegadores (incluyendo Safari, Chrome, Firefox y Edge) están cambiando su comportamiento con respecto a los atributos SameSite y Secure. Por esta razón, 4D v19 trae algunas mejoras. Lea la documentación

Soporte para el intercambio de recursos entre orígenes (CORS)

El protocolo CORS impide que una página web haga peticiones a otros dominios que no sean el suyo. Sin embargo, si necesita permitir que otros sitios realicen peticiones HTTP a su servidor para obtener o enviar algunos datos, ahora es posible mediante:

  • programación: gracias a los comandos WEB SET OPTION y WEB Server . Toman parámetros de dominio para permitir acciones específicas (GET, POST, HEAD, PUT)
  • la configuración de la base de datos: gracias a las opciones disponibles en la ventana Configuración > Web > Opciones (II). Lea la documentación

Explorador de datos (vista previa)

4D v19 ofrece una versión preliminar de 4D Data Explorer. Los desarrolladores y administradores 4D pueden ahora explorar fácilmente los datos de sus aplicaciones en un navegador web sin necesidad de una licencia de servidor web. Vea este video para ver el producto en acción.

Carpeta de caché 4D personalizada para 4D Server fusionado

Si su máquina alberga una aplicación de servidor fusionado construida con diferentes versiones de 4D, puede encontrar problemas debido a la carpeta de estructura 4D compartida. Para evitar compartir esta carpeta de sistema entre aplicaciones de servidor fusionado construidas con diferentes versiones de 4D, ahora puede definir el nombre de la carpeta durante el proceso de construcción de la aplicación con la nueva clave buildApp para establecer su propia carpeta de estructura. Lea la documentación

Carpeta de caché 4D personalizada para clientes 4D fusionados

Conectar su aplicación remota a varios servidores puede a veces resultar en la obtención de una gran carpeta de recursos locales en el sistema, que puede consumir mucho tiempo, volumen y ancho de banda. La nueva clave buildApp permite compartir la misma carpeta de recursos locales entre todos los servidores idénticos. Lea la documentación

Integración mejorada del diario

Cuando se ejecuta un 4D Server en producción, todo debe ser completamente automático y funcionar sin la intervención de un administrador. Esto es especialmente importante con la actualización automática y cuando se opera en modo Headless. Después de una pérdida de energía o una caída, los errores menores en el diario pueden impedir que un 4D Server se reinicie automáticamente. Una nueva opción permite ahora suprimir los mensajes de error no críticos (pero seguir informando de ellos en un registro), reduciendo el tiempo de inactividad del sistema. Lea la documentación

Conceder dinámicamente los permisos de los usuarios

Tras la posibilidad de utilizar su propio sistema de gestión de usuarios finales y el comando SET USER ALIAS, hemos añadido la posibilidad de gestionar los permisos de los usuarios finales. El nuevo comando SET GROUP ACCESS le permite establecer dinámicamente la pertenencia a grupos. Lea la documentación

Almacenar los alias de usuario en el diario

El comportamiento del comando SET USER ALIAS ha sido ampliado en 4D v19 para permitirle saber quién hizo qué. Ahora, cuando se establece un alias, también se almacena en el diario. Esto le permite recuperar el usuario correcto, incluso si varios usuarios comparten el mismo ordenador y/o cuenta del sistema. El nombre del usuario se muestra en

  • las pestañas de análisis de actividad y de reversión del MSC
  • el diálogo que se muestra con el comando CHECK LOG FILE
  • el archivo JSON generado por LOG FILE TO JSON Lea la documentación

Supervisar las operaciones lentas

Para descubrir qué operaciones están ralentizando un servidor, puede utilizar el nuevo comando START MONITORING ACTIVITY . Registra en memoria las operaciones que superan una duración determinada.

Basándose en las especificaciones establecidas por este comando, también puede obtener todas las actividades registradas con el comando Get Monitored Activity(). Cuando decidas dejar de grabar la actividad de tu aplicación 4D o vaciar la lista de actividades, llama al comando STOP MON ITORING ACTIVITY. Lea la documentación

Listbox

Gestionar los clics en las celdas editadas

El evento de formulario on clicked

se activa tanto si una celda está siendo editada como si no, lo que le proporciona un mayor control y mejora la interfaz. Esto puede ser útil si quieres mostrar los posibles valores de una celda cuando está siendo editada, utilizando un menú contextual por ejemplo. Una vez seleccionada la fila, puede ofrecer una opción de color para esa fila o celda en particular.

Para asegurar la compatibilidad, si ya tiene código que se ejecuta durante el evento «on clicked», puede querer detener la ejecución de ese código cuando se produce un clic dentro de una celda editada. En este caso, simplemente pruebe el estado de la celda con la función está editando texto de antemano. Lea la documentación

Columnas de tiempos y cálculos de pies de página blank

Aunque los nuevos cuadros de lista que utilizan colecciones o selecciones de entidades ofrecen más posibilidades, no permitían la visualización del tiempo y los cálculos automáticos en el pie de página, a diferencia de los cuadros de lista que muestran matrices o registros.

Ahora todos los tipos de cuadros de lista pueden mostrar el tiempo en sus columnas y los cálculos en el pie de página. Lea la documentación

Mejora del tipo de avance

Normalmente, un cuadro de lista sólo puede recibir eventos de pulsación de teclas en modo de edición. Esto impedía el filtrado automático de la lista o la selección de entradas cuando un usuario utilizaba el teclado o los cuadros de lista no entrables.

Ahora, el evento On before Keystroke se genera tan pronto como el cuadro de lista tiene el foco, y se escribe una tecla aunque no se estén introduciendo datos en una celda. Esto permite a 4D saber qué teclas se han pulsado y hace posible (mediante programación) tomar decisiones como iniciar una nueva búsqueda o cambiar la selección actual.

Se ha añadido el nuevo comando Is editing text para ayudar a determinar si hay una entrada en curso cuando se genera el evento On before keystroke. Por ejemplo, permite que un cuadro de lista sea editable, y sigue siendo compatible con las funciones de escritura anticipada. Los eventos On before keystroke y On after keystroke admiten ahora diálogos de ayuda del sistema para seleccionar diacríticos como é, ä o caracteres asiáticos. El evento se retrasa hasta que el usuario final selecciona los caracteres finales. No es necesario que manejes esto tú mismo. Lea la documentación

Funciones Pro Listbox gratuitas

Ya no necesita una licencia de 4D View Pro para utilizar estas funciones avanzadas. Puede aprovechar al máximo las cajas de lista para

  • adaptar automáticamente la altura de cada fila a su contenido para que se muestre todo el texto o la imagen
  • utilizar matrices de objetos en las columnas para poder introducir y mostrar varios tipos de valores en las filas de una misma columna del cuadro de lista.

Configurar filas movibles por código

En el modo de diseño, cuando se utilizan cuadros de lista basados en matrices, se puede definir si los usuarios finales pueden mover las filas(por ejemplo, para reordenar o agrupar filas, etc.). Los comandos LISTBOX SET PROPERTY y LISTBOX Get property han sido actualizados para soportar la nueva propiedad lk movable rows. Lea la documentación

Selección de filas del listbox

El nuevo comando LISTBOX SELECT ROWS facilita la selección de filas en una selección de entidades. Toma una selección de entidades como parámetro, y las filas que coinciden con la selección de entidades pueden seleccionarse de forma intuitiva (incluidas las filas añadidas o eliminadas de la selección). En el caso de los cuadros de lista de colecciones, se puede pasar una colección que contenga las referencias a objetos que se quieran seleccionar. Lea la documentación

Tome el control del área de trabajo

Los elementos gráficos del sistema, como el dock de macOS o la barra de tareas de Windows, se tienen en cuenta para que pueda utilizar toda el área de trabajo disponible. Se ha añadido un nuevo parámetro opcional al comando COORDENADAS DE PANTALLA: Área de trabajo de la pantalla. De esta manera, puedes estar seguro de que las ventanas de tu aplicación están en un área visible (especialmente en el modo SDI en Windows). Lea la documentación

XML: Soporte mejorado de XPath

A partir de 4D v19, la implementación de XPath es más compatible y simplifica sus búsquedas al permitir el soporte de expresiones como //, @, * y last(). Por razones de compatibilidad, la implementación anterior, no estándar, se mantiene por defecto en las bases de datos convertidas. Para aprovechar las características extendidas en sus bases de datos convertidas, seleccione la opción Usar compatibilidad con XPath estándar en la página Compatibilidad. Lea la documentación

Mejora de objetos y colecciones

El comando OB Copy() y el método miembro collection.copy() han sido mejorados. Ahora ofrecen la posibilidad de añadir un objeto estándar en un objeto compartido o una colección, lo que simplifica la copia del contenido de este objeto estándar en el objeto compartido o la colección. Además de esto, ahora están disponibles nuevos comandos para manejar objetos como mapas hash:

  • OBKeys: devuelve los nombres de las propiedades de un objeto como una colección
  • OBValores: devuelve los valores de las propiedades de un objeto como una colección
  • OBEntradas: devuelve una colección de objetos con propiedades clave (nombre de la propiedad) y valores (valor de la propiedad). Lea la documentación

Crear un área web fuera de la pantalla

4D v19 te permite utilizar un área web en modo offscreen con el comando WA Run offscreen area. Crea un área web en memoria y toma como parámetros toda la información relevante para el área web, como por ejemplo

  • la URL a cargar
  • el nombre del área
  • la fórmula llamada cuando un evento es lanzado por el área web

Para simplificar la depuración de las áreas web fuera de la pantalla, se ha añadido el nuevo comando WA OPEN WEB INSPECTOR . Abre el inspector web y permite verificar si la página se carga correctamente o si el código JavaScript arroja errores. Leer la documentación

Acceso a los valores de los objetos del formulario mediante programación

Dos nuevos comandos están disponibles para ayudarle a acceder a los valores de los objetos del formulario, independientemente de su variable o expresión: OBJECT Get value y OBJECT SET VALUE.

  • Para obtener el valor de un objeto de formulario, utilice el comando OBJECT Get value y pase el nombre de su objeto de formulario como parámetro.
  • Para establecer el valor de un objeto de formulario, utilice el comando OBJECT SET VALUE y pase el nombre y el nuevo valor como parámetros. Lea la documentación

Mejoras en la comparación de cadenas

4D proporciona herramientas versátiles para buscar y comparar cadenas. Pueden adaptarse a diferentes contextos y situaciones.

Con 4D v19, se han realizado actualizaciones en el comando Posición y se ha añadido el nuevo comando Comparar cadenas:

  • Posición: este comando tiene ahora más capacidades de comparación como «sensible a las mayúsculas y minúsculas» o «sensible a los acentos», y las siguientes opciones de búsqueda están ahora disponibles:
    • Idioma japonés (Hiragana/Katagana)
    • anchura de los caracteres
    • «palabra entera»
  • Comparar cadenas: este nuevo comando permite comparar cadenas con las mismas opciones que las añadidas al comando Posición. Este comando se basa en el idioma definido en la configuración de la base de datos. Esto puede ser útil para permitir, por ejemplo, clasificaciones específicas. Lea la documentación

Mejoras en el depurador 4D

4D v19 incluye nuevas opciones e información adicional que facilitarán el seguimiento y análisis de su código.

    • Parámetros: Conocer los parámetros de entrada y salida de un método o función, así como su tipo, es esencial para depurar el código. La línea de declaración se muestra en la parte superior izquierda de la ventana del depurador. En el panel de la cadena de llamadas, puedes elegir entre mostrar u ocultar el tipo del parámetro.
    • Comentarios: Para ayudar a explicar un método o función, una práctica común es incluir comentarios al principio de los bloques de código. Estos comentarios son ahora visibles en el depurador. Leer la documentación

Depurador remoto

Esta característica le permite decidir dónde quiere depurar su código de servidor (en el lado del cliente o en el lado del servidor). La depuración del lado del cliente es especialmente útil si ejecuta su servidor en modo headless o como un servicio de Windows.

Se han añadido dos nuevos elementos de menú en ambos lados para gestionar la fijación del depurador:

  • Adjuntar / Deshacer depurador: Adjuntar o quitar el depurador al cliente o al servidor de forma instantánea.
  • Adjuntar depurador al inicio: Adjunte el depurador cuando inicie su cliente o servidor.

Tenga en cuenta que el depurador sólo puede ser conectado a una sola instancia de 4D a la vez. Por ejemplo, si intenta adjuntar el depurador a su servidor sin separarlo del cliente, obtendrá un mensaje de error con información sobre el propietario del depurador.

Para ayudarte a diferenciar si el depurador o las ventanas de error son del servidor o del cliente, hemos cambiado el aspecto de estas ventanas. Leer la documentación

4D Write Pro

Convierte tus documentos de Word al formato de 4D Write Pro blank

Ahora puedes importar documentos .docx a 4D Write Pro. Para ello, utiliza la nueva constante wk docx con el comando existente WP Import document. Por favor, ten en cuenta que 4D Write Pro importará la mayor parte del contenido del documento MS Word, excepto lo que no está soportado en 4D Write Pro (como se detalla en el capítulo de documentación: Importar y exportar en formato .docx). Además, durante el proceso de importación, se genera un registro de importación que se integra dentro del propio documento de 4D Write Pro. Podrás consultarlo para ver si existen posibles diferencias entre el documento original y el convertido. Lea la documentación

Exportación directa a PDF

Sin necesidad de instalar ningún controlador de impresión o software adicional, los documentos de 4D Write Pro pueden ser exportados directamente a formato PDF. Una exportación directa no sólo es más rápida y fiable que un controlador de impresión, sino que también te da más control sobre el resultado. Soporta hipervínculos, permite la optimización del tamaño de las imágenes, y mucho más. El comando WP EXPORT DOCUMENTO ha sido actualizado para aceptar una nueva constante: wk pdf. Lea la documentación

Buscar y reemplazar blank

Encontrar y reemplazar texto dentro de un documento de 4D Write Pro ya es posible con comandos básicos como WP Get text y WP Set text. El nuevo comando WP Find all hace este proceso más rápido que nunca. Lea la documentación

Localizar todas las rupturas blank

Los documentos de 4D Write Pro soportan cinco tipos de saltos:

  • saltos de línea
  • saltos de párrafo
  • saltos de página
  • saltos de sección
  • saltos de columna

A veces, es necesario localizar un determinado tipo de salto para sustituirlo por otro, o simplemente eliminar todas sus apariciones en el documento. Para hacer esto posible, hemos desarrollado una nueva función: WP Get breaks. Lea la documentación

Fórmulas: gestión del comportamiento del retorno de carro

La nueva propiedad del documento wk romper párrafos en las fórmulas define cómo debe tratarse un retorno de carro está disponible. Tiene dos valores posibles:

  • wktrue: Se interpreta como saltos de párrafo.
  • wk false: (valor por defecto) Se interpreta como saltos de línea. Lea la documentación

Mejoras en la interfaz de usuario

Una nueva pestaña está disponible en el widget de la interfaz de 4D Write Pro. Le permite importar y exportar documentos en diferentes formatos. También hemos añadido mejoras en la barra de herramientas y en la barra lateral. Ahora puede

  • aumentar o disminuir el texto
  • copiar y pegar la regla
  • cambiar el color de fondo de un párrafo
  • cambiar el estilo de una palabra (mayúsculas, minúsculas, etc.). Leer la documentación

Seleccionar las páginas del widget a mostrar

4D muestra sólo las páginas mencionadas en la colección, en el orden de la misma. Esto permite reducir el conjunto de características para hacerlo más sencillo para el usuario final. Si sólo se necesitan opciones de estilo, es mejor no mostrar las otras funcionalidades. Ahora, el widget 4D Write Pro ofrece la posibilidad de seleccionar qué páginas mostrar con el nuevo método del componente WP ShowTabPages. Simplemente pase el nombre del widget y una colección de páginas a mostrar cuando llame al método. Lee la documentación

Selección de caracteres para pestañas decimales

Si tiene documentos de varias fuentes, los números pueden no estar correctamente formateados para sus necesidades. Ahora, 4D Write Pro le permite especificar esta configuración para cada documento. Puede elegir alinear los números a

  • el punto
  • la coma
  • el primer separador encontrado (punto o coma)
  • el separador definido en el sistema operativo

Para maximizar la compatibilidad (con MS Word en particular) la opción #3 se utiliza por defecto al crear nuevos documentos. Al migrar documentos de 4D Write a 4D Write Pro, se utiliza por defecto el separador definido en el sistema. Lea la documentación

Gestionar los guiones suaves

La inserción de guiones suaves se ha simplificado proporcionando nuevas acciones estándar, así como nuevos botones en los widgets de la interfaz de 4D Write Pro.

Hay dos nuevas acciones estándar disponibles:

  • insertSoftHyphen
  • removeSoftHyphens

La funcionalidad también se ha añadido a los widgets de la interfaz 4D Write Pro tanto en el widget de la barra de herramientas como en el de la barra lateral. Leer la documentación

Nuevas acciones estándar para tablas y sus elementos

4D v19 añade nuevas acciones estándar a 4D Write Pro, dirigidas a tablas, filas y celdas. Permiten definir el tipo de borde de una tabla, el color de fondo de una celda, la alineación vertical del texto en una fila, la alineación de la propia tabla dentro del documento, los márgenes, el relleno y más de 40 opciones. En consecuencia, la interfaz de 4D Write Pro ha sido mejorada en cuanto a las capacidades de procesamiento de tablas. Se han añadido cuatro nuevos botones para cambiar la apariencia de las tablas, filas, columnas y celdas. Lea la documentación

Soporte de atributo protegido

En 4D v19, las partes designadas de los documentos de 4D Write Pro (o todas las partes) pueden ser «no editables». Hay dos niveles de protección disponibles. Primero, defina qué parte de los documentos estará protegida (por defecto, todas las partes están protegidas). A continuación, active el indicador de protección del documento para que se tengan en cuenta los ajustes realizados. Para ello, puede utilizar dos nuevos atributos con el comando WP SET ATTRIBUTES :

  • wk protected (puede establecerse para casi cualquier tipo de objetivo perteneciente a un documento)
  • wk protectionenabled (activa o desactiva la protección global del documento). Leer la documentación

Gestión de fórmulas dentro de los documentos

4D v19 incluye un conjunto de comandos que pueden ayudarle a gestionar las fórmulas dentro de sus documentos de 4D Write Pro:

  • WP Obtener fórmulas: Recupera todas las fórmulas dentro de un objetivo específico (el documento completo, y también partes más específicas de un documento como el cuerpo, la segunda sección, el encabezado izquierdo, etc.),
  • WP Insertar fórmula: Inserta una expresión como objeto de fórmula dentro de un rango determinado,
  • WPCalcular f órmulas y WP Congelar fórmulas: Pueden utilizarse de forma muy similar(es decir, utilizando un objetivo). Reevalúa todas las expresiones de un documento o simplemente congela sólo las expresiones pertenecientes a los pies de página. Leer la documentación

Borrar imágenes

La eliminación de imágenes en línea o ancladas puede hacerse ahora con el nuevo comando WP DELETE PICTURE . Simplemente recupere la imagen que desea eliminar por su ID (usando WP Get element by ID) o por su posición (usando WP Get elements), luego llame al comando. Lea la documentación

Vista 4D Pro

Mejoras con SpreadJS v14 blank

4D v19 viene con una nueva cinta de 4D View Pro. Además de la nueva apariencia, hemos agregado nuevas características para soportar las nuevas funcionalidades de SpreadJS v14.

Esta nueva barra de herramientas trae nuevas funcionalidades como:

  • Soporte de accesibilidad: Proporciona un soporte de accesibilidad adecuado para los usuarios con discapacidades que utilizan tecnologías de asistencia como los lectores de pantalla. Para más información, consulte Soporte de accesibilidad
  • Personalización del indicador de comentarios: Los usuarios pueden ahora cambiar el color y el tamaño del indicador.
  • Copiar imágenes desde Excel: Permite copiar imágenes desde Excel y pegarlas en las hojas. La imagen pegada tendrá el mismo tamaño, borde y fondo que tenía en Excel.
  • Efectos de relleno y patrones: Mejore la apariencia de las celdas en una hoja de cálculo aplicando efectos de patrón o gradiente a las celdas. Para más información, consulte Relleno de patrón y Relleno de degradado.

Soporte de seis idiomas

Además del inglés, hemos añadido soporte para el francés, el alemán, el español, el japonés y el portugués. Si usted es un usuario de 4D v19 y superior con un sistema operativo que coincida con los idiomas soportados, notará que todos los elementos de 4D View Pro están ahora traducidos (cinta de opciones, barra de herramientas, menú contextual, mensajes de error, etc.).

Fin de la carga del documento

Dos nuevos eventos están disponibles para permitirle saber cuando sus cálculos han terminado: En el rango de VP cambiado y en el evento del temporizador.

Esto puede ser útil, por ejemplo, cuando se carga un documento grande de 4D View Pro con muchas fórmulas, y los cálculos pueden tardar en completarse, o cuando se utiliza un área fuera de la pantalla y se quiere exportar el documento a formato PDF o Excel. En estos casos, es necesario esperar a que los cálculos terminen antes de continuar. Lea la documentación

Buscar y reemplazar

Hay veces en que usted inicializa un documento de 4D View Pro, y necesita encontrar algunos valores o etiquetas y reemplazarlos con datos emitidos desde 4D. Ahora es una brisa con el comando VP Find. Gracias a este comando, usted puede encontrar datos, fórmulas o etiquetas y reemplazarlos en toda la hoja o sólo en una parte específica de ella. Lea la documentación

Fórmulas 4D en hojas de cálculo

El comando VP SET CUSTOM FUNCTIONS permite crear funciones personalizadas en 4D View Pro para ejecutar una fórmula 4D. No es necesario crear un método para utilizar una simple variable en 4D View Pro, simplemente pásala como parámetro a tu fórmula. Además, el comando simplifica la escritura para el usuario final proporcionando texto de ayuda y nombres de parámetros. En estructuras grandes, usar este comando es mucho más rápido que usar el comando genérico SET FIELD TITLES. Lea la documentación

Área fuera de la pantalla

El nuevo comando VP Run offscreen area permite manipular los comandos y funciones de 4D View Pro en un área fuera de la pantalla. Para utilizarlo, basta con pasar la información del área como parámetro (por ejemplo, el nombre del área y el método llamado cuando se lanza un evento por el área de 4D View Pro). Lea la documentación

Fusionar y des-fusionar celdas

Un nuevo conjunto de comandos está a su disposición para ayudarle a fusionar y desunir un grupo de celdas mediante programación:

  • Para crear una celda fusionada, defina un rango con todas las celdas que desea combinar, y luego páselo como parámetro al nuevo comando VP ADD SPAN que combina las celdas en un solo tramo de celdas.
  • Para recuperar todas las celdas combinadas, utilice el comando VP Get spans.
  • Para eliminar las celdas separadas en su documento, utilice el comando VP REMOVE SP AN. Lea la documentación

Fórmulas: recalcular, suspender y reanudar

Tres nuevos comandos le permiten activar los cálculos de las fórmulas cuando lo desee:

  • Utilice VP RECOMPUTAR FÓRMULAS para recalcular las fórmulas cuando los datos cambien.
  • Utilice VP SUSPENDER CÁLCULO y VP REANUDAR CÁLCULO para suspender y reanudar los cálculos respectivamente. Lea la documentación

Más opciones para personalizar las hojas de trabajo

El nuevo VP SET SHEET OPTIONS le permite definir varias opciones de hoja de un área de 4D View Pro. Por ejemplo, este comando le permite

  • proteger una hoja de trabajo impidiendo que se editen las celdas que contiene
  • personalizar los colores de las pestañas de la hoja de trabajo, las líneas congeladas, las líneas de cuadrícula o el fondo y el borde de una selección
  • gestionar la visibilidad de las líneas de la cuadrícula de una hoja de trabajo y los encabezados de las filas y columnas. Leer la documentación

Gestionar filas y columnas

4D v19 incluye nuevos comandos para gestionar las columnas y las filas. Estos comandos le permiten adaptar mejor sus documentos a sus necesidades. Se pueden añadir y eliminar columnas y filas, o definir su tamaño, visibilidad y etiquetas de cabecera con los siguientes comandos:

  • VPINSERT ROWS o VP INSERT COLUMNS: Añade filas o columnas pasando un rango que contiene la primera columna o fila como parámetro y el número de filas o columnas a añadir.
  • VPSET COLUMN COUNT y VP SET ROW COUNT: Definen el número de columnas y filas mostradas. Por defecto, una hoja de 4D View Pro contiene 100 columnas y 1.000 filas.
  • VPDELETE ROWS o VP DELETE COLUMNS: Elimina filas o columnas específicas.
  • VPSET COLUMN ATTRIBUTES y VP SET ROW ATTRIBUTES: Especificar la anchura de las columnas o la altura de las filas; añadir un salto de página para la impresión; ocultar o mostrar columnas o filas; habilitar o prohibir el cambio de tamaño de las columnas o filas por parte de los usuarios; cambiar las etiquetas de las cabeceras de las columnas o filas. Lea la documentación

Bloquear filas y/o columnas

El nuevo comando VP SET FROZEN PANES le ayuda a crear paneles. Si tiene una tabla grande de datos, puede ser útil mantener visible un área de una hoja de trabajo mientras se desplaza a otra área. Con este comando, puede crear hasta 4 paneles en su área: uno a la izquierda, uno arriba, uno a la derecha y uno abajo. Lea la documentación

R-releases en profundidad