# quality-metrics-ui Specification ## Purpose Экран «Качество первички» веб-интерфейса: матрица «источник × причина», динамика по месяцам, список документов ячейки, выгрузка фактов; пункт меню по праву. ## Requirements ### Requirement: Экран «Качество первички» Веб-интерфейс SHALL содержать экран «Качество первички» с фильтрами (период, ГК, тип документа, источник, скан/цифровой), матрицей «источник × причина» (колонки PDF, Excel, Всего; технические отказы — отдельным столбцом по файлам с пометкой, что фильтр типа на них не действует), динамикой по месяцам выбранной причины и кнопкой выгрузки фактов (CSV / JSON). Фильтра по ЮЛ на экране нет (API его поддерживает). Справочник ГК для фильтра SHALL запрашиваться один раз за жизнь экрана, в том числе при пустом ответе или ошибке. #### Scenario: Пустой справочник ГК - **WHEN** справочник ГК пуст или запрос завершился ошибкой - **THEN** экран не повторяет запрос бесконечно #### Scenario: Выбран источник - **WHEN** в фильтре выбран PDF - **THEN** матрица показывает одну колонку ### Requirement: Переход из ячейки в документ Клик по ячейке матрицы SHALL открывать список документов ячейки (постранично, со счётчиками правок «сервис» и «наш разбор» и исходом); из строки списка, если документ ещё существует, SHALL быть переход в экран проверки документа. #### Scenario: Документ удалён - **WHEN** документ ячейки уже удалён - **THEN** строка показана без ссылки на документ ### Requirement: Пункт меню по праву Боковое меню SHALL показывать пункт «Качество первички» только при наличии `QUALITY_METRICS_VIEW` и снова SHALL скрывать пункты по полю `permission`: «Пользователи и роли» скрыт без `USERS_ADMIN`. Доступ по-прежнему решает сервер. #### Scenario: Нет права - **WHEN** в `/me` нет `QUALITY_METRICS_VIEW` - **THEN** пункта «Качество первички» в меню нет #### Scenario: Нет USERS_ADMIN - **WHEN** в `/me` нет `USERS_ADMIN` - **THEN** пункт «Пользователи и роли» скрыт