ORDA a 4D Write Pro : silná dvojice!

Automaticky přeloženo z Deepl

Dokumenty 4D Write Pro často obsahují vzorce vracející data nebo výpočty v závislosti na databázi. Díky použití kontextů je nyní přiřazení těchto dat k dokumentům hračkou!

V tomto příspěvku na blogu si ukážeme, jak kombinace dokumentů 4D Write Pro s daty získanými pomocí ORDA zpřehledňuje kód a usnadňuje jeho údržbu.

ORDA a 4D Write Pro v akci

4D Write Pro a data

Ať už se jedná o dopisy, e-mailové kampaně, generování katalogů, tisk faktur apod. zobrazovaná nebo tištěná data vždy pocházejí z databáze. Díky ORDA je přístup k těmto datům stále efektivnější a nová koncepce kontextů vám umožní efektivně využívat informace v dokumentech.

Kontext? Co je to kontext?

Kontext je objekt: Kontext může být entita, výběr entit nebo jakýkoli objekt složený z tolika atributů, kolik je potřeba. Po vytvoření a přiřazení k dokumentu lze tento kontext použít přímo v dokumentu pomocí funkce This, kterou již znáte.

Jednoduchý případ: Poštovní kampaň

Řekněme, že máte datovou třídu Lidé a chcete posílat e-maily vybraným z těchto lidí. Nejprve je třeba vytvořit šablonu dopisu s informacemi, které mají být sděleny, a poté do ní vložit údaje jednotlivých osob (jejich jméno, adresu atd.). Tento postup je dobře známý, ale my se podíváme, jak tyto informace vložit, jakmile je kontext vytvořen.

Pro každou osobu…

Před vytištěním vzorového dopisu přiřaďte každou vybranou entitu k šabloně.
A to je vše!

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

Co však model obsahuje?

Kontext $person je v modelu přístupný prostřednictvím vzorce This.data.
Pokud má entita $person atribut lastname, bude tento atribut přístupný prostřednictvím This.data.lastname.

Váš vzorový dopis tedy bude obsahovat tyto druhy výrazů:

Funkce ve třídě PeopleSelection

Pro krásu kódu můžete vytvořit funkci, která obdrží šablonu vypsanou s daty entit.

Class extends EntitySelection

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

Volání této funkce bude probíhat následujícím výstižným způsobem:

// create entity selection
$es
:=ds.People.all()

// mailing based on 4D Write Pro template
$es
.
mailing($template)

Závěr

Další informace naleznete v dokumentaci. A neváhejte se s námi podělit o své názory a zkušenosti na fóru 4D.

Roland Lannuzel
- Product Owner & 4D Expert - Po studiu elektroniky se Roland věnoval průmyslovým IT jako vývojář a konzultant, který vytvářel řešení pro zákazníky s různými databázemi a technologiemi. Koncem 80. let se zamiloval do 4D a používal jej při psaní podnikových aplikací, které zahrnovaly účetní, fakturační a e-mailové systémy. nakonec se připojil ke společnosti v roce 1997 a Rolandův cenný přínos zahrnuje návrh specifikací, testovacích nástrojů, demoverzí a také školení a přednášky pro komunitu 4D na mnoha konferencích. Nadále aktivně utváří budoucnost 4D definováním nových funkcí a nástrojů pro vývoj databází.