Pasar datos de un lado a otro de los formularios

Traducido automáticamente de Deepl

¿No sería genial poder abrir un formulario y pasarle algunos parámetros para inicializar sus objetos de formulario? ¿Y qué tal si pudieras también recuperar los datos para procesarlos, después de que hayan sido modificados por el usuario? 4D v16 R5 facilita mucho tu codificación al simplificar enormemente las comunicaciones con los formularios.

Hasta ahora, cuando querías mostrar datos (no procedentes de la propia base de datos, sino computados o externos) a múltiples usuarios, tenías dos opciones: o escribir código complejo para manejar la visualización de datos en múltiples procesos, o crear tantos formularios como fuera necesario con un montón de variables globales. Pero sabes que las variables globales no son una forma optimizada de codificar, desde el punto de vista de la memoria.

Así que deshazte de tu código complejo y de las variables globales. Con 4D v16 R5 puedes simplemente vincular un objeto a tu formulario y utilizarlo internamente con el nuevo comandoForm . Sin complicaciones… ¡y poderoso!

Ejemplo de base de datos

Pasar parámetros a un formulario

Ahora es posible pasar parámetros en un objeto a un formulario utilizando el DIALOG comando. Cualquier propiedad de este objeto estará entonces disponible desde el contexto del formulario a través del Form comando.

C_LONGINT($window)
C_OBJECT($address)

$address:=Nuevoobjeto
$address.CompanyName:="4D"
$address.LastName:="Dupont"
...

$window:=Abrirventana de formulario("AddressForm";Cuadro de diálogo de formulario móvil)

// El formulario se abre con el objeto $dirección como parámetro
// Esto permite modificar el objeto $dirección en el formulario con el comando Form
DIALOG("AddressForm";$dirección)
CERRAR VENTANA($window)
ALERT("El nuevo nombre de la empresa es: "+
$address.CompanyName)

En el formulario «AddressForm «, basta con utilizar el comando Form en el origen de datos del objeto del formulario:

Cuando los usuarios cierran el diálogo, los valores que introdujeron están disponibles en el método de llamada a través del objeto $address .

Pasar parámetros a un subformulario

De la misma manera que se pasa un objeto a un formulario con el comando DIALOG también puede pasar un objeto a un área de subformulario utilizando la lista de propiedades. Luego, puede utilizarlo en el subformulario con el comando Form comando. En el ejemplo siguiente, el objeto InvoiceAddress está vinculado al subformulario.

blank

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.