svodnyy-finansovyy-analiz-do/brief.md

211 lines
22 KiB
Markdown
Raw Permalink 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.

# Сводный финансовый анализ дочерних компаний
Собери СТАТИЧНЫЙ макет всего процесса: кликабельные экраны без серверной логики, наполненные правдоподобными примерами. Без пометок «макет», «демо» и «демонстрационная версия» на экране.
Это ИНТЕРФЕЙС решения, а не паспорт в виде сайта: первым открывается главный рабочий экран сотрудника (то, с чем он работает каждый день), дальше — экраны остальных шагов процесса. Таблицы, списки и графики сразу заполнены примерами (8–15 строк), пустых состояний «ничего не найдено» при открытии быть не должно. Сведения паспорта (предпосылки, эффект, риски) — одной последней вкладкой «О решении», не первой.
# ТЗ НА ИНТЕРФЕЙС
## Что собираем
Автоматизировать сбор и анализ данных 17 дочерних компаний для подготовки сводного отчета и записки к понедельнику 15:00.
## Кто пользуется
- Аналитик: загружает файлы, проверяет данные и отклонения, отправляет результат.
- Руководитель: выборочно просматривает итоговый результат.
## Экраны (первым открывается первый)
### 1. Загрузка и распознавание
Прием файлов от 17 дочерних компаний и автоматическое сопоставление столбцов.
На экране:
- Список загруженных файлов (17 шт.) со статусом обработки
- Таблица сопоставления: исходный столбец -> целевой столбец (Выручка, EBITDA, CAPEX, Дебиторка, Кредиторка, Численность)
- Индикатор прогресса распознавания формата
- Журнал действий ИИ (логи распознавания)
Действия:
- Загрузить файлы из Outlook
- Запустить распознавание
- Вернуть в ручной режим (при ошибке)
- Перейти к проверке данных
### 2. Проверка данных и отклонений
Контроль переноса данных в сводный файл и проверка единиц измерения.
На экране:
- Сводная таблица по всем компаниям (План/Факт: Выручка, EBITDA, CAPEX, Дебиторка, Кредиторка, Численность)
- Подсветка ячеек с отклонениями
- Разметка расхождений в единицах измерения (тысячи/миллионы тенге)
- Фильтр по дочерним компаниям
Действия:
- Подтвердить корректность данных
- Исправить единицы измерения вручную
- Отметить расхождение как проверенное
- Перейти к черновику анализа
### 3. Черновик анализа
Просмотр и редактирование сгенерированного ИИ текста по каждой компании.
На экране:
- Текстовый блок с выводами по каждой из 17 компаний
- Кнопки навигации между компаниями
- Статус готовности записки (1-2 страницы)
Действия:
- Редактировать текст анализа
- Принять черновик
- Сформировать финальную записку
### 4. Итоговый результат и отправка
Финальная проверка пакета перед передачей финансовому директору.
На экране:
- Предпросмотр сводного Excel (итоговый лист + листы по организациям)
- Предпросмотр записки на 1-2 страницы
- Статус: Готово к отправке (дедлайн: понедельник 15:00)
Действия:
- Скачать сводный Excel
- Скачать записку
- Отправить пакет финансовому директору
## Данные
- Файл_Дочерней_Компании: Название_файла, Дата_получения, Статус_распознавания, Исходный_формат
- Сводные_Данные: Компания, Показатель, План, Факт, Единица_измерения, Отклонение
- Анализ_Компании: Компания, Текст_выводов, Статус_проверки
## Путь сотрудника
- Аналитик загружает файлы из Outlook на экран 'Загрузка и распознавание'
- ИИ распознает форматы и сопоставляет столбцы, аналитик подтверждает переход
- Аналитик переходит на экран 'Проверка данных и отклонений', проверяет единицы и расхождения
- Аналитик переходит на экран 'Черновик анализа', редактирует текст при необходимости
- Аналитик переходит на экран 'Итоговый результат', скачивает Excel и записку, отправляет директору
## Что делает ИИ
- Распознавание формата файлов и сопоставление столбцов (экран 'Загрузка и распознавание')
- Перенос данных в единый сводный файл (экран 'Проверка данных и отклонений')
- Подсветка отклонений в данных (экран 'Проверка данных и отклонений')
- Генерация черновика анализа по каждой дочерней компании (экран 'Черновик анализа')
## Что проверяет и решает человек
- Аналитик проверяет единицы измерения и расхождения (экран 'Проверка данных и отклонений')
- Аналитик редактирует и утверждает черновик анализа (экран 'Черновик анализа')
- Руководитель выборочно просматривает результат (экран 'Итоговый результат')
## Примеры для наполнения
Компании: 'ООО А', 'ООО Б', 'ООО В'... (17 шт.). Показатели: Выручка (млн тг), EBITDA (млн тг), CAPEX (млн тг), Дебиторка (млн тг), Кредиторка (млн тг), Численность (чел.). Пример отклонения: Факт выручки ниже плана на 15%. Пример ошибки единиц: В файле 'ООО Б' выручка указана в тысячах, а в шаблоне ожидается в миллионах.
# КОНТЕКСТ (для понимания процесса; на экраны целиком не выносить)
# ПАСПОРТ ИИ-РЕШЕНИЯ
| Поле | Значение |
|---|---|
| Наименование | Сводный финансовый анализ дочерних компаний |
| Исполнитель | владелец процесса – сборка на платформе Vibe AI |
| Пользователь | аналитик, финансовый директор |
| Дата внедрения | – |
## 1. Предпосылки
- Ручная обработка данных дочерних компаний занимает 3–4 часа в неделю
- Разный формат Excel у дочерних компаний приводит к путанице в столбцах и потере данных
## 2. Входные данные и источники
- Данные: выручка, EBITDA, CAPEX, дебиторка, кредиторка, численность персонала (план и факт)
- Источник: вложения в общем ящике Outlook от 17 дочерних компаний, приходят по пятницам
- Каждая дочерняя компания использует свой шаблон с разными листами и названиями столбцов
## 3. Процессы для внедрения ИИ
- Распознавание формата файлов и сопоставление столбцов
- Перенос данных в сводный файл
- Подсветка отклонений
- Генерация черновика анализа по каждой дочерней компании
## 4. Шаги процесса
- Дочерние компании отправляют вложения с данными в общий ящик Outlook по пятницам
- Аналитик скачивает вложения с общего ящика Outlook
- ИИ распознает формат файлов и сопоставляет столбцы
- ИИ переносит данные в единый сводный файл
- ИИ подсвечивает отклонения в данных
- ИИ генерирует черновик анализа по каждой дочерней компании
- Аналитик проверяет единицы измерения и расхождения
- Руководитель выборочно просматривает результат
- Аналитик отправляет сводный Excel и записку финансовому директору в понедельник к 15:00
## 5. Результат
- Сводный Excel с итоговым листом и отдельными листами по каждой организации
- Записка на 1–2 страницы с выводами
- Пакет передается финансовому директору в понедельник к 15:00
## 6. Ожидаемый эффект
- Финансовый директор продолжает получать готовый сводный Excel и записку к 15:00 понедельника для принятия решений
## 7. Экономический эффект
- Экономия 3–4 часов в неделю (оценка Төре)
## 8. Контроль и риски
- Ошибка ИИ из-за нестандартного формата файла и путаницы в единицах измерения (тысячи/миллионы тенге)
- Обязательная проверка единиц измерения и расхождений аналитиком
- Выборочный контроль результата руководителем
## 9. Меры по снижению
- Проверка результата человеком перед использованием.
- Журнал действий ИИ и возможность вернуть ручной режим.
## 10. Формат реализации
- Веб-интерфейс на Vibe AI: сначала статичный макет всего процесса, после согласования — рабочее решение.
- Экраны макета: Загрузка и распознавание; Проверка данных и отклонений; Черновик анализа; Итоговый результат и отправка.
Схема процесса (mermaid):
flowchart TD
S0["Дочерние компании отправляют вложения с данными в общий ящик Outlook по пятницам"]
S1["Аналитик скачивает вложения с общего ящика Outlook"]
S0 --> S1
S2["ИИ распознает формат файлов и сопоставляет столбцы · ИИ"]
S1 --> S2
S3["ИИ переносит данные в единый сводный файл · ИИ"]
S2 --> S3
S4["ИИ подсвечивает отклонения в данных · ИИ"]
S3 --> S4
S5["ИИ генерирует черновик анализа по каждой дочерней компании · ИИ"]
S4 --> S5
S6["Аналитик проверяет единицы измерения и расхождения"]
S5 --> S6
S7["Руководитель выборочно просматривает результат"]
S6 --> S7
S8["Аналитик отправляет сводный Excel и записку финансовому директору в понедельник к 15:00"]
S7 --> S8
## Объём работы
Собирай ровно то, что написано в задании. Не добавляй лишние разделы, журналы и настройки. Для статичной страницы достаточно index.html. Если запрошен статичный макет, не добавляй серверную часть на этом этапе.
Если задача требует общего хранения, настоящей регистрации или рабочего приложения, реализуй серверную часть и базу данных средствами Vibe AI. Создай необходимые файлы, таблицы и обработчики, даже если владелец не перечислил их отдельно. Не подменяй общее хранение localStorage или демонстрационным списком. Собственная база приложения не требует интеграции с системами КТ и отдельного утверждения дизайна в экспрессе. При доработке существующего проекта это правило заменяет прежнее ограничение одним HTML-файлом.
Проверь сохранение записи, чтение из другой сессии, обработку ошибок и ограничения доступа. Личные данные доступны только уполномоченному пользователю, секреты не попадают в браузерный код. Не придумывай доступы или готовые интеграции. Если публикация серверной части недоступна, укажи конкретную причину и не объявляй функцию работающей. Закончив, опубликуй приложение и сообщи фактический адрес и результаты проверки; сохраняй прежний адрес, если платформа это позволяет.
## Имена файлов
Если серверная часть не нужна, скрипт интерфейса называй script.js, стили — style.css. Не создавай в корне проекта файлы app.js, main.js, index.js, server.js, bot.js, app.py, main.py, server.py и package.json со scripts.start: платформа примет проект за серверное приложение и не опубликует статичный сайт. Эти имена — только для настоящего сервера.
## Дизайн — дизайн-система KT AI
Весь интерфейс собирай на дизайн-системе KT AI, которая уже лежит в папке проекта `design-system/`.
Перед первой строкой вёрстки прочитай `design.md` и `design-system/AGENTS.md` и следуй им.
Подключай файлы ДС относительными путями и в этом порядке: `./design-system/kt-ai-fonts.css`,
`./design-system/kt-ai-tokens.css`, `./design-system/kt-ai-components.css`, `./design-system/kt-ai-page.css`.
Тема по умолчанию — светлая: `<html lang="ru" data-theme="light">`; не ставь `dark` и не ставь `auto`
(auto уходит в тёмную по системной теме). `lang` — язык интерфейса из задания: казахский — `kk`, английский — `en`, иначе `ru`. Переключатель темы можно оставить, но открываться страница должна светлой.
Цвета, отступы и размеры — только токенами `var(--kt-ai-…)`, иконки — из `design-system/icons/kt-ai-lucide-sprite.svg`.
Плашки показателей — `.kt-ai-kpi` (`.value`, `.label`, `.hint`) в полосе `.kt-ai-kpi-strip`; таблицы — по правилам ДС (frameless, `.kt-ai-table-wrap`, числа вправо, `tabular-nums`);
графики — чистый SVG/div высотой 190–220px, столбцы 20–28px с радиусом 2px, цвета только `var(--kt-ai-chart-blue|green|orange|pink|red|salmon)`, подсказки значений — `data-kt-tip` + `./design-system/kt-ai-chart-tip.js`.
Имена токенов не выдумывай — только существующие в `design-system/kt-ai-tokens.css`: --kt-ai-fg / -fg-muted / -fg-faint, --kt-ai-bg / -bg-soft, --kt-ai-card-bg / -card-border, --kt-ai-border / -border-strong, --kt-ai-primary, --kt-ai-radius-xl / -3xl, --kt-ai-font-sans / -mono, --kt-ai-chart-blue / -green / -orange / -pink / -red / -salmon, --kt-ai-status-ok-fg / -warn-fg / -risk-fg.
Несуществующий токен (`--kt-ai-text-primary`, `--kt-ai-bg-surface`, `--kt-ai-font-family`) молча не применится — страница выйдет в Times New Roman без рамок.
Классы ДС (`.kt-ai-kpi`, `.kt-ai-card`, `.kt-ai-table`, `.kt-ai-btn`, `.kt-ai-chip`, `.kt-ai-input`) в своём `<style>` не переопределяй — ДС рисует их сама; свой `<style>` — только сетка и отступы. `<body class="kt-ai-app">`.
Перед публикацией проверь сам: в HTML не меньше десятка классов `kt-ai-*`, каждый `var(--kt-ai-…)` есть в tokens.css, свои hex-цвета — только внутри логотипа. Иначе это не дизайн-система, а перекраска.
Фильтры и пустое состояние тоже из ДС (`.kt-ai-select`, `.kt-ai-filter-chip`, `.kt-ai-empty`): каждый выведенный фильтр обязан менять все представления, которые задевает — таблицу, показатели, график и текст объяснения.
Таблицы, списки, журналы, дашборды и формы собирай из готовых классов ДС (`design-system/COMPONENTS.md`),
архетип экрана выбирай по `design-system/docs/ARCHETYPES.md`. Каркас страницы — из `design.md`, с обычными `<link>`.
Шаблон `design-system/templates/kt-ai-app-shell.html` целиком не копируй: его скрипты-загрузчики (`data-kt-ai-base-resolver`,
`data-kt-ai-boot`) тянут CSS с корня сайта по абсолютному пути `/design-system/…`, а сайт публикуется в подпапке — стили не загрузятся.
Подключай только файлы, которые реально лежат в `design-system/` (проверь `ls design-system`): файла `kt-ai-components.js` там нет.
Шапка страницы: слева логотип Казахтелекома — `<img src="https://code.vibe42.kz/tore/aitu/kt-logo.svg" alt="Казахтелеком" height="28">`, рядом название приложения.
Свой стиль не выдумывай, Bootstrap/Tailwind/Material/Google Fonts не подключай, сырые hex-цвета не пиши.
Папку `design-system/` закоммить вместе с проектом — иначе опубликованная страница останется без стилей.
## Без пометок «демо»
Не пиши на экране «Демо-данные», «демонстрационная версия», «тестовые данные», «макет» и похожие пометки. Если настоящих данных нет — наполни приложение правдоподобными примерами. Не утверждай, откуда взяты данные.
## Ничего не додумывай
Собирай по заданию. Сведений о работе, которых в задании нет, не добавляй: чужие компании и бренды, системы и интеграции, отделы, роли, сроки, цены и показатели «как в жизни» — не выдумывай. Примеры в таблицах и на графиках — обычные и нейтральные, они только показывают устройство экрана. Чего-то не хватает — оставь поле пустым или добавь пустое состояние, а не выдуманный факт.