Resumen
Nuestra aplicación necesita dos objetos personalizados: plantillas de documentos (qué escribir) y documentos (el resultado generado). Vamos a definirlos. Escaffold cada archivo de entidad con la CLI — genera un UUID válido y la carpeta correcta para ti:Cada
*_UNIVERSAL_IDENTIFIER vida constante en
src/constants/universal-identifiers.ts y es importado donde se utiliza. Los
fragmentos a continuación omiten esas importaciones por brevedad; consérvalas en tus propios archivos.El objeto de plantilla
Una plantilla tiene unnombre, un cuerpo con {{placeholders}}, y un target que
dice si está escrito para una persona o una empresa. El body es un campo
RICH_TEXT, así que Veinte le da un editor completo de texto.
El objeto del documento
El documento generado almacena elcontenido renderizado y un status. Definirlo
de la misma manera, con un status seleccionado de DRAFT / GENERATED. Archivo completo:
document.object.ts.
Vinculándolas con una relación
Cada documento debe apuntar de nuevo a la plantilla de la que proviene. Las relaciones son bidireccionales — defines ambos lados, cada uno en su propio archivo de campo.template-documents-relation.field.ts) es un campo
RelationType.ONE_TO_MANY llamado documents que apunta a la manera opuesta.
Ver Relations para ver el patrón completo.
Ver en Veinte
Contwenty app dev en ejecución, abre Configuración → Modelo de datos. Ambos objetos
aparecen, etiquetados con tu aplicación.

Ambos objetos personalizados, propiedad del generador de documentos.

Un registro de plantilla. El cuerpo mantiene sus marcadores de posición hasta que se genere un documento.
documentTemplate y document, enlazados por
una relación, y una plantilla para generar. Después, la lógica que lo llena.
Siguiente: generar documentos →
Escribe la función lógica que llena la plantilla.