Skip to main content
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.

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. 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.