Initial commit
This commit is contained in:
commit
c534d5ce80
163 files changed
+11500
No files matched your search
@@ -0,0 +1,43 @@
|
||||
# Модуль: Деловое письмо
|
||||
|
||||
**Ответственность**: формирует исходящее деловое письмо с адресатом, регистрационными данными, темой, основным текстом и подписанием.
|
||||
**Расположение**: `.template/lib/presentation/profiles/letter.typ`
|
||||
|
||||
## Публичный интерфейс
|
||||
|
||||
| Символ | Тип | Описание |
|
||||
|--------|-----|----------|
|
||||
| `letter-profile()` | конструктор `DocumentProfile` | Принимает дату, исходящий номер, адресата, тему и signing options |
|
||||
| `render-letter()` | renderer-функция | Собирает фирменную шапку, body, подпись и footer |
|
||||
| `letter-metadata()` | чистая функция | Нормализует регистрационные поля и тему |
|
||||
| `letter-validators()` | массив functions | Проверяет адресата, дату и подписанта |
|
||||
|
||||
## Зависимости
|
||||
|
||||
| Модуль | Что использует |
|
||||
|--------|----------------|
|
||||
| `.template/lib/domain/document.typ` | `DocumentProfile` и render options |
|
||||
| `.template/lib/domain/parties.typ` | Recipient и Signer |
|
||||
| `.template/lib/domain/attachments.typ` | Перечень приложений к письму |
|
||||
| `.template/lib/presentation/foundation.typ` | Общие tokens и media policy |
|
||||
| `.template/lib/presentation/components.typ` | Letter header, company footer, attachment list, signature block |
|
||||
|
||||
## Инварианты
|
||||
|
||||
- Letter profile не содержит коммерческой стоимости, графика работ или offer validity.
|
||||
- Recipient может быть частично заполнен, но validator требует хотя бы организацию или ФИО.
|
||||
- Исходящий номер и дата отображаются единым регистрационным блоком.
|
||||
- Footer включается profile option и не исчезает из-за состояния приложения другого документа.
|
||||
- Подпись, печать и место для ручного подписания obey media policy.
|
||||
- Renderer не импортирует report или commercial-offer profile.
|
||||
|
||||
## Намеренно НЕ обрабатывает
|
||||
|
||||
- Коммерческие условия ТКП.
|
||||
- Титул и содержание отчёта.
|
||||
- Разделы договора.
|
||||
- Регистрацию письма во внешней системе.
|
||||
|
||||
## Заметки для агента
|
||||
|
||||
> Внешний проект TKP содержит полезный визуальный референс шапки и footer, но его global `comp-data` и `in-appendix` не переносятся. Состояние footer, если оно понадобится, должно принадлежать только текущему renderer и сбрасываться внутри него. Общая геометрия письма выносится в components, чтобы ТКП переиспользовал её без импорта `render-letter()`.
|
||||
Reference in new issue
Block a user