ORDA et 4D Write Pro : le couple de choc !

Traduit automatiquement de Deepl

Les documents de 4D Write Pro contiennent souvent des formules renvoyant des données ou des calculs dépendant de la base de données. Grâce à l’utilisation des contextes, associer ces données aux documents devient un jeu d’enfant !

Dans ce billet de blog, nous verrons comment la combinaison de documents 4D Write Pro avec des données récupérées par ORDA rend le code clair et facile à maintenir.

ORDA et 4D Write Pro en action

4D Write Pro et les données

Qu’il s’agisse de lettres, de campagnes d’e-mailing, de génération de catalogues, d’impression de factures, etc., les données affichées ou imprimées proviennent toujours de la base de données. Grâce à ORDA, l’accès à ces données est de plus en plus efficace, et le nouveau concept de contextes vous permettra d’exploiter efficacement les informations contenues dans vos documents.

Un contexte ? Qu’est-ce qu’un contexte ?

Un contexte est un objet : Une entité, une sélection d’entités, ou tout objet composé d’autant d’attributs que nécessaire. Une fois créé et associé à un document, ce contexte peut être utilisé directement dans le document à l’aide de la fonction This, que vous connaissez maintenant.

Un cas simple : Campagne de publipostage

Disons que vous avez une classe de données Personnes et que vous voulez envoyer des e-mails à une sélection de ces personnes. La première chose à faire est de créer le modèle de lettre avec les informations à communiquer, puis d’insérer les données de chaque personne (son nom, son adresse, etc.) dans ce modèle. Ce processus est bien connu, mais nous allons voir comment insérer ces informations une fois le contexte créé.

Pour chaque personne…

Avant d’imprimer votre lettre type, associez chaque entité de votre sélection au modèle.
Et le tour est joué !

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

Mais que contient le modèle ?

Le contexte $person est accessible dans le modèle via la formule This.data.
Si l’entité $person possède un attribut lastname, cet attribut sera accessible via This.data.lastname.

Votre lettre type contiendra donc ce genre d’expressions :

Une fonction dans la classe PeopleSelection

Pour la beauté du code, vous pouvez créer une fonction qui recevra le modèle imprimé avec les données des entités.

Class extends EntitySelection

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

L’appel de cette fonction se fera de la manière suivante de façon exquise :

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

Conclusion

Vous trouverez de plus amples informations dans la documentation. Et n’hésitez pas à nous faire part de vos commentaires et expériences sur le forum 4D.

Roland Lannuzel
- Product Owner & 4D Expert - Après avoir étudié l'électronique, Roland s'est lancé dans l'informatique industrielle en tant que développeur et consultant, créant des solutions pour les clients avec une variété de bases de données et de technologies. À la fin des années 80, il est tombé amoureux de 4D et l'a utilisé pour écrire des applications commerciales, notamment des systèmes de comptabilité, de facturation et de messagerie électronique. Il a rejoint la société en 1997 et a contribué à la conception de spécifications, d'outils de test et de démonstrations, ainsi qu'à la formation et à la présentation de la communauté 4D lors de nombreuses conférences. Il continue à façonner activement l'avenir de 4D en définissant de nouvelles fonctionnalités et des outils de développement de bases de données.