Saltar al contenido principal
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:
A continuación mostramos los archivos terminados.
Cada *_UNIVERSAL_IDENTIFIER vida constante en src/constants/universal-identifiers.ts y es importado donde se utiliza. Los fragmentos a continuación omiten las importaciones por brevedad — manténgalos en tus propios archivos.

El objeto de plantilla

Una plantilla tiene un nombre, 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.
SELECT option values debe ser UPPER_CASE (PERSON, no person), y el defaultValue está envuelto en comillas adicionales: `'PERSON'`. La label es lo que los usuarios ven.

El objeto del documento

El documento generado almacena el contenido 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.
El otro lado (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

Con yarn veinte dev en ejecución, abre Ajustes → Modelo de datos. Ambos objetos aparecen, etiquetados con tu aplicación.
Configuración del modelo de datos mostrando plantillas de documentos y documentos

Ambos objetos personalizados, propiedad del generador de documentos.

Crea una plantilla para probar con — nombra la propuesta de ventas, establece el objetivo a Persona, y pega un cuerpo con unos pocos marcadores de posición:
Un registro de plantilla de propuesta de ventas con el cuerpo del marcador de posición

Un registro de plantilla. El cuerpo mantiene sus marcadores de posición hasta que se genere un documento.

Después de este paso: tienes los objetos documentTemplate y document, enlazados por una relación, y una plantilla para generar. Después, la lógica que lo llena.

Siguiente: generando documentos →

Escriba la función lógica que llena la plantilla.