Migliori moduli 4D: le migliori scelte a confronto (2026)
I moduli 4D rappresentano il livello dell’interfaccia utente di un’applicazione 4D e la piattaforma offre tre tipi di moduli distinti: dettaglio, elenco e modulo di output, ciascuno adatto a un’attività diversa. Nel 2026, l’approccio corretto significa abbinare il tipo di modulo all’attività, quindi sovrapporre elenchi di valori, sottomoduli e proprietà dinamiche. Questo confronto copre le opzioni pratiche, i loro compromessi e come decidere.
Punti chiave
- 4D offre tre tipi di moduli 4D: dettaglio (un record alla volta), elenco (diversi record in una griglia) e output (layout di stampa/report). Scegliere il tipo sbagliato è l’errore più comune commesso dai principianti.
- I Moduli di progetto (memorizzati come file JSON
.4DForm) sono l’impostazione predefinita moderna; I moduli di tabella sono legacy e collegati a una singola tabella. Il nuovo lavoro dovrebbe utilizzare moduli di progetto. - I Moduli dinamici (
DIALOG,FORM LOAD,FORM GOTO PAGE) consentono di creare e scambiare interfacce in fase di runtime, essenziali per flussi in stile procedura guidata e interfacce utente basate su ruoli. - Gli Elenchi di valori (statici, gerarchici o da un campo/array) guidano elenchi a discesa, caselle combinate e menu a comparsa; associarli a un campo è una modifica della proprietà a riga singola.
- I Sottomoduli incorporano un modulo all’interno di un altro e rappresentano il modo standard per creare layout master-detail senza duplicare i widget.
- Le prestazioni sui moduli elenco dipendono fortemente dalla selezione dell’entità rispetto alla selezione classica e dall’abilitazione del caricamento lento per set di record di grandi dimensioni.
Cosa significano realmente i “Moduli 4D”
I moduli 4D sono definizioni dichiarative dell’interfaccia utente archiviate nella struttura (moduli di tabella) o come file di progetto autonomi (moduli di progetto). Un modulo contiene oggetti (campi di input, pulsanti, caselle di elenco, sottomoduli, aree Web e testo statico) disposti su un’area di disegno con una dimensione di pagina definita e, facoltativamente, più pagine. Ogni oggetto porta proprietà (sorgente dati, stato inseribile, carattere, coordinate) che 4D valuta in fase di runtime.
La distinzione che più conta per un confronto: un form non è una finestra. Un modulo è un layout; una finestra è il contenitore che 4D apre per visualizzarla. Lo stesso modulo può essere visualizzato in una finestra di dialogo modale, in una finestra di tavolozza, in una finestra di documento ridimensionabile o incorporato come sottomodulo. Comprendere questa separazione consente agli sviluppatori esperti di riutilizzare un modulo in più contesti invece di ricostruirlo.
I tre tipi di modulo a confronto
| Tipo di modulo | Record mostrati | Uso tipico | Avvertenza chiave |
|---|---|---|---|
| Modulo dettaglio | Uno | Inserimento dati, modifica record, finestre di dialogo | Richiede una navigazione esplicita (pulsanti, NEXT RECORD) |
| Modulo elenco | Molti | Navigazione, selezione, dashboard | Selezioni di grandi dimensioni necessitano di caricamento lento o paginazione |
| Modulo di output | Molti | Stampa, esportazione PDF, report | Non interattivo; il layout è orientato alla stampa |
I Moduli dettagliati sono il cavallo di battaglia dell’immissione dei dati. Visualizzano il record corrente di una tabella e consentono agli utenti di modificare direttamente i campi. Un modulo dettagli è anche la scelta naturale per una finestra di dialogo delle impostazioni o una schermata di accesso, perché puoi non associarlo a nessuna tabella e gestirlo solo con variabili di processo.
I Moduli elenco presentano una griglia scorrevole di record. Nella moderna 4D, i moduli elenco sono in genere costruiti attorno a un oggetto casella di riepilogo anziché al vecchio approccio “modulo elenco con colonne”. Le caselle di elenco possono essere basate su array o su selezione e le caselle di elenco basate su selezione si collegano direttamente a una selezione di entità, che è il modello preferito quando si lavora con ORDA.
Moduli di output esistono per la stampa. Eseguono il rendering dei record in un layout di pagina con intestazioni, piè di pagina e livelli di interruzione. I moduli di output non sono destinati all’interazione su schermo e 4D non consentirà agli utenti di tabulare tra i campi come farebbero in un modulo dettagliato.
Correlato: — La piattaforma di database relazionale di lunga durata per i team che necessitano di app personalizzate su desktop, Web e dispositivi mobili da un singolo file..
Questi sono i tre tipi di moduli 4D.
Moduli di progetto e moduli di tabella
I moduli del progetto vengono archiviati come singoli file “.4DForm” nella cartella “Moduli” del progetto e sono abilitati per il controllo della versione: ogni modulo è un documento JSON separato, quindi due sviluppatori che modificano moduli diversi raramente si scontrano durante un’unione. I moduli di tabella si trovano nel file di struttura e vengono modificati tramite lo stesso editor di moduli, ma sono concettualmente collegati a un’unica tabella.
I suggerimenti pratici per il 2026: Inizia ogni nuovo modulo come modulo di progetto. I moduli di tabella rimangono completamente supportati e li incontrerai nei database legacy, ma i moduli di progetto offrono differenze più chiare, un riutilizzo più semplice tra tabelle e un modello mentale più chiaro. La conversione di un modulo di tabella in un modulo di progetto comporta lo spostamento del modulo dall’elenco dei moduli della tabella all’elenco dei moduli del progetto; le definizioni degli oggetti vengono preservate.
La nostra scelta: — Un'interfaccia semplice come un foglio di calcolo posizionata sopra un vero database relazionale, con automazioni, visualizzazioni e interfacce condivisibili..
Costruire un modulo: i passaggi principali
- Crea il modulo nell’editor dei moduli (Esplora → Moduli → Nuovo), scegliendo dettaglio, elenco o output.
- Imposta le dimensioni della pagina e, se necessario, aggiungi pagine per layout a più passaggi.
- Posiziona oggetti: trascina i campi da Explorer all’area di disegno o aggiungi pulsanti, caselle di riepilogo e sottomoduli dalla libreria di oggetti.
- Collega origini dati: assegna ciascun oggetto di input a un campo, una variabile o un’espressione.
- Configura elenchi di valori per qualsiasi elenco a discesa, casella combinata o menu a comparsa.
- Eventi collegati: collega metodi agli eventi del modulo (
On Load,On Clicked,On Data Change) e agli eventi dell’oggetto. - Prova nell’editor di moduli utilizzando l’anteprima integrata, quindi in una finestra in esecuzione.
Il passaggio 6 è il punto in cui avviene la maggior parte del lavoro reale durante la creazione di moduli 4D. Un modulo senza metodi evento è un’immagine statica; l’evento del modulo “On Load” è in genere il luogo in cui si popolano array, si carica un elenco di valori o si impostano stati accessibili in base al ruolo dell’utente corrente.
Liste valori: il dettaglio che fa inciampare le persone
Le liste valori sono il meccanismo dietro ogni menu a discesa, casella combinata e menu a comparsa nei moduli 4D. Ci sono tre tipi:
- Elenchi statici: inserisci i valori una volta nell’editor degli elenchi. Ideale per enumerazioni fisse come i codici di stato.
- Elenchi gerarchici: supporta elementi nidificati con una convenzione di separatore
|, utile per gli alberi di categoria. - Elenchi dinamici: popolati da un campo, un array o una formula in fase di esecuzione. Questi riflettono i dati in tempo reale, quindi un elenco di clienti attivi rimane aggiornato senza ridistribuzione.
Un errore comune: associare un elenco di valori dinamici a un campo che memorizza un riferimento (un ID) mentre viene visualizzata un’etichetta. 4D gestisce questo con il concetto di “valore associato”: l’elenco memorizza un valore e ne visualizza un altro. Farlo bene fa la differenza tra un elenco a discesa che registra “42” e uno che registra “Acme Corp.”
Sottomoduli e layout Master-Detail
I sottomaschere integrano un modulo in un altro. Il modulo genitore ospita un oggetto sottomodulo; il modulo figlio viene visualizzato all’interno. I dati fluiscono attraverso la proprietà “tabella” del sottomodulo e, nella moderna 4D, attraverso l’oggetto Form passato al figlio.
Il dettaglio principale è l’utilizzo canonico dei moduli 4D: un modulo dettaglio per una fattura in alto, un modulo elenco per le righe della fattura in un sottomodulo sottostante. Quando il record principale cambia, la selezione del sottomodulo viene aggiornata, a condizione che tu la aggiorni nella evento On Data Change del genitore o riassociando la selezione. I sottomoduli consentono inoltre di creare componenti riutilizzabili: un modulo di “selezione cliente” può essere inserito in qualsiasi genitore che ne abbia bisogno.
Moduli dinamici e interfaccia utente runtime
I moduli dinamici 4d modificano l’interfaccia mentre l’applicazione è in esecuzione. I comandi chiave sono “DIALOG” (apre un modulo come finestra di dialogo modale o non modale), “FORM LOAD” (carica un modulo in memoria senza visualizzarlo), “FORM GOTO PAGE” (cambia pagine) e “OBJECT SET…” che modificano al volo le proprietà dell’oggetto.
I moduli dinamici sono importanti per due scenari. Innanzitutto, i Flussi guidati: un singolo modulo con più pagine, avanzato da “FORM GOTO PAGE” man mano che l’utente completa i passaggi. In secondo luogo, le interfacce basate sui ruoli: nascondono o disabilitano gli oggetti durante il caricamento in base ai privilegi dell’utente, in modo che un modulo serva sia a un amministratore che a un visualizzatore di sola lettura. Il compromesso è la complessità: è più difficile eseguire il debug del comportamento dinamico rispetto a un layout statico, quindi riservatelo ai casi in cui sarebbe altrimenti necessario un secondo modulo.
Considerazioni sulle prestazioni
Le prestazioni dei moduli elenco moduli 4D sono dominate dal numero di record che 4D deve materializzare. Una casella di riepilogo basata sulla selezione collegata a una selezione di entità carica solo le righe visualizzate, mantenendo la memoria vuota man mano che la tabella cresce. Le classiche caselle di riepilogo basate su array caricano tutto in anticipo e rallenteranno notevolmente su tabelle di grandi dimensioni.
Altre due leve: caricamento lento sulle caselle di elenco (recupero di righe durante lo scorrimento) e query lato server che restituiscono una selezione limitata anziché l’intera tabella. Per le distribuzioni client-server, il costo di andata e ritorno per il recupero dei record attraverso la rete in genere riduce notevolmente il tempo di rendering, quindi restringere la selezione rappresenta l’ottimizzazione di massimo valore.
Come decidere
- Inserimento dati per un record? Modulo dettagliato.
- Sfogliare o selezionare tra molti record? Modulo elenco con una casella di riepilogo basata sulla selezione.
- Stampa o output PDF? Modulo di output.
- Riutilizzabile su più tabelle? Modulo di progetto, non modulo di tabella.
- Processo in più fasi? Un modulo con più pagine, avanzato dinamicamente.
- Relazione master-dettaglio? Modulo dettagli che ospita un sottomodulo del modulo elenco.
- Set di scelte fisse? Elenco di valori statici. Dati in tempo reale? Elenco dinamico di valori.
Queste opzioni ti aiutano a scegliere i moduli 4D giusti per le tue esigenze.
Risorse per l’apprendimento
La documentazione ufficiale 4D è il riferimento autorevole per moduli, oggetti, eventi e comandi 4D. Inizia da lì per scoprire i nomi esatti delle proprietà e le firme dei comandi. Per informazioni generali sui concetti sottostanti del database, l’articolo di Wikipedia su 4D (software) fornisce un’utile storia della piattaforma. Vale la pena leggere la pagina del formato JSON se prevedi di modificare manualmente i file .4DForm o di confrontarli nel controllo della versione. Per i principi generali di progettazione relazionale che informano su come strutturare le tabelle dietro i moduli, consulta la panoramica sulla normalizzazione del database.
Domande frequenti
Cos’è un modulo 4D?
Un modulo 4D è una presentazione dichiarativa dell’interfaccia utente composta da oggetti (campi di input, pulsanti, caselle di riepilogo, sottomoduli) collegati a origini dati. 4D valuta le proprietà del modulo in fase di esecuzione e lo visualizza in una finestra, una finestra di dialogo o come sottomodulo incorporato. I moduli sono di tre tipi: dettaglio, elenco e output.
Qual è la differenza tra un modulo dettaglio e un modulo elenco in 4D?
Un modulo dettagli visualizza un record alla volta e viene utilizzato per l’immissione e la modifica dei dati. Un modulo di elenco visualizza molti record, in genere in una casella di elenco, e viene utilizzato per la navigazione e la selezione. I due sono spesso combinati: un modulo di elenco per scegliere un record, quindi un modulo di dettaglio per modificarlo.
Dovrei utilizzare moduli di progetto o moduli tabellari?
I moduli di progetto rappresentano lo standard moderno per impostazione predefinita e vengono archiviati come file “.4DForm” separati, rendendoli più facili da riutilizzare e gestire nel controllo della versione. I moduli di tabella sono legacy e collegati a una singola tabella. Il nuovo sviluppo dovrebbe utilizzare forme di progetto; i moduli tabellari rimangono supportati per i database esistenti.
Come funzionano le liste valori nei moduli 4D?
Gli elenchi valori popolano elenchi a discesa, caselle combinate e menu a comparsa. Possono essere statici (inseriti una sola volta), gerarchici (elementi nidificati) o dinamici (creati da un campo, una matrice o una formula in fase di esecuzione). Una lista valori può memorizzare un valore mentre ne visualizza un altro, che è il modo in cui visualizzi il nome di un cliente mentre salvi il suo ID.
Posso modificare un modulo 4D in fase di esecuzione?
SÌ. I moduli dinamici utilizzano comandi come “DIALOG”, “FORM LOAD” e “FORM GOTO PAGE” per caricare moduli, cambiare pagina e modificare le proprietà dell’oggetto mentre l’applicazione è in esecuzione. Ciò supporta flussi in stile procedura guidata e interfacce basate sui ruoli in cui un modulo serve utenti diversi.
Perché il modulo dell’elenco 4D è lento con tabelle di grandi dimensioni?
La lentezza del modulo elenco generalmente deriva dalla materializzazione di troppi record. Le caselle di elenco basate sulla selezione collegate alle selezioni di entità caricano solo le righe visualizzate, mentre le caselle di elenco basate su matrice caricano tutto. Abilitare il caricamento lento e restringere la query a una selezione limitata sono le due correzioni con il maggiore impatto.
Domande frequenti
Cos'è un modulo 4D?
Un modulo 4D è una presentazione dichiarativa dell'interfaccia utente composta da oggetti (campi di input, pulsanti, caselle di riepilogo, sottomoduli) collegati a origini dati. 4D valuta le proprietà del modulo in fase di esecuzione e lo visualizza in una finestra, una finestra di dialogo o come sottomodulo incorporato. I moduli sono di tre tipi: dettaglio, elenco e output.
Qual è la differenza tra un modulo dettaglio e un modulo elenco in 4D?
Un modulo dettagli visualizza un record alla volta e viene utilizzato per l'immissione e la modifica dei dati. Un modulo di elenco visualizza molti record, in genere in una casella di elenco, e viene utilizzato per la navigazione e la selezione. I due sono spesso combinati: un modulo di elenco per scegliere un record, quindi un modulo di dettaglio per modificarlo.
Dovrei utilizzare moduli di progetto o moduli di tabella?
I moduli di progetto rappresentano lo standard moderno per impostazione predefinita e vengono archiviati come file ".4DForm" separati, rendendoli più facili da riutilizzare e gestire nel controllo della versione. I moduli di tabella sono legacy e collegati a una singola tabella. Il nuovo sviluppo dovrebbe utilizzare forme di progetto; i moduli tabellari rimangono supportati per i database esistenti.
Come funzionano le liste valori nei moduli 4D?
Gli elenchi valori popolano elenchi a discesa, caselle combinate e menu a comparsa. Possono essere statici (inseriti una sola volta), gerarchici (elementi nidificati) o dinamici (creati da un campo, una matrice o una formula in fase di esecuzione). Una lista valori può memorizzare un valore mentre ne visualizza un altro, che è il modo in cui visualizzi il nome di un cliente mentre salvi il suo ID.
Posso modificare un modulo 4D in fase di esecuzione?
SÌ. I moduli dinamici utilizzano comandi come DIALOG, FORM LOAD e FORM GOTO PAGE per caricare moduli, cambiare pagina e modificare le proprietà dell'oggetto mentre l'applicazione è in esecuzione. Ciò supporta flussi in stile procedura guidata e interfacce basate sui ruoli in cui un modulo serve utenti diversi.
Perché il modulo dell'elenco 4D è lento con tabelle di grandi dimensioni?
La lentezza del modulo elenco generalmente deriva dalla materializzazione di troppi record. Le caselle di elenco basate sulla selezione collegate alle selezioni di entità caricano solo le righe visualizzate, mentre le caselle di elenco basate su matrice caricano tutto. Abilitare il caricamento lento e restringere la query a una selezione limitata sono le due correzioni con il maggiore impatto.
Crea un'app personalizzata gratuitamente per 15 giorni
Un generatore di app a basso codice che si collega alla più ampia suite Zoho e prezzi per utente anziché per app.