# Индекс макета `dkb_24.09.26`
Макет — **один React-бандл** (`dkb_24.09.26.html`, 3,6 МБ, пустой `
`): экраны не лежат в HTML, навигация —
по состоянию (без роутов), состояние сохраняется в `localStorage`. Поэтому статический индексатор бесполезен; экраны
сняты headless-браузером (`scripts/mockup_crawl.py`) и лежат в `screens/`. **Для агента: смотреть PNG из `screens/`
и этот индекс; сам HTML открывать только при необходимости проверить поведение (через Playwright, не как текст).**
Данные в макете — вымышленная ГК «PM Агро» (9 ЮЛ, ГСК «PM Агро - производство» GSK-001 и «PM Агро - торговля»
GSK-002), консолидации 2024 К1 (v1 Верифицирован, v2 Верификация РФ), 2025 К4 (Инициация), 2026 К2 (Консолидация РФ).
## Навигация (сайдбар)
| Раздел | Пункт | Экран |
|---|---|---|
| — | **+ Новая консолидация** | модалка `42` |
| Отчётность | Группы компаний | `03`/`34` |
| Отчётность | Монозаемщики | `60`, `84` |
| Справочники | ГК и организации (стартовый экран) | `50`, `77` |
| Справочники | ЮЛ вне ГК | `61`, `78–80` |
| Документы | Единое хранилище | `62`, `82–83` |
| Система | Журнал действий | `63` |
Экранов «Пользователи / Роли и права» в макете нет (подтверждено владельцем макета). Экран «Проверка распознавания»
есть — открывается кликом по документу в панели «Первичные документы» (`39` → `41`); автообход его не поймал, снят вручную.
## Экраны
| PNG | Экран | Ключевые элементы | Таблицы DBML | Срез |
|---|---|---|---|---|
| `03` | **Группы компаний** (Отчётность) | таблица ГК: Группа компаний, CRM ID, Основной РФ, Организаций, кнопка **Консолидации →**; поиск по ГК/CRM ID/РФ; Настройка таблицы | `company_group`, `regional_office` | 1 |
| `34` | **Консолидации ГК** | заголовок ГК; таблица консолидаций: Год, Квартал, Версия (дерево версий под периодом), Статус (бейдж), ГСК, Дата создания, Дата верификации, Организаций; кнопки **Взять в работу**, **К отчетности**, Импорт, Назад. Ниже панель **Организации**: Ответственный / Утверждён в РФ / Верифицирован; таблица ЮЛ: Наименование, Документы (кнопка), ОФР, Бух. баланс, ОСВ (статусы), ИНН, Тип; **Редактировать состав**, **Скачать чек-лист** | `consolidation`, `consolidation_version`, `consolidation_member`, `consolidation_lock`, `document` | 4 |
| `43` | Меню «…» у консолидации | **Добавить версию** (новая `consolidation_version` после VERIFIED), **Отключить/Включить подтверждение КФО** (переключатель сценария `CONFIRM` → показывает/скрывает вкладку «Подтверждение КФО клиента»), **История изменений**. В шапке списка: чекбокс «Только в работе», колонка «ОСВ» в таблице организаций — перечень загруженных счетов | `consolidation_version.scenario / previous_version_id`, `consolidation_status_history`, `audit_event` | 4, 7 |
| `35` | Модалка «Взять консолидацию в работу?» | «…будет закреплена за вами для редактирования», Отмена / Взять в работу | `consolidation_lock` | 7 |
| `36` | Модалка «Редактировать состав» | фильтры ГСК / Состав, чекбокс «Показать все ЮЛ в ГК», таблица Наименование/ИНН/Тип/ГСК с выбором, Сохранить | `consolidation_member`, `related_group_member` | 4 |
| `37` | Модалка «Чек-лист загруженных документов» | фильтры Группа компаний / Документы; легенда статусов: Загружен, Обработка, Требуется проверка, Ошибка загрузки, Отсутствует; матрица: Организация × Бух. баланс, ОФР, ОСВ 01 58 60 62 66 67 76 90, Прочие документы (ОСВ №20, Прочий документ); **Скачать** (CSV) | `required_document_rule`, `document` | 3 |
| `38` | Модалка «Импорт групп компаний из файла» | Файл (.xlsx, .csv), РФ, «Ожидаемые колонки: ИНН, Наименование, Тип, Базовый РФ ГК, ID ГК», «При дублировании: Пропустить существующие», Загрузить | `legal_entity`, `company_group`, `audit_event(DIRECTORY_IMPORT)` | 1 |
| `39` | **Панель «Первичные документы»** организации (drawer) | ИНН, **Загрузить документы**, Редактировать документы; таблица: Документ (имя, формат, дата), Период («2024 К1», «2025 · 9 мес.»), Проверка (✓ Период, ✓ Контрагент), Статус (Загружен / Обработка / Требуется проверка), комментарий, удалить | `stored_file`, `document.period_check/counterparty_check/status`, `comment` | 2–3 |
| `40` | Модалка загрузки | Выбрать документы, Отмена, Загрузить | `stored_file`, `recognition_job` | 2 |
| `41` | **Проверка распознавания** (клик по документу в `39`) | крошки Отчётность › ГК › ЮЛ › Проверка документа; заголовок + имя файла, формат, дата; выпадающий список **Документ** (переход между документами организации) + бейдж статуса; **Добавить комментарий**. Слева «Исходный документ»: постраничные изображения, масштаб 100 % ±, сброс. Справа «Результат распознавания»: шапка формы (организация, ИНН, ОКПО/ОКОПФ/ОКФС, адрес, аудит), «Бухгалтерский баланс на 30 сентября 2025 г.», ОКУД, отчётная дата, ОКЕИ, единица измерения; таблица Пояснения / Наименование показателя / Код / колонки-даты, разделы и итоги; **Редактировать**, **Подтвердить данные** | `document`, `financial_statement_meta/column/line/value`, `comment`, `audit_event(RECOGNIZED_DATA_EDIT, DOCUMENT_CONFIRM)` | 3 |
| `42` | Модалка **«Новая консолидация»** | Группа компаний → ГСК («Сначала выберите ГК») → Год → Квартал; Создать. Сценарий/подход/гудвилл здесь не выбираются — решение в OQ-27: подход всегда базовый, гудвилл включается на вкладке «Гудвилл», сценарий «Подтверждение КФО клиента» — через меню «…» консолидации | `consolidation`, `consolidation_version` | 4 |
| `30` | **Отчёт — вкладка ОСВ** (сводная ОСВ) | шапка: хлебные крошки Отчётность › ГК › 2024·К1, заголовок «ГК — 2024 К1», подзаголовок-пояснение статуса, бейдж **Статус отчёта**, **Изменить статус**; вкладки ОСВ · Шахматка · Таблица корректировки · Гудвилл · КФО · КФО Общий · Подтверждение КФО клиента; Единицы (тыс. руб.), Знаков после запятой, Настройка таблицы, Экспорт, На весь экран; предупреждение «Требуется указать соответствия… Осталось: N» + **Показать ЮЛ без ИНН**; таблица: Компания ГК, Счёт, Период, Контрагенты, ИНН, Сальдо начало Дт/Кт, Обороты Дт/Кт, Сальдо конец Дт/Кт, Тип контрагента | вычисляется из `osv_entry` × `consolidation_member`; `legal_entity_alias` | 4 |
| `32-osv-no-inn` | ОСВ, фильтр «ЮЛ без ИНН» | строки без сопоставления, кнопка **Указать** | `osv_entry.counterparty_id IS NULL` | 4 |
| `32-osv-map-counterparty` | Модалка «Выбор организации для связи с …» | колонки ИНН, Организация, ГК, ГСК, ГСЗ; блок «Рекомендуемые»; кнопка **Связать** в строке | `legal_entity_alias`, `osv_entry.counterparty_id`, `audit_event(OSV_COUNTERPARTY_MAP)` | 4 |
| `31-00` | Модалка «Остались неуказанные ИНН» | при уходе с ОСВ: «Не заполнено ИНН: N. Точно хотите перейти?» Остаться / Перейти | — | 4 |
| `31-01` | **Шахматка** | фильтры Год, Период, Компании, Дт (счета), Кт (счета), Единицы, Знаки; матрица ДБ/КТ компания × компания, в ячейке три числа (сумма A / сумма B / (расхождение) красным), диагональ пустая, строка Итого; ниже **Результирующая таблица**: Статья (Дебиторская, Кредиторская, Фин вложения, Долгосрочные кредиты и займы, …) × компании | вычисляется; `chart_of_account.kind` | 5 |
| `31-02` | **Таблица корректировки** | две группы колонок «Актив баланса ЮЛ-1» / «Пассив баланса ЮЛ-2»: Наименование, Строка баланса, Счёт, Сумма; Контроль: % отклонения, Сумма отклонения; Корректировка: Дт, Кт, Комментарий; **Редактировать**, Экспорт | `correction` | 5 |
| `31-03` | **Гудвилл** | таблица: Учёт в отчёте (чекбокс), Наименование дочерней организации, Доля владения, Фондовые вложения головной организации, Доля участия ГО в УК ДО, Уставный капитал, Гудвилл (+/−), Комментарий; группировка по головной организации; Редактировать | `goodwill` | 6 |
| `31-04` | **КФО** | сводка расхождений: «по статьям баланса 810,18 3 %», «по статьям ОФР 124,6 5 %» (красным при превышении); блоки Баланс (38 строк) и ОФР; колонки по каждой ЮЛ: По данным клиента / В том числе взаимные обязательства / Очищенные показатели / Доля в показателе по группе %; затем **КФО, подготовленная банком**, Комментарий; строка «В т.ч. Гудвилл» под 1170; **Редактировать комментарии** | `kfo_result`, `kfo_result_line`, `kfo_result_line_company` | 6 |
| `31-05` | **КФО Общий** | динамика КФО по датам: Показатель, Код строки, 01.01.2025 … 01.01.2026; **Выбор периодов**, Экспорт | `ex_snapshot_item.payload` / `kfo_result_line` по версиям | 7 |
| `31-06` | **Подтверждение КФО клиента** | Баланс и ОФР: Показатель, Код строки, Версия клиента (ст. 1), Версия банка (ст. 2), ВГО, Консолидированная отчётность, Расхождение сумма (ст. 1 − ст. 2), Расхождение % ((ст. 1 − ст. 2)/ст. 2 × 100 %), Комментарий; Редактировать | `client_kfo_line` | 6 |
| `33` | «Изменить статус» | в макете кнопка на верифицированном отчёте неактивна; модалка «Смена статуса отчёта» (строки в бандле: Комментарий обязателен, Отклонено) не снята | `consolidation_status_history` | 7 |
| `50` | **Справочник «Группы компаний и организаций»** | слева список ГК (имя, CRM ID, счётчик ЮЛ, поиск по ЮЛ/ГСК); справа карточка ГК: Основной РФ · N организаций; вкладки **ЮЛ / ГСК / ГСЗ** со счётчиками, чекбокс Архив, Настройка таблицы; таблица ЮЛ: Статус (Активно), ИНН, КПП, Организация, Тип (ЮЛ/ИП), Основной РФ, меню «…»; кнопки **Импорт из файла**, **Создать ГК/ЮЛ** | `company_group`, `legal_entity`, `related_group` | 1 |
| `77` | Вкладки ГСК / ГСЗ | таблица: ID ГСК (GSK-001), Наименование, Число участников, Дата создания | `related_group`, `related_group_member` | 1 |
| `51` | «Создать ГК/ЮЛ» | выбор объекта: ГК / ЮЛ / ГСК / ГСЗ → форма | | 1 |
| `61` | **ЮЛ вне ГК** (Юридические лица) | таблица: Статус, ИНН, КПП, Организация, ГК, Тип, Основной РФ; Создать ЮЛ | `legal_entity.company_group_id IS NULL` | 1 |
| `78–80` | Меню ЮЛ «…» | Изменить ЮЛ; **Вывести из состава ГК** → модалка: Событие (Закрытие / Переход в другую ГК), Дата закрытия, Комментарий, Вывести | `legal_entity_history(event_type, effective_date)` | 1 |
| `60`, `84` | **Монозаемщики** | таблица как «Организации» (Наименование, Документы, ОФР, Бух. баланс, ОСВ, ИНН, Тип); панель документов — та же, что `39` (статусы Требуется проверка / Обработка) | `legal_entity` (моно), `document` | 2 |
| `62`, `82`, `83` | **Единое хранилище** | фильтры Все ГК / организации / годы / кварталы / типы; дерево **ГК → ГСК → Организации** (GSK-001 · 4 организаций, ЮЛ с ИНН); справа — документы/срезы выбранного узла; поиск по хранилищу | `ex_snapshot`, `ex_snapshot_member`, `ex_snapshot_item` | 7 |
| `63` | **Журнал действий** | категории Все / Справочники / Консолидация / Доступ; таблица: Дата, ГК, ЮЛ, Пользователь, Событие, Что изменилось, Детали события; пагинация | `audit_event` | 7 |
Сквозные элементы: хлебные крошки; «Настройка таблицы» (отображаемые столбцы, Скрыть все / Выбрать все) на каждой
таблице; «Экспорт» и «На весь экран» на отчётных вкладках; выбор единиц (тыс. руб.) и знаков после запятой;
бейджи статусов: Инициация, Консолидация РФ, Верификация РФ, Консолидация ГО, Верифицирован, Отмена КФО; статусы
документов: Загружен, Обработка, Требуется проверка, Ошибка, Отсутствует.
## Расхождения макета с ТЗ/DBML (в `07-open-questions.md`)
- Сценарий/подход/гудвилл не в модалке создания — решено (OQ-27): `approach` = BASIC по умолчанию (расширенный — позже, по набору документов), `goodwill_enabled` — переключатель на вкладке «Гудвилл», `scenario = CONFIRM` включается через меню «…» консолидации.
- Нет экранов пользователей / ролей / матрицы прав (ТЗ 8.1, `role_permission`) — подтверждено (OQ-29).
- Версии консолидации показаны деревом под периодом; «Взять в работу» — на уровне списка, не карточки (ANL-036).
- Шахматка в макете — в тыс. руб. с 2 знаками, хотя ОСВ в рублях — подтверждает OQ-26 (единицы/округление).
- Гудвилл: колонка «Фондовые вложения» (= финансовые вложения 58.01), «Доля участия ГО в УК ДО», «Уставный капитал» — без 1350 (OQ-10).
## Как переснять
```bash
pip install playwright && playwright install chromium
python scripts/mockup_crawl.py docs/mockup/dkb_24.09.26/dkb_24.09.26.html docs/mockup/screens
```