Salt la conținutul principal

Prezentare generală

Aplicația noastră are nevoie de două obiecte personalizate: șabloane de documente (ce să scrie) și documente (rezultatul generat). Să le definim. Scaffold fiecare fișier de entitate cu CLI - generează un UUID valid și dosarul corect pentru tine:
Mai jos arătăm fișierele terminate.
Fiecare ”*_UNIVERSAL_IDENTIFIER” trăieşte în src/constants/universal-identificfiers.ts şi este importat unde este folosit. Fragmentele de cod de mai jos omit acele importuri pentru concizie — păstrați-le în propriile fișiere.

Obiectul şablonului

Un şablon are un name, un body cu {{placeholders}}, şi un target care spune dacă este scris pentru o Persoană sau o companie. body este un câmp RICH_TEXT, deci douăzeci îi dă un editor complet bogat.
Valorile opțiunii SELECT trebuie să fie UPPER_CASE (PERSON, nu person), iar defaultValue este încapsulat între ghilimele suplimentare: `'PERSON'`. label este ceea ce văd utilizatorii.

Obiectul documentului

Documentul generat stochează conținutul și status. Definiţi-l în acelaşi mod, cu status selectează din DRAFT / GENERATED. Fişier complet: document.object.ts.

Conectarea lor cu o relație

Fiecare document ar trebui să indice modelul de la care a venit. Relațiile sunt bidirecționale — definiți ambele părți, fiecare în propriul fișier de câmp.
Cealaltă parte (template-documents-relation.field.ts) este un câmp RelationType.ONE_TO_MANY numit documents care arată invers. Vezi Relations pentru întregul model.

Vezi în Douăzeci

Cu twenty app dev în execuție, deschideți Setări → Model de date. Ambele obiecte apar, etichetate cu aplicația ta.
Setările modelului de date care afișează documente și șabloane de documente

Ambele obiecte personalizate, deținute de aplicația Document Generator.

Creați un șablon pentru testare — denumiți-l Propunere de vânzare, setați Țintă la Persoană și lipiți un corp cu câțiva substituenți:
Un model de înregistrare a propunerii de vânzare cu organismul substituent

O înregistrare șablon. Organismul îşi păstrează substituenţii până când se generează un document.

După acest pas: aveţi obiecte documentTemplate şi document, legate de o relaţie, şi un şablon din care să se genereze. Apoi, logica care o umple.
card-page-tutorial-documents
Următorul: generarea documentelor →
Scrieți funcția logică care completează șablonul.