ORDA e 4D Write Pro: la coppia vincente!

Tradotto automaticamente da Deepl

I documenti di 4D Write Pro contengono spesso formule che restituiscono dati o calcoli a seconda del database. Grazie all’uso dei contesti, associare questi dati ai documenti è ora un gioco da ragazzi!

In questo post vedremo come la combinazione di documenti 4D Write Pro e dati recuperati con ORDA renda il codice chiaro e facile da mantenere.

ORDA e 4D Write Pro in azione

4D Write Pro e i dati

Che si tratti di lettere, campagne e-mail, generazione di cataloghi, stampa di fatture e così via, i dati visualizzati o stampati provengono sempre dal database. Grazie a ORDA, l’accesso a questi dati è sempre più efficiente e il nuovo concetto di contesto vi permetterà di sfruttare in modo efficace le informazioni contenute nei vostri documenti.

Un contesto? Che cos’è un contesto?

Un contesto è un oggetto: Un’entità, una selezione di entità o qualsiasi oggetto composto da tutti gli attributi necessari. Una volta creato e associato a un documento, questo contesto può essere utilizzato direttamente all’interno del documento utilizzando la funzione This, che ormai conoscete bene.

Un caso semplice: CAMPAGNA DI MAILING

Supponiamo di avere una classe di dati Persone e di voler inviare e-mail a una selezione di queste persone. La prima cosa da fare è creare il modello di lettera con le informazioni da comunicare, quindi inserire i dati di ciascuna persona (nome, indirizzo, ecc.) in tale modello. Questo processo è ben noto, ma vedremo come inserire queste informazioni una volta creato il contesto.

Per ogni persona…

Prima di stampare la lettera modello, associate ogni entità della vostra selezione al modello.
E questo è tutto!

For each ($person; $es_people)
WP SET DATA CONTEXT ($template; $person)
WP PRINT ( $template)
End for each

Ma cosa contiene il modello?

Il contesto $person è accessibile nel modello tramite la formula This.data.
Se l’entità $person ha un attributo lastname, questo attributo sarà accessibile tramite This.data.lastname.

Il vostro modello di lettera conterrà quindi questo tipo di espressioni:

Una funzione della classe PeopleSelection

Per la bellezza del codice, si può creare una funzione che riceverà il modello stampato con i dati delle entità.

Class extends EntitySelection

Function mailing($template: Object)
For each ($people; This)
WP SET DATA CONTEXT ($template; $people)
WP PRINT ( $template)
End for each

La chiamata di questa funzione avverrà come segue in modo squisito:

// create entity selection
$es
:=ds.People.all()
// mailing based on 4D Write Pro template
$es
.
mailing($template)

Conclusione

Ulteriori informazioni sono disponibili nella documentazione. E sentitevi liberi di condividere con noi il vostro feedback e la vostra esperienza sul forum 4D.

Roland Lannuzel
- Product Owner ed esperto di 4D - Dopo aver studiato elettronica, Roland è passato all'IT industriale come sviluppatore e consulente, realizzando soluzioni per i clienti con una varietà di database e tecnologie. Alla fine degli anni '80 si è innamorato di 4D e lo ha utilizzato per scrivere applicazioni aziendali che includono sistemi di contabilità, fatturazione e posta elettronica. Entrato a far parte dell'azienda nel 1997, Roland ha dato il suo prezioso contributo progettando specifiche, strumenti di test e demo, oltre a formare e parlare alla comunità 4D in occasione di numerose conferenze. Continua a plasmare attivamente il futuro di 4D definendo nuove funzionalità e strumenti di sviluppo di database.