ORDA y 4D Write Pro : ¡La pareja de poder!

Traducido automáticamente de Deepl

Los documentos de 4D Write Pro contienen a menudo fórmulas que devuelven datos o cálculos en función de la base de datos. Gracias al uso de contextos, asociar esos datos con los documentos es ahora un juego de niños.

En esta entrada del blog, veremos cómo la combinación de documentos de 4D Write Pro con datos recuperados usando ORDA hace que el código sea claro y fácil de mantener.

ORDA y 4D Write Pro en acción

4D Write Pro y los datos

Tanto si se trata de cartas, campañas de correo electrónico, generación de catálogos, impresión de facturas, etc., los datos que se muestran o imprimen provienen siempre de la base de datos. Gracias a ORDA, el acceso a esos datos es cada vez más eficaz, y el nuevo concepto de contextos le permitirá explotar eficazmente la información de sus documentos.

¿Un contexto? ¿Qué es un contexto?

Un contexto es un objeto: Una entidad, una selección de entidades o cualquier objeto compuesto por tantos atributos como sea necesario. Una vez creado y asociado a un documento, este contexto puede utilizarse directamente dentro del documento mediante la función This, que ya conoce.

Un caso sencillo: CAMPAÑA DE CORREO

Supongamos que tiene una clase de datos Personas y quiere enviar correos electrónicos a una selección de estas personas. Lo primero que hay que hacer es crear la plantilla de carta con la información a comunicar, y luego insertar los datos de cada persona (su nombre, dirección, etc.) en esa plantilla. Este proceso es bien conocido, pero vamos a ver cómo insertar esta información una vez creado el contexto.

Para cada persona…

Antes de imprimir su carta modelo, asocie cada entidad de su selección a la plantilla.
Y ya está.

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

Pero, ¿qué contiene el modelo?

El contexto $person es accesible en el modelo a través de la fórmula This.data.
Si la entidad $person tiene un atributo lastname, este atributo será accesible a través de This.data.lastname.

Su carta modelo contendrá, por tanto, este tipo de expresiones:

Una función en la clase PeopleSelection

Para la belleza del código, puede crear una función que recibirá el modelo impreso con los datos de las entidades.

Class extends EntitySelection

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

La llamada de esta función se hará de la siguiente manera exquisita:

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

Conclusión

Puedes encontrar más información en la documentación. Y no dude en compartir con nosotros sus comentarios y experiencias en el foro de 4D.

Roland Lannuzel
- Propietario de Producto y Experto en 4D - Después de estudiar electrónica, Roland se dedicó a la informática industrial como desarrollador y consultor, construyendo soluciones para clientes con una variedad de bases de datos y tecnologías. A finales de los años 80 se enamoró de 4D y lo ha utilizado para escribir aplicaciones de negocio que incluyen sistemas de contabilidad, facturación y correo electrónico.Eventualmente se unió a la compañía en 1997, las valiosas contribuciones de Roland incluyen el diseño de especificaciones, herramientas de prueba, demos, así como la formación y hablar con la comunidad 4D en muchas conferencias. Continúa dando forma activamente al futuro de 4D definiendo nuevas características y herramientas de desarrollo de bases de datos.