ORDA und 4D Write Pro: Das Power-Paar!

4D Write Pro Dokumente enthalten oft Formeln, die Daten oder Berechnungen in Abhängigkeit von der Datenbank zurückgeben. Dank der Verwendung von Kontexten ist die Verknüpfung dieser Daten mit Dokumenten nun ein Kinderspiel!

In diesem Blog-Beitrag werden wir sehen, wie die Kombination von 4D Write Pro Dokumenten mit Daten, die mit ORDA abgerufen werden, den Code klar und einfach zu pflegen macht.

ORDA und 4D Write Pro in Aktion

4D Write Pro und Daten

Egal, ob es sich um Briefe, E-Mail-Kampagnen, Katalogerstellung, Rechnungsdruck usw. handelt, die angezeigten oder gedruckten Daten stammen immer aus der Datenbank. Dank ORDA wird der Zugriff auf diese Daten immer effizienter, und das neue Konzept der Kontexte ermöglicht es Ihnen, die Informationen in Ihren Dokumenten effizient zu nutzen.

Ein Kontext? Was ist ein Kontext?

Ein Kontext ist ein Objekt: Eine Entität, eine Entitätsauswahl oder ein beliebiges Objekt, das aus so vielen Attributen wie nötig besteht. Sobald er erstellt und mit einem Dokument verknüpft ist, kann dieser Kontext direkt im Dokument mit der Funktion This verwendet werden, die Sie bereits kennen.

Ein einfacher Fall: Mailing CAMPAIGN

Nehmen wir an, Sie haben eine Datenklasse Personen und möchten E-Mails an eine Auswahl dieser Personen senden. Als erstes müssen Sie eine Briefvorlage mit den zu übermittelnden Informationen erstellen und dann die Daten jeder Person (Name, Adresse usw.) in diese Vorlage einfügen. Dieser Vorgang ist wohlbekannt, aber wir werden sehen, wie man diese Informationen einfügt, sobald der Kontext erstellt ist.

Für jede Person…

Bevor Sie Ihre Briefvorlage ausdrucken, ordnen Sie jede Entität Ihrer Auswahl der Vorlage zu.
Und das war’s!

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

Aber was enthält das Modell?

Der Kontext $person ist im Modell über die Formel This.data zugänglich.
Wenn die Entität $person ein Attribut lastname hat, ist dieses Attribut über This.data.lastname zugänglich.

Ihre Briefvorlage wird daher diese Art von Ausdrücken enthalten:

Eine Funktion in der Klasse PeopleSelection

Um den Code zu verschönern, können Sie eine Funktion erstellen, die die mit den Daten der Entitäten gedruckte Vorlage erhält.

Class extends EntitySelection

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

Der Aufruf dieser Funktion erfolgt auf exquisite Art und Weise wie folgt:

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

Schlussfolgerung

Weitere Informationen finden Sie in der Dokumentation. Und teilen Sie uns Ihr Feedback und Ihre Erfahrungen im 4D Forum mit.

Roland Lannuzel
- Product Owner & 4D Experte - Nach seinem Studium der Elektronik arbeitete Roland als Entwickler und Berater in der industriellen IT-Branche, wo er Lösungen für Kunden mit einer Vielzahl von Datenbanken und Technologien entwickelte. In den späten 80er Jahren verliebte er sich in 4D und setzte es bei der Entwicklung von Geschäftsanwendungen wie Buchhaltungs-, Abrechnungs- und E-Mail-Systemen ein. 1997 trat er schließlich in das Unternehmen ein und leistete einen wertvollen Beitrag, indem er Spezifikationen, Testtools und Demos entwarf, Schulungen durchführte und auf vielen Konferenzen für die 4D Community sprach. Er gestaltet die Zukunft von 4D aktiv mit, indem er neue Funktionen und Datenbankentwicklungstools definiert.