svod-otchetov-dochernih-komp/brief.md

21 KiB
Raw Permalink Blame History

Свод отчётов дочерних компаний

Собери СТАТИЧНЫЙ макет всего процесса: кликабельные экраны без серверной логики, наполненные правдоподобными примерами. Без пометок «макет», «демо» и «демонстрационная версия» на экране. Это ИНТЕРФЕЙС решения, а не паспорт в виде сайта: первым открывается главный рабочий экран сотрудника (то, с чем он работает каждый день), дальше — экраны остальных шагов процесса. Таблицы, списки и графики сразу заполнены примерами (8–15 строк), пустых состояний «ничего не найдено» при открытии быть не должно. Сведения паспорта (предпосылки, эффект, риски) — одной последней вкладкой «О решении», не первой.

ТЗ НА ИНТЕРФЕЙС

Что собираем

Автоматизировать сбор и сверку отчётов 15 дочерних компаний с контролем отклонений от плана

Кто пользуется

  • Сводящий: загружает файлы, проверяет извлечённые данные, утверждает результат, формирует записку
  • Финансовый директор: получает итоговый свод и записку (только просмотр результата)

Экраны (первым открывается первый)

1. Загрузка и распознавание

Инициация процесса и контроль качества извлечения данных из разнородных шаблонов На экране:

  • Список загруженных файлов Excel (15 шт.)
  • Статус обработки каждого файла (Успешно / Ошибка формата)
  • Журнал действий ИИ (логи распознавания)
  • Предупреждения о нестандартных полях или единицах измерения Действия:
  • Загрузить файлы с общего ящика
  • Запустить распознавание
  • Перейти в ручной режим для проблемного файла
  • Перейти к проверке данных

2. Проверка данных и отклонений

Верификация переноса показателей и визуальный контроль отклонений от плана На экране:

  • Таблица сводных данных: Компания, Выручка, EBITDA, CAPEX, Дебиторка, План, Факт, Отклонение %
  • Подсветка ячеек с отклонением более 10%
  • Фильтр по компаниям или типам показателей
  • Индикаторы ошибок ИИ (единицы измерения, пропуски) Действия:
  • Редактировать значение вручную
  • Снять/поставить пометку об отклонении
  • Утвердить данные для формирования итога
  • Вернуться к загрузке

3. Формирование результата

Генерация итогового документа и сопроводительной записки для руководства На экране:

  • Предпросмотр сводного Excel-файла
  • Редактор текста записки финансовому директору
  • Список ключевых отклонений (сводка для записки)
  • Статус готовности к отправке Действия:
  • Скачать сводный Excel
  • Отредактировать текст записки
  • Отправить результат (имитация/подготовка к отправке)
  • Завершить сессию

Данные

  • Файл отчёта: Название файла, Компания, Статус обработки, Дата загрузки
  • Показатель: Тип (Выручка, EBITDA, CAPEX, Дебиторка), План, Факт, Отклонение %
  • Сводная запись: Компания, Выручка, EBITDA, CAPEX, Дебиторка, Флаг отклонения >10%

Путь сотрудника

  • Сводящий загружает файлы на экран 'Загрузка и распознавание'
  • ИИ обрабатывает файлы, Сводящий проверяет статусы и при необходимости включает ручной режим
  • Сводящий переходит на экран 'Проверка данных и отклонений'
  • Сводящий сверяет данные, корректирует ошибки ИИ и утверждает итог
  • Сводящий переходит на экран 'Формирование результата'
  • Сводящий скачивает Excel и готовит записку

Что делает ИИ

  • На экране 'Загрузка и распознавание': ИИ скачивает файлы, распознаёт разные форматы, извлекает показатели и переносит их в единый свод
  • На экране 'Проверка данных и отклонений': ИИ автоматически подсвечивает отклонения от плана более 10%

Что проверяет и решает человек

  • Проверяет корректность извлечения данных из нестандартных файлов
  • Контролирует единицы измерения и выявленные ошибки ИИ
  • Утверждает итоговый свод перед формированием записки
  • Решает, когда и как отправить результат финансовому директору

КОНТЕКСТ (для понимания процесса; на экраны целиком не выносить)

ПАСПОРТ ИИ-РЕШЕНИЯ

Поле Значение
Наименование Свод отчётов дочерних компаний
Исполнитель владелец процесса – сборка на платформе Vibe AI
Пользователь Сводящий, финансовый директор
Дата внедрения –

1. Предпосылки

  • Свод отчётов 15 дочерних компаний выполняется вручную раз в месяц
  • Шаблон у каждой компании разный
  • Процесс долгий и содержит ошибки

