AURORA-1835: свод 1 и сводные проектов: форматтер чисел создаётся один раз #217

Open
aep wants to merge 1 commits from feat/210-aurora-1835-svod1-formatter into test
Owner

Closes #210

Jira: AURORA-1835

Что сделано

  • Новый чистый модуль web/src/pages/SvodPage/summaryFormat.js: formatSummaryAmount(value, divisor) с модульным Intl.NumberFormat('ru-RU', { maximumFractionDigits: 2 }); для нечисловых значений возвращает null.
  • SummaryTable.jsx: Cell в scaleColumns использует formatSummaryAmount вместо new Intl.NumberFormat на каждую ячейку. Ветки originalCell и '—' остались в Cell. Вывод не меняется. Закрывает свод 1 и /projects/summaries.
  • Дубли форматтеров в Svod2Page/SvodPage/ProjectSummariesPage не трогались (рядом hunk AURORA-1836).

Тесты

  • web/src/pages/SvodPage/summaryFormat.test.js (node --test): 0 -> '-', 1234.567 -> '1 234,57', делители 1000 и 1e6, нечисловое -> null, Intl.NumberFormat создаётся один раз. 3 passed, 0 failed.
  • npm run build проходит. biome по новым файлам чистый; в SummaryTable.jsx biome ругается на порядок импортов и форматирование, это было до правки, не трогал. Бэк не менялся, pytest не запускался.

Проверить руками

  • Свод 1 (MAIN, FORM_1...4): числа и прочерки как до правки.
  • /projects/summaries: то же.
  • Смена единиц (руб./тыс./млн) пересчитывает числа.

Замер до/после

Будет добавлен после ночного прогона на стенде perf/. Сценарий: scroll.spec.ts, PERF_TARGETS='svod/svod1_MAIN,svod/svod1_FORM_1,svod/projects_summaries', метрика main_thread_ms_per_step (база: MAIN 138,6, FORM_1 133,4, сводные 93,2; критерий MAIN <= 110, не блокирует PR).

Rulings I made

нет

🤖 Generated with Claude Code

Closes #210 Jira: AURORA-1835 ## Что сделано - Новый чистый модуль web/src/pages/SvodPage/summaryFormat.js: formatSummaryAmount(value, divisor) с модульным Intl.NumberFormat('ru-RU', { maximumFractionDigits: 2 }); для нечисловых значений возвращает null. - SummaryTable.jsx: Cell в scaleColumns использует formatSummaryAmount вместо new Intl.NumberFormat на каждую ячейку. Ветки originalCell и '—' остались в Cell. Вывод не меняется. Закрывает свод 1 и /projects/summaries. - Дубли форматтеров в Svod2Page/SvodPage/ProjectSummariesPage не трогались (рядом hunk AURORA-1836). ## Тесты - web/src/pages/SvodPage/summaryFormat.test.js (node --test): 0 -> '-', 1234.567 -> '1 234,57', делители 1000 и 1e6, нечисловое -> null, Intl.NumberFormat создаётся один раз. 3 passed, 0 failed. - npm run build проходит. biome по новым файлам чистый; в SummaryTable.jsx biome ругается на порядок импортов и форматирование, это было до правки, не трогал. Бэк не менялся, pytest не запускался. ## Проверить руками - [ ] Свод 1 (MAIN, FORM_1...4): числа и прочерки как до правки. - [ ] /projects/summaries: то же. - [ ] Смена единиц (руб./тыс./млн) пересчитывает числа. ## Замер до/после Будет добавлен после ночного прогона на стенде perf/. Сценарий: scroll.spec.ts, PERF_TARGETS='svod/svod1_MAIN,svod/svod1_FORM_1,svod/projects_summaries', метрика main_thread_ms_per_step (база: MAIN 138,6, FORM_1 133,4, сводные 93,2; критерий MAIN <= 110, не блокирует PR). ## Rulings I made нет 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-10-28 17:09:39 +03:00
AURORA-1835: Cell в scaleColumns создавал Intl.NumberFormat на каждую ячейку.
Форматирование вынесено в formatSummaryAmount (summaryFormat.js) с модульным форматтером.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/210-aurora-1835-svod1-formatter:feat/210-aurora-1835-svod1-formatter
git checkout feat/210-aurora-1835-svod1-formatter
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/DFiP_Budget_planing#217
No description provided.