Перейти к содержанию

Модуль «Документы»

Раздел описывает шаблоны документов, переменные для подстановки, генерацию и хранение.


Два уровня

Документы → конкретные файлы, сгенерированные или загруженные
Шаблоны  → конструктор с переменными для автоматической генерации

Шаблоны документов

Создание шаблона

/p/:pid/documents/templates/new

Шаблон содержит:
  ├── Название (например: «Договор на ЗП проект»)
  ├── Контекст: к чему привязывается (Продажа / Сделка / Контакт / Компания)
  ├── Формат: DOCX (загружается файл-шаблон с переменными)
  ├── Переменные (placeholders) внутри файла
  └── Привязка к типу продажи (опционально: шаблон доступен только для этого типа)

Доступные переменные

Контакт:
  {{contact.name}}          — Иванов Иван Иванович
  {{contact.phone}}         — +7 920 543-43-43
  {{contact.email}}         — ivan@mail.com
  {{contact.position}}      — Директор

Компания:
  {{company.name}}          — ООО «Альфа»
  {{company.inn}}           — 7707049388
  {{company.address}}       — г. Москва, ул. Ленина, 1
  {{company.phone}}         — +7 495 123-45-67

Сделка:
  {{deal.name}}             — Зарплатный проект для Альфа
  {{deal.amount}}           — 500 000
  {{deal.source}}           — Сайт
  {{deal.created_at}}       — 15.01.2026
  {{deal.owner.name}}       — Петрова А.С.

Продажа:
  {{order.number}}          — ORD-2026-0042
  {{order.created_at}}      — 20.01.2026
  {{order.type.name}}       — Зарплатный проект
  {{order.owner.name}}      — Петрова А.С.
  {{order.field.<key>}}     — значение кастомного поля продажи

Проект:
  {{project.name}}          — Продажи B2B

Даты:
  {{today}}                 — 20.02.2026
  {{today.year}}            — 2026

Кастомные поля продажи в шаблонах

Поля конструктора Order Type доступны через {{order.field.<key>}}:

Пример: тип продажи «Зарплатный проект» с полями:
  card_count (число)     → {{order.field.card_count}}   → 500
  tariff (выбор)         → {{order.field.tariff}}       → Премиум
  start_date (дата)      → {{order.field.start_date}}   → 01.03.2026

Генерация документа

Процесс:
  1. Менеджер открывает карточку продажи/сделки
  2. Нажимает «Сгенерировать документ» → выбирает шаблон
  3. Система подставляет переменные из связанных сущностей
  4. Drift Detection: если данные контакта/компании изменились →
     предупреждение перед генерацией (см. раздел 07)
  5. Сгенерированный файл (DOCX) → сохраняется в разделе «Документы»
  6. Менеджер может скачать, просмотреть, перегенерировать

Автоматическая генерация:
  Может быть настроена как действие при переходе на этап продажи:
  «При переходе на этап "Подписание" → сгенерировать документ по шаблону X»

Документы (сгенерированные и загруженные)

Документ:
  ├── Название
  ├── Файл (DOCX, PDF, и др.)
  ├── Тип: сгенерированный / загруженный вручную
  ├── Привязка: к продаже, сделке, контакту или компании
  ├── Автор (кто сгенерировал / загрузил)
  ├── Дата создания
  └── Версия (при перегенерации — новая версия, старая сохраняется)

Загруженные документы:
  ├── Менеджер может загрузить любой файл (скан, PDF, фото)
  ├── Привязывает к продаже/сделке
  └── Допустимые форматы: DOCX, PDF, XLSX, JPG, PNG (настраиваемый список)

Хранение и лимиты

├── Файлы хранятся в объектном хранилище (S3-совместимое)
├── Лимит по тарифу (Free: 1 GB, Pro: 10 GB, и т.д.)
├── При превышении лимита: загрузка новых файлов заблокирована
│   (существующие документы доступны)
└── При генерации документа: размер вычитается из квоты

Версионирование документов

При перегенерации документа:
  ├── Новая версия сохраняется
  ├── Предыдущие версии доступны (список версий в карточке документа)
  ├── Можно скачать любую версию
  └── В аудите: событие «перегенерация документа» + какие данные изменились

Доступ

Просмотр / скачивание: Viewer+
Загрузка файлов: Member+
Генерация по шаблону: Member+
Создание / редактирование шаблонов: Manager+
Удаление документов: Admin+