Novedades de 4D v18 R5

Traducido automáticamente de Deepl

Clases del modelo de datos ORDA

Ámbito y contexto de ejecución de las funciones

Por defecto en el modo cliente/servidor, las funciones se ejecutan en el servidor. Ahora puedes elegir ejecutar algunas funciones en el cliente gracias a una nueva palabra clave: local. Además, tienes la posibilidad de elegir qué funciones publicar (o no) como API para clientes REST con la nueva palabra clave: exposed.

Selecciones de entidades compartibles

A veces puede querer compartir una selección de entidades con otro proceso o ponerla a disposición de 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.

Editor de formularios

Vista previa de CSS en el editor de formularios

Ahora puede obtener una vista previa de la representación final de CSS en el editor de formularios. Hay un nuevo icono en la barra de herramientas que te permite ver tu formulario con o sin el renderizado CSS, incluso mostrando cómo se verí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 un CSS.

Macros

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

  • Modificar, eliminar o añadir una propiedad a uno o más objetos
  • Añadir o eliminar uno o más objetos de formulario con su método 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 los 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 del 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 formularios, basta con declararlas en un archivo formMacros.json en el primer nivel de la carpeta Sources de su proyecto.

Nuevo comando para abrir el editor de formularios

Un nuevo comando de 4D para abrir un formulario en el editor de formularios está disponible. Esto puede ser especialmente útil para las herramientas de análisis o introspección. El nuevo comando se llama EDICIÓN DE FORMULARIO.

4D para iOS

Vinculación profunda

La vinculación profunda le permite compartir una URL. 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, usted 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.

Sincronización de datos optimizada

El proceso de sincronización de datos de 4D para iOS ha sido optimizado, ofreciéndole una sincronización de datos hasta 25 veces más rápida.

Características relacionadas con la programación

Nombramiento de parámetros para funciones y métodos

No hay necesidad de pasar por una variable intermedia, ahora puede nombrar sus 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.

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).

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

  • Adjuntar / Deshacer el 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 adjuntarse a una sola instancia de 4D a la vez. Por ejemplo, si intenta adjuntar el depurador a su servidor sin separarlo del cliente, aparecerá un mensaje de error con información sobre el propietario del depurador.

Y 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.

Características relacionadas con el despliegue

Personalizar la carpeta de caché de 4D para el servidor 4D 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.

Personalizar la carpeta de caché de 4D para clientes 4D fusionados

La conexión de 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 tiempo, volumen y red. Ahora tiene la posibilidad de compartir la misma carpeta de recursos locales entre todos los servidores idénticos con la nueva clave buildApp para compartir la carpeta de recursos locales.

Integrar el diario sin abortar al primer error

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

Correos electrónicos (IMAP)

Búsqueda y descarga de correos electrónicos

La búsqueda 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.

Copiar, mover y eliminar correos electrónicos

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

Listbox

Mejora del tipo de avance

Normalmente, un cuadro de lista sólo recibe eventos de pulsación de teclas en modo de edición. Sin embargo, esto impide que se utilice para filtrar automáticamente la lista o para seleccionar una entrada cuando un usuario estaba utilizando el teclado y un cuadro de lista no escribible.

Ahora, el evento On before Keystroke se genera tan pronto como el cuadro de lista tiene el foco y se escribe una tecla, incluso si 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 últimos caracteres. No es necesario que te ocupes de esto tú mismo.

4D Write Pro

Selección de caracteres para tabulaciones 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),
  • o 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 por el sistema.

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.

Dos nuevas acciones estándar están a su disposición:

  • insertSoftHyphen
  • removeSoftHyphens

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

Seleccionar las páginas a mostrar

4D muestra sólo las páginas mencionadas en la colección, en el orden de la colección. Esto permite reducir el conjunto de características para hacerlo más simple para el usuario final. Si sólo se necesitan opciones de estilo, es mejor no mostrar el resto de 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 pasa el nombre del widget y una colección de páginas a mostrar cuando llames al método.

Vista 4D Pro

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ásela como parámetro a su 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, este comando es mucho más rápido que usar el comando genérico SET FIELD TITLES.

¿Quiere saber más? Lea todas las publicaciones del blog sobre 4D v18 R5