Блог · 2026-08
Клиенты и отчёты без тяжёлого HTML
5 августа 2026: карточка клиента без SSR тысяч option справочников; отчёты продаж/клиентов ограничивают таблицу, сохраняя полные итоги.
5 августа 2026: продолжение фикса «залипания» при навигации — уже не только Настройки.
Что тормозило на бою
Замер на рабочем CRM (~3000 клиентов, тысячи справочников):
| Страница | Размер HTML | Проблема |
|---|---|---|
/clients (список) |
~120 КБ | уже лёгкий (DataTables AJAX) |
/clients/<id> |
~1–1.5 МБ | в двух модалках устройств SSR ~5700 <option> (типы, бренды, симптомы, вид) |
/reports/sales за длинный период |
~1.3 МБ | все продажи периода в таблице |
/reports/customers за год |
~400 КБ | все клиенты периода в таблице |
/reports/dashboard |
~160 КБ | не раздут; может быть долгий TTFB из‑за расчётов |
Список клиентов сам по себе не «8 МБ». Тяжело открывать карточку и отчёты с широким периодом — из‑за этого меню кажется «зависшим» после клика.
Что сделали
Карточка клиента
- Справочники устройств больше не рендерятся в HTML.
- При открытии «Добавить/Редактировать устройство» опции подгружаются через
/api/device-*(как на Настройках).
Отчёт по продажам
- Итоги сверху — по всем продажам периода.
- В таблице — последние 300 строк + предупреждение, если записей больше.
Отчёт по клиентам
- Сводка — по всем клиентам периода.
- В таблице — топ-500 по сумме + предупреждение при обрезке.
Что проверить
- Открыть клиента из
/clients— страница заметно легче. - Добавить/править устройство — списки типов/симптомов появляются в модалке.
/reports/salesза январь–сегодня — быстрый ответ; при большом объёме видна пометка об ограничении таблицы.