Модуль «Документы» (5 экранов)¶
/p/:pid/documents — Documents List¶
Назначение: Список всех документов проекта (сгенерированных и загруженных). Доступ: Viewer+ (просмотр). Member+ (загрузка/генерация).
Компоновка:
├── Header + Sidebar
└── Main:
├── Заголовок: «Документы» | Кнопка: [+ Загрузить] (Member+)
├── Tabs: Все | Сгенерированные | Загруженные
├── Фильтры:
│ ├── 🔍 Поиск по названию
│ ├── Привязка: Продажа / Сделка / Контакт / Компания (поиск)
│ ├── Тип: DOCX / PDF / XLSX / JPG / PNG
│ └── Дата создания (date range)
│
└── Таблица:
| Название | Тип | Привязка | Автор | Дата | Версия | Действия |
| Договор ЗП #42 | DOCX | Продажа #42 | Петрова | 20.01.26 | v2 | ⬇ ⋮ |
| Скан доверенности | PDF | Продажа #42 | Козлов | 21.01.26 | — | ⬇ ⋮ |
⬇ — скачать.
⋮ → Просмотр | Перегенерировать (для сгенерированных) | Удалить (Admin+)
Ссылки: «Шаблоны документов →» (Manager+)
Empty state: «Нет документов.» [+ Загрузить файл]
/p/:pid/documents/:id — Document Details¶
Назначение: Просмотр документа и его версий. Доступ: Viewer+.
Компоновка:
├── Header + Sidebar
└── Main:
├── Шапка:
│ ├── «Договор ЗП #42» | Тип: DOCX | Размер: 245 KB
│ ├── Привязка: Продажа #42 (ссылка) | Сделка: Альфа (ссылка)
│ ├── Автор: Петрова | Дата: 20.01.2026
│ └── Действия: [⬇ Скачать] [Перегенерировать] [Удалить] (по ролям)
│
├── Баннер Drift (для сгенерированных):
│ ⚠ «Реквизиты компании изменились. Рекомендуем перегенерировать документ.»
│ [Перегенерировать] [Игнорировать]
│
├── Секция «Версии» (для сгенерированных):
│ | Версия | Дата | Автор | Действия |
│ | v2 ● | 25.01.2026 | Петрова | [⬇] |
│ | v1 | 20.01.2026 | Петрова | [⬇] |
│
├── Предпросмотр (если формат поддерживается):
│ Для PDF/изображений — inline-просмотр.
│ Для DOCX — «Скачайте для просмотра» + [⬇]
│
└── История: лог (кто создал, перегенерировал, изменения данных)
/p/:pid/documents/templates — Templates Library¶
Назначение: Библиотека шаблонов документов. Доступ: Manager+.
Компоновка:
├── Header + Sidebar
└── Main:
├── Заголовок: «Шаблоны документов» | Кнопка: [+ Новый шаблон]
│
└── Список карточек:
┌──────────────────────────────────────────────────────┐
│ Договор на ЗП проект │
│ Контекст: Продажа | Тип продажи: Зарплатный проект │
│ Переменных: 12 | Документов создано: 28 │
│ [Редактировать] [Скачать шаблон] │
└──────────────────────────────────────────────────────┘
Empty state: «Создайте первый шаблон для автоматической генерации документов.» [+ Создать шаблон]
/p/:pid/documents/templates/new — Create Template¶
Назначение: Создание шаблона документа. Доступ: Manager+.
Компоновка (форма):
├── Заголовок: «Новый шаблон»
│
├── Поля:
│ ├── Название* (input)
│ ├── Контекст привязки: ○ Продажа ○ Сделка ○ Контакт ○ Компания
│ ├── Тип продажи (dropdown, если контекст = Продажа, опционально):
│ │ «Шаблон будет доступен только для этого типа продажи.»
│ └── Файл шаблона: [Загрузить DOCX] (drag & drop)
│
├── Секция «Доступные переменные» (справочник, read-only):
│ ├── Контакт: {{contact.name}}, {{contact.phone}}, {{contact.email}}...
│ ├── Компания: {{company.name}}, {{company.inn}}, {{company.address}}...
│ ├── Сделка: {{deal.name}}, {{deal.amount}}, {{deal.source}}...
│ ├── Продажа: {{order.number}}, {{order.created_at}}, {{order.field.<key>}}...
│ ├── Проект: {{project.name}}
│ └── Даты: {{today}}, {{today.year}}
│ Каждая переменная: кнопка [Копировать] для вставки в DOCX.
│
└── Кнопки: [Отмена] [Создать]
Подсказка: «Откройте загруженный DOCX в Word, вставьте переменные вида {{contact.name}} в нужные места, загрузите обратно.»
/p/:pid/documents/templates/:id/edit — Edit Template¶
Назначение: Редактирование шаблона. Доступ: Manager+.
Компоновка: аналогично Create, поля предзаполнены.
Дополнительно:
├── Текущий файл шаблона: [Скачать] [Заменить]
├── Статистика: документов создано по шаблону — 28
└── Кнопка: [Удалить шаблон] (с предупреждением: существующие документы не затрагиваются)