ORDA e 4D Write Pro : O casal de poder!

Tradução automática de Deepl

4D Os documentos Write Pro contêm frequentemente fórmulas de devolução de dados ou cálculos, dependendo da base de dados. Graças à utilização de contextos, associar esses dados a documentos é agora uma brincadeira de crianças!

Neste post do blog, veremos como a combinação de documentos 4D Write Pro com dados recuperados usando ORDA torna o código claro e fácil de manter.

ORDA e 4D Write Pro em acção

4D Write Pro e dados

Quer se trate de cartas, campanhas por e-mail, geração de catálogos, impressão de facturas, etc., os dados apresentados ou impressos provêm sempre da base de dados. Graças à ORDA, o acesso a esses dados é cada vez mais eficiente, e o novo conceito de contextos permitir-lhe-á explorar eficazmente a informação contida nos seus documentos.

Um contexto? O que é um contexto A?

Um contexto é um objecto: Uma entidade, uma selecção de entidade, ou qualquer objecto composto de tantos atributos quantos forem necessários. Uma vez criado e associado a um documento, este contexto pode ser utilizado directamente dentro do documento, utilizando a função This, com a qual está agora familiarizado.

Um caso simples: CAMPANHA DE CORREIO

Digamos que tem um dataclass People e deseja enviar e-mails a uma selecção destas pessoas. A primeira coisa a fazer é criar o modelo de carta com as informações a comunicar, e depois inserir dados de cada pessoa (o seu nome, morada, etc.) nesse modelo. Este processo é bem conhecido, mas veremos como inserir esta informação assim que o contexto for criado.

Para cada pessoa…

Antes de imprimir a sua carta modelo, associe cada entidade da sua selecção com o modelo.
E é tudo!

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

Mas o que é que o modelo contém?

O contexto $person está acessível no modelo através da fórmula This.data.
Se a entidade $person tiver um atributo lastname, este atributo será acessível através de This.data.lastname.

A sua carta modelo conterá, portanto, este tipo de expressões:

Uma função na classe PeopleSelection

Para a beleza do código, pode criar uma função que receberá o modelo impresso com os dados das entidades.

Class extends EntitySelection

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

A chamada desta função será feita da seguinte forma, de uma forma requintada:

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

Conclusão

Mais informações podem ser encontradas na documentação. E sinta-se à vontade para partilhar connosco o seu feedback e experiência no fórum 4D.

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.