arm-ka-docs/mockup/INDEX.md

80 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Индекс макета `dkb_24.09.26`
Макет — **один React-бандл** (`dkb_24.09.26.html`, 3,6 МБ, пустой `<div id="root">`): экраны не лежат в 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
```