Passaggio di dati tra i moduli

Tradotto automaticamente da Deepl

Non sarebbe fantastico se si potesse semplicemente aprire un modulo e passargli alcuni parametri per inizializzare gli oggetti del modulo? E se si potesse anche recuperare i dati da elaborare, dopo che sono stati modificati dall’utente? 4D v16 R5 rende la codifica molto più facile, semplificando notevolmente la comunicazione con i moduli.

Finora, quando si volevano visualizzare dati (non provenienti dal database stesso, ma calcolati o esterni) a più utenti, si avevano due possibilità: o scrivere codice complesso per gestire la visualizzazione dei dati in più processi, o creare tutti i moduli necessari con un mucchio di variabili globali. Ma si sa che le variabili globali non sono un modo ottimizzato di codificare, dal punto di vista della memoria.

Quindi sbarazzatevi del codice complesso e delle variabili globali! Con 4D v16 R5 potete semplicemente legare un oggetto al vostro modulo e usarlo internamente con il nuovo comandoForm . Indolore… e potente!

Esempio di database

Passare parametri a un modulo

È ora possibile passare parametri in un oggetto a un modulo utilizzando il comando DIALOG . Qualsiasi proprietà di questo oggetto sarà poi disponibile nel contesto del form tramite il comando Form .

C_LONGINT($finestra)
C_OBJECT($indirizzo)

$indirizzo:=Nuovooggetto
$indirizzo.NomeAzienda:="4D"
$indirizzo.Cognome:="Dupont"
...

$finestra:=Aprifinestra form("AddressForm";finestra di dialogo Movable form)

// Il form viene aperto con l'oggetto $indirizzo come parametro
// Ciò consente di modificare l'oggetto $indirizzo nel form con il comando Form
DIALOG("AddressForm";$indirizzo)
CLOSE WINDOW($finestra)
ALERT("Il nome della nuova azienda è: "+
$address.CompanyName)

Nel form “AddressForm”, è sufficiente utilizzare il comando Form nell’origine dati dell’oggetto del modulo:

Quando gli utenti chiudono la finestra di dialogo, i valori inseriti sono disponibili nel metodo chiamante tramite l’oggetto $indirizzo .

Passare parametri a una sottomaschera

Allo stesso modo in cui si passa un oggetto a un modulo con il comando DIALOG è possibile passare un oggetto a un’area di sottomaschera utilizzando l’elenco di proprietà. Quindi, è possibile utilizzarlo nella sottomaschera con il comando Form con il comando Nell’esempio seguente, l’oggetto InvoiceAddress è legato alla sottomaschera.

blank

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.