Документы проекта по шаблону
Обновлено: 09 Октябрь 2026
Версия: 2.4.0
Документы проекта по шаблону
Администратор настраивает типы документов, комплекты DOCX-шаблонов, правила подбора и маршруты согласования для модуля проектов.
Права: раздел «Настройки» → право system.settings.
Точка входа:
- «Настройки» → «Проекты» (
/settings/projects/) → блок «Документы проекта по шаблону» → «Открыть» - Или напрямую:
/settings/projects/documents/
Хабы договоров (/settings/finance/contracts/) и документов проекта независимы: модели и файлы не смешиваются.
Пользовательский сценарий: Генерация документов проекта по шаблону.
Вкладки хаба
| Вкладка | Назначение |
|---|---|
| Настройки | Системный флаг согласования и комплект по умолчанию |
| Типы документов | Справочник типов (паспорт, устав, план и т.д.) |
| Шаблоны документов | Комплекты DOCX, версии, правила подбора |
| Согласование | Маршруты: этапы и участники |
Справка по переменным Jinja2: кнопка на хабе → /projects/document-template-variables/ (projects:document_template_variables).
Настройки (системный уровень)
| Ключ | Название | По умолчанию | Описание |
|---|---|---|---|
PROJECT_DOCUMENT_USE_APPROVAL |
Согласование документов проекта | True |
Если включено — после генерации документы идут по маршруту; если выключено — сразу утверждаются |
PROJECT_DOCUMENT_DEFAULT_TEMPLATE_SET |
Комплект шаблонов документов по умолчанию | пусто | ID комплекта, если не сработало ни одно правило; пусто — первый активный по приоритету |
На карточке проекта (настройки → «Документы и файлы») можно переопределить только режим согласования:
| Режим | Поведение |
|---|---|
| Как в системных настройках | Наследовать PROJECT_DOCUMENT_USE_APPROVAL |
| Всегда требовать согласование | Согласование обязательно |
| Без согласования | Пропуск согласования |
Шаблоны и маршруты на уровне проекта не переопределяются.
Типы документов
На вкладке «Типы документов» ведётся справочник. При первом открытии хаба создаются системные типы (можно дополнять своими):
| Код | Название (по умолчанию) |
|---|---|
passport |
Паспорт проекта |
charter |
Устав проекта |
order |
Приказ по проекту |
act |
Акт |
project_plan |
План проекта |
meeting_minutes |
Протокол совещания |
status_report_docx |
Статус-отчёт (DOCX) |
other |
Прочее |
Системные типы нельзя «сломать» отключением через seed: при повторном seed активные системные записи синхронизируются.
Комплекты шаблонов
- Создайте комплект (имя, приоритет, активен).
- Откройте комплект → добавьте шаблон с привязкой к типу документа и загрузите файл DOCX.
- Новая загрузка создаёт новую версию шаблона (файл версии неизменяем); можно сделать версию активной.
- При ошибке синтаксиса Jinja2 версия может быть принята с предупреждением или отклонена — смотрите сообщения в UI.
Правила подбора комплекта
На странице комплекта задаются правила (AND по заполненным полям). Учитываются признаки проекта:
- тип проекта;
- классы ABC (важность / сроки / бюджет);
- статус проекта (выпадающий список с названиями: Инициация, Выполнение и т.д.);
- минимальный уровень функционала (Лайт → Стандарт → Профи → Эксперт): правило подходит к проекту с этим уровнем и всеми более высокими; пустое значение = любой уровень;
- подрядчик;
- диапазон бюджета (мин./макс.);
- требуемая роль в команде (должен быть утверждённый участник с этой ролью).
Подбор:
- Активные правила → specificity / приоритет.
- При нескольких равносильных кандидатах — конфликт: пользователь выбирает комплект вручную при генерации.
- Если у комплекта нет правил — это базовый комплект: генерация по нему доступна для всех проектов (если не сработали более специфичные правила других комплектов). При отсутствии любых правил берётся
PROJECT_DOCUMENT_DEFAULT_TEMPLATE_SETили первый активный комплект.
Переменные шаблона (DOCX + Jinja2)
В тексте Word используйте пути вида {{ project.name }}, циклы {% for m in team %}…{% endfor %}.
Основные пространства:
| Путь | Содержание |
|---|---|
project.name, project.code, project.status, project.type |
Реквизиты |
project.abc, project.budget, project.owner, project.management_preset |
Классификация и бюджет |
manager.full_name |
Руководитель проекта |
contractor.name |
Подрядчик |
team |
Список участников {name, role, …} |
schedule.start, schedule.finish |
Плановые сроки |
lifecycle_tasks |
Задачи жизненного цикла (для плана проекта) |
finance_contract.number |
Номер связанного договора |
document.title, document.type |
Метаданные текущего документа |
Полный актуальный список — в UI «Справка по переменным».
Рендер выполняется через sandbox Jinja2 (тот же подход, что у досье договоров).
Маршруты согласования
На вкладке «Согласование»:
- Создайте маршрут (имя, приоритет, активен, критерии матчинга — те же признаки, что у правил шаблонов, плюс тип документа).
- Добавьте этапы (порядок, тип решения: согласование / утверждение, правило завершения: все / любой, срок в рабочих днях).
- На этап добавьте участников:
- конкретный сотрудник;
- руководитель подразделения;
- менеджер проекта;
- контролёр проекта;
- руководитель автора;
- проектная роль (по имени роли).
Политика перезапуска при новой версии после возврата: начать сначала / с этапа / продолжить текущий маршрут (в v1 «с этапа» фактически перезапускает с начала — как в реализации).
Подбор маршрута: активные шаблоны по приоритету, фильтры по признакам проекта, первый подходящий.
Решения участников фиксируются в UI документов проекта. В v1 задачи Task / Event Center не создаются.
Публикация в файлы проекта
После генерации / утверждения файлы попадают в каталог проекта через тот же механизм, что и ручные вложения (ProjectAttachment):
| Категория файлов | Когда |
|---|---|
| Черновики документов проекта | Сразу после генерации |
| Утверждённые документы проекта | После согласования или сразу, если согласование отключено |
Категории создаются seed’ом при открытии хаба настроек (имена на русском; английские legacy-имена при наличии переименовываются).
Связь с другими настройками проектов
- HTML/CSS статус-отчёт (PDF) — отдельный механизм на странице «Настройки» → «Проекты», не путать с DOCX-досье. См. Настройки модуля «Проекты».
- Категории файлов проекта — общий справочник; сгенерированные документы используют выделенные категории выше.
Ограничения v1
- Нет уведомлений согласующим через задачи / Event Center.
- Нет автоматического PDF из DOCX и массовой перегенерации.
- Права runtime: существующие
project.view_item/project.edit_item(отдельных perms на генерацию нет).