Просмотр ОСВ: виртуализация таблицы — большая ОСВ роняет вкладку (AURORA-1665) #38

Closed
opened 2026-10-17 10:57:55 +03:00 by aep · 1 comment
Owner

Jira: AURORA-1665 (customer). Находка O-15 прогона выгрузки контура (AURORA-1639, admin/1639-contour-run).

Проблема

Экран «Просмотр ОСВ» (src/widgets/DocumentReview/OsvDocument.tsx) рисует все строки документа таблицей antd без виртуализации (pagination={false}, без virtual). ОСВ на десятки тысяч строк (Шаройко, К5, «ОСВ Молочная фабрика ООО.xlsx», 29 216 строк) роняет вкладку по памяти.

Решение (согласовано владельцем 17.10.2026)

  • virtual у Table antd: в DOM только видимые строки; данные остаются на клиенте, поиск и фильтр по субсчёту — клиентские.
  • Высота области прокрутки — числом по размеру контейнера/окна (virtual не принимает calc()).
  • Сохранить строку «Итого по документу» (Table.Summary fixed) и двухъярусную шапку.
  • Серверную пагинацию не делаем (нужна правка API arm-core и перенос поиска на сервер).

Критерии готовности

  • ОСВ на 29 216 строк открывается, прокручивается, поиск и фильтр работают, итог совпадает; память вкладки до/после — в отчёте.
  • make check зелёный, вывод — в PR.
  • Синхронизация arm-core/web — после merge (sync-web).
Jira: AURORA-1665 (customer). Находка O-15 прогона выгрузки контура (AURORA-1639, admin/1639-contour-run). ## Проблема Экран «Просмотр ОСВ» (`src/widgets/DocumentReview/OsvDocument.tsx`) рисует все строки документа таблицей antd без виртуализации (`pagination={false}`, без `virtual`). ОСВ на десятки тысяч строк (Шаройко, К5, «ОСВ Молочная фабрика ООО.xlsx», 29 216 строк) роняет вкладку по памяти. ## Решение (согласовано владельцем 17.10.2026) - `virtual` у `Table` antd: в DOM только видимые строки; данные остаются на клиенте, поиск и фильтр по субсчёту — клиентские. - Высота области прокрутки — числом по размеру контейнера/окна (virtual не принимает `calc()`). - Сохранить строку «Итого по документу» (`Table.Summary fixed`) и двухъярусную шапку. - Серверную пагинацию не делаем (нужна правка API arm-core и перенос поиска на сервер). ## Критерии готовности - ОСВ на 29 216 строк открывается, прокручивается, поиск и фильтр работают, итог совпадает; память вкладки до/после — в отчёте. - `make check` зелёный, вывод — в PR. - Синхронизация arm-core/web — после merge (sync-web).
aep closed this issue 2026-10-17 13:46:20 +03:00
Author
Owner

Сделано в PR #41 (слит в test, 783c3f0): virtual-таблица, числовой scroll.y, колонки сумм 160 px. Перенесено в arm-core/web — arm-core#124 (9477681).

Сделано в PR #41 (слит в test, 783c3f0): virtual-таблица, числовой scroll.y, колонки сумм 160 px. Перенесено в arm-core/web — arm-core#124 (9477681).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-web#38
No description provided.