# Паспорт бизнес-процесса: Согласование годового плана закупок ## Назначение системы Система для согласования позиций годового плана закупок. Позволяет ответственным лицам сравнивать характеристики позиций, проверять совместимость, исключать неподходящие позиции и принимать решения с комментариями. ## Важные принципы 1. **Alem — рекомендация, не платформа.** Система может использовать Alem как рекомендуемый инструмент, но не привязана к конкретной платформе. 2. **Сохранение решений — в первой версии.** Функция сохранения решений и комментариев работает сразу, не откладывается на будущие версии. 3. **Реальные данные — только внутри КТ.** Обработка реальных данных осуществляется исключительно в инфраструктуре Казахтелеком. Демо-данные отделены от реальных записей. ## Сущности ### Позиция плана закупок - **ID** — уникальный номер позиции - **Группа/Категория** — группа закупок (ИТ-оборудование, Сетевое оборудование, ПО, Услуги) - **Наименование** — название позиции - **Характеристики** — технические параметры (мощность, ёмкость, совместимость) - **Срок поставки** — планируемая дата поставки - **Город** — место доставки - **Цена** — стоимость в тенге - **Количество** — единиц - **Поставщик** — рекомендуемый поставщик - **Совместимость** — совместима / требует проверки / несовместима - **Статус согласования** — на согласовании / согласовано / отклонено / исключено ### Решение по позиции - **ID позиции** — ссылка на позицию - **Решение** — согласовано / отклонено / исключено / на доработку - **Комментарий** — обоснование решения - **Кто принял** — ФИО ответственного - **Дата решения** — когда принято решение ## Статусы позиции | Статус | Описание | Что можно делать | |--------|----------|------------------| | На согласовании | Позиция ожидает решения | Сравнить, проверить совместимость, принять решение | | Согласовано | Позиция одобрена | Просмотр, включение в итоговый план | | Отклонено | Позиция отклонена | Просмотр, обоснование отклонения | | Исключено | Позиция исключена из плана | Просмотр, причина исключения | ## Группы позиций | Группа | Примеры | |--------|---------| | ИТ-оборудование | Серверы, рабочие станции, ноутбуки | | Сетевое оборудование | Маршрутизаторы, коммутаторы, СКС | | Программное обеспечение | Лицензии ПО, антивирусы, ОС | | Услуги | Техническая поддержка, обучение, аутсорсинг | ## Интерфейс — экран сравнения позиций ### KPI-полоса (верхняя панель) - Всего позиций - На согласовании - Согласовано - Исключено (несовместимые) ### Фильтры - Группа (все / ИТ-оборудование / Сетевое / ПО / Услуги) - Статус (все / на согласовании / согласовано / отклонено / исключено) - Город (все / Алматы / Астана / Шымкент / другие) - Совместимость (все / совместима / требует проверки / несовместима) ### Таблица позиций (группированная) Колонки: 1. Группа (свёртка/развёртка) 2. Наименование 3. Характеристики 4. Срок поставки 5. Город 6. Цена (тенге) 7. Совместимость (цветной чип) 8. Статус (цветной чип) 9. Действия (кнопка «Согласовать», «Исключить») ### Карточка согласования (открывается по клику) - Полная информация о позиции - Сравнение с аналогами (если есть) - Проверка совместимости - Поле для комментария - Кнопки: «Согласовать» / «Отклонить» / «Исключить» - Сохранение в localStorage сразу после нажатия ### Выгрузка в Excel - Кнопка «Выгрузить отчёт» — генерация Excel-файла с текущими данными - Формат: XLSX, все поля позиции + решения + комментарии ## Хранение данных ### Демо-данные - Помечены `data-kt-data-mode="demo"` - Чип «Демо-данные» в шапке - Отдельное хранилище в localStorage ### Реальные данные - Хранятся в инфраструктуре КТ - Отдельное хранилище в localStorage (помечено `live`) - Доступ только у уполномоченных пользователей ## Требования к интерфейсу 1. **Дизайн-система KT AI** — все компоненты и токены из ДС 2. **Светлая тема по умолчанию** — `data-theme="light"` 3. **Логотип Казахтелеком** — в шапке слева 4. **Адаптивность** — таблица и фильтры работают на мобильных 5. **Пустое состояние** — если нет данных под фильтр, показать причину 6. **Фильтры меняют всё** — таблица, KPI, текст объяснения 7. **Один пустой срез** — хотя бы один фильтр показывает «нет данных» 8. **Группировка строк** — свёртка/развёртка по категориям ## Запреты 1. Нельзя выполнять действие по непроходной строке (кнопка `disabled`) 2. Нельзя скрывать фильтры и пустое состояние 3. Нельзя подменять данные из другого фильтра 4. Нельзя использовать сырые hex-цвета в вёрстке 5. Нельзя подключать сторонние CSS-фреймворки