2. Входные данные и источники

  • Файлы Excel с выручкой, EBITDA, CAPEX, дебиторкой, планом и фактом
  • Канал передачи: письма на общий ящик

3. Процессы для внедрения ИИ

  • Сбор файлов
  • Распознавание форматов
  • Перенос данных в единый свод
  • Подсветка отклонений от плана больше 10 процентов

4. Шаги процесса

  • Сводящий скачивает файлы Excel с общим ящика
  • Сводящий открывает файлы и находит показатели
  • Сводящий переносит данные в единый свод
  • Сводящий помечает отклонения от плана больше 10 процентов
  • Сводящий проверяет результат
  • Сводящий пишет записку финансовому директору

5. Результат

  • Сводный Excel
  • Записка финансовому директору к 15:00 понедельника

6. Ожидаемый эффект

  • Ускорение процесса
  • Снижение количества ошибок
  • Ускорение принятия решений

7. Экономический эффект

  • Расход времени: 3–4 часа раз в неделю
  • Итого: около 12–16 часов в месяц (оценка Төре)

8. Контроль и риски

  • Ошибка ИИ на нестандартном файле
  • Ошибка ИИ в единицах измерения
  • Контроль результата осуществляет сводящий

9. Меры по снижению

  • Проверка результата человеком перед использованием.
  • Журнал действий ИИ и возможность вернуть ручной режим.

10. Формат реализации

  • Веб-интерфейс на Vibe AI: сначала статичный макет всего процесса, после согласования — рабочее решение.
  • Экраны макета: Загрузка и распознавание; Проверка данных и отклонений; Формирование результата.

Схема процесса (mermaid): flowchart TD S0["Сводящий скачивает файлы Excel с общим ящика · ИИ"] S1["Сводящий открывает файлы и находит показатели · ИИ"] S0 --> S1 S2["Сводящий переносит данные в единый свод · ИИ"] S1 --> S2 S3["Сводящий помечает отклонения от плана больше 10 процентов · ИИ"] S2 --> S3 S4["Сводящий проверяет результат"] S3 --> S4 S5["Сводящий пишет записку финансовому директору"] S4 --> S5

Объём работы

Собирай ровно то, что написано в задании. Не добавляй лишние разделы, журналы и настройки. Для статичной страницы достаточно 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/ закоммить вместе с проектом — иначе опубликованная страница останется без стилей.

Телефон — основной экран

Сотрудники открывают приложение в мессенджере на телефоне. Всё рабочее — поиск, фильтры, кнопки действий, формы, переключатели — должно быть видно и работать при ширине 375px, без горизонтальной прокрутки страницы. Дизайн-система на экранах уже 640px скрывает поиск верхней панели (классы .kt-ai-search и .kt-ai-search-field): рабочий поиск по данным ставь в области контента над списком или таблицей обычным полем .kt-ai-input, а не этими классами.

Без пометок «демо»

Не пиши на экране «Демо-данные», «демонстрационная версия», «тестовые данные», «макет» и похожие пометки. Если настоящих данных нет — наполни приложение правдоподобными примерами. Не утверждай, откуда взяты данные.

Ничего не додумывай

НИЧЕГО НЕ ДОДУМЫВАЙ (правило продукта): источник — задание (в нём — слова сотрудника). Сведений о работе, которых там нет, не добавляй и не «уточняй» за сотрудника: компании и бренды, системы и интеграции, отделы и роли, адреса, числа, цены, сроки, показатели, источники данных. Чего нет — того не пиши. Предлагать своё можно, только если сотрудник сам просит предложить, придумать, подобрать, найти или изучить. Примеры в таблицах и на графиках — обычные и нейтральные, они только показывают устройство экрана. Чего-то не хватает — оставь поле пустым или добавь пустое состояние, а не выдуманный факт.

Большие файлы — частями, скрипт — простой

Файл длиннее ~250 строк не пиши одной записью: создай его с первой частью и дописывай следующими правками (по экрану или блоку за раз). Запись слишком большого файла одним сообщением обрывается. Скрипт пиши просто: обычные функции и циклы, без хитрых однострочников; методы строк (padStart, toFixed, slice) вызывай у значений нужного типа, к элементу обращайся после проверки, что он найден. После сборки перечитай скрипт: парные скобки, каждый экран рисуется без исключений, первый экран при открытии сразу показывает наполненные таблицы. Интерпретатора JavaScript в песочнице нет — не ищи его и не пиши свои проверяльщики: синтаксис опубликованной страницы проверит Tõre и сообщит, если что-то не так.