Skip to main content
Нашему приложению нужны два пользовательских объекта: шаблоны документов (что записывать) и документы (сгенерированный результат). Давайте определим их. Строительство каждого файла сущности с CLI — он генерирует правильный UUID и правую папку для вас:
Ниже мы показываем готовые файлы.
Каждый *_UNIVERSAL_IDENTIFIER живет в константе src/constants/universal-identifiers.ts и импортируется там, где используется. В приведенных ниже фрагментах эти импорты опущены для краткости — в своих файлах не удаляйте их.

Объект шаблона

Шаблон имеет name, body с {{placeholders}} и target, который указывает, предназначен ли он для Person или Company. body — это поле RICH_TEXT, поэтому двадцать дает ему полный редактор rich-text.
Опция SELECT values должна быть UPPER_CASE (PERSON, не person), а опция defaultValue завернута в дополнительные кавычки: `'PERSON'`. label - это то, что видят пользователей.

Объект документа

Генерируемый документ хранит отображенный content и status. Определите так же с параметром status из DRAFT / GENERATED. Полный файл: document.object.ts.

Связать их с отношением

Каждый документ должен ссылаться на шаблон, из которого он вышел. Отношения двусторонний — вы определяете обе стороны в своём собственном файле полей.
Другая сторона (template-documents-relation.field.ts) — это поле RelationType.ONE_TO_MANY с именем documents, которое указывает на противоположный путь. Смотрите раздел Relations для полного шаблона.

Смотрите в двадцать

С запуском yarn twenty dev откройте Settings → Data model. Оба объекта появляются, помеченные вашим приложением.
Настройки модели данных с отображением шаблонов документов и документов

Оба пользовательских объекта, принадлежащие приложению Генератор документов.

Создайте один шаблон для тестирования — имя Предложение продаж, установите цель на Персонал и вставьте тело с несколькими заполнителями:
Запись шаблона предложения продаж с плейсхолдером

Запись шаблона. Тело хранит свои заполнители до тех пор, пока документ не будет сгенерирован.

После этого шага: у вас есть объекты documentTemplate и document, связанные отношением и одним шаблоном для генерации данных. Далее заполняется логика.

Далее: генерация документов →

Напишите логическую функцию, которая заполняет шаблон.