Модуль «Продажи» (7 экранов)¶
/p/:pid/orders — Orders List¶
Назначение: Табличный вид продаж. Фильтрация по типу, статусу, DLQ. Доступ: Member+.
Компоновка:
├── Header + Sidebar
└── Main:
├── Заголовок: «Продажи» | Toggle: [Список●] [Канбан] | Кнопка: [создание из карточки сделки]
├── Панель фильтров:
│ ├── 🔍 Поиск по номеру, названию
│ ├── Тип продажи (multi-select)
│ ├── Этап (multi-select)
│ ├── Ответственный (multi-select)
│ ├── DLQ-ошибка (checkbox)
│ ├── Дата создания (date range)
│ └── Сделка (поиск)
│
└── Таблица:
| ☐ | Номер ▼ | Тип | Сделка | Этап | Ответст. | Создан | Статус |
| ☐ | ORD-0042 | ЗП проект | Альфа — ЗП | Проверка | Петрова | 20.01.26 | ✅ |
| ☐ | ORD-0043 | РКО | Альфа — компл.| Заполнение | Козлов | 21.01.26 | ⚠ DLQ |
Статус DLQ: красная метка «⚠ Ошибка отправки» — кликабельная.
Empty state: «Продажи создаются из карточки сделки.» [Открыть сделки]
/p/:pid/orders/kanban — Orders Kanban¶
Назначение: Канбан продаж по этапам. Включается в настройках модуля. Доступ: Member+.
Компоновка: аналогично Deals Kanban, но колонки = этапы продажи.
Колонки: Заполнение | Проверка | Подписание | Отправка | Завершён
Карточка продажи:
├── Номер + тип продажи
├── Сделка (ссылка)
├── Ответственный
├── Метка «⚠ DLQ» (если ошибка отправки)
└── Метка «⚠ Drift» (если реквизиты изменились)
Drag & drop между этапами.
Фильтр по типу продажи (dropdown сверху).
/p/:pid/orders/:id — Order Details¶
Назначение: Карточка продажи — динамическая форма из Order Type. Доступ: Member+ (по политике).
Компоновка:
├── Header + Sidebar
└── Main:
├── Шапка:
│ ├── «Продажа #ORD-0042 — Зарплатный проект»
│ ├── Прогресс этапов: ●Заполнение → ●Проверка → ○Подписание → ○Отправка
│ ├── Сделка: «Альфа — ЗП» (ссылка) | Продукт: ЗП Премиум
│ ├── Владелец: Петрова | Создан: 20.01.2026
│ └── Действия: [Редактировать] [Перевести на этап ▼] [Удалить]
│
├── Баннер DLQ (если статус «Ошибка отправки»):
│ ⚠ «Ошибка отправки. Попытка 3/3 (таймаут). Последняя: 15:30»
│ [Повторить отправку] [Подробности ▼]
│ Подробности: код ответа, тело ошибки, лог попыток.
│
├── Баннер Drift (если реквизиты изменились):
│ ⚠ «Реквизиты компании изменены после создания продажи.»
│ Телефон: +7920... → +7916... (Козлов, 20 янв)
│ [Принять изменения] [Открыть компанию]
│
├── Sidebar карточки:
│ ├── Контакт: Иванов И.И. (ссылка)
│ ├── Компания: ООО Альфа (ссылка)
│ └── Сделка: Альфа — ЗП (ссылка)
│
├── Динамическая форма (поля из Order Type):
│ ├── Кол-во карт: 500 (число)
│ ├── Тариф: Премиум (выбор)
│ ├── Дата начала: 01.03.2026 (дата)
│ ├── Реквизиты подтверждены: ☑ (чекбокс)
│ └── Скан доверенности: файл.pdf (файл)
│
├── Tabs:
│ ├── Документы: сгенерированные и загруженные [+ Сгенерировать] [+ Загрузить]
│ ├── Активности: связанные задачи [+ Активность]
│ └── История: аудит-лог
│
└── Кнопка: [Перевести на следующий этап →]
/p/:pid/orders/:id/edit — Edit Order¶
Назначение: Редактирование полей продажи. Доступ: Member+ (по политике). Доступно даже в статусе DLQ-ошибки.
Компоновка: динамическая форма из Order Type с предзаполненными значениями.
Все поля доступны для редактирования (кроме номера и типа продажи).
Кнопки: [Отмена] [Сохранить]
/p/:pid/orders/types — Order Types¶
Назначение: Список типов продаж проекта. Доступ: Manager+.
Компоновка:
├── Header + Sidebar
└── Main:
├── Заголовок: «Типы продаж» | Кнопка: [+ Тип продажи]
└── Список карточек:
┌──────────────────────────────────────────────────────┐
│ Зарплатный проект v3 (schema) │
│ Поля: 5 | Этапы: 4 | Документы: 2 | Webhook: ✅ │
│ Активных продаж: 12 │
│ [Редактировать] │
└──────────────────────────────────────────────────────┘
/p/:pid/orders/types/new — Create Order Type¶
Назначение: Конструктор типа продажи — поля, этапы, документы, действия. Доступ: Manager+.
Компоновка (форма-конструктор):
├── Заголовок: «Новый тип продажи»
├── Название (input)
│
├── Секция «Поля» (конструктор форм):
│ ├── Строка: [Название поля] [Тип ▼: текст/число/дата/выбор/файл/чекбокс] [Обязат. ☐] [×]
│ ├── Строка: ...
│ └── [+ Добавить поле]
│ Drag & drop для сортировки полей.
│
├── Секция «Этапы» (drag & drop):
│ ├── Строка: [Название этапа] [Условие перехода ▼] [Действие при переходе ▼] [×]
│ └── [+ Добавить этап]
│ Финальный этап: Завершён (фиксированный).
│
├── Секция «Шаблоны документов»:
│ ├── Привязка существующих шаблонов (multi-select)
│ └── [+ Создать шаблон] → /p/:pid/documents/templates/new
│
├── Секция «Финальное действие»:
│ ├── Тип: ○ Нет ○ Webhook ○ Email ○ Задача
│ ├── Если Webhook: URL, метод, headers, body (JSON editor)
│ └── Retry policy: кол-во повторов (input), интервал (dropdown), макс. ожидание (input)
│
└── Кнопки: [Отмена] [Создать]
/p/:pid/orders/types/:id/edit — Edit Order Type¶
Назначение: Редактирование типа продажи. Доступ: Manager+.
Компоновка: аналогично Create, поля предзаполнены.
Дополнительно:
├── Версия схемы: v3 (информационно)
├── Предупреждение при добавлении обязательного поля:
│ «Поле будет обязательным только для новых продаж.
│ Существующие продажи (12 шт.) не затрагиваются.»
└── Кнопка: [Удалить тип] (если нет активных продаж)