AURORA-1899: возврат тестирования — разрядность не трогает неденежные и текстовые колонки #308

Merged
aep merged 1 commits from feat/285-aurora-1899-non-money-fix into test 2026-11-11 15:15:47 +03:00
Owner

Refs #285. Возврат тестирования AURORA-1899 от 11.11.2026.

Что было

  1. Неденежные поля масштабировались (НДС, курс, сумма в валюте, внутренний заказ, площадь). tableColumns.jsx считал множитель через getCellDisplayFactor(column) с MRT column — у него нет accessorKey (он в column.columnDef). getMoneyUnit получал пустой ключ и по правилу «иначе thousand» считал денежной любую колонку. Список NON_MONEY при этом был верным.
  2. Разрядность блокировала обоснование. Текстовые колонки (justification, comment, реквизиты договоров) не были в исключениях → «денежные» → при «млн»/«млрд» isEditable их закрывал; «123» в комментарии делилось.

Что сделано

  • getMoneyUnit принимает и конфиг колонки, и MRT column (column.columnDef ?? column) — исправляет все места вызова разом.
  • Новый isTextColumn: коды (internal_order, section_code, …) и свободный текст (comment / *_comment, justification, counterparty, deadline, …) — не масштабируются и не форматируются как числа (Cell.jsx). Числовые неденежные (qty, rented_area, vat_rate, exchange_rate, amount_foreign) форматируются как числа, но не масштабируются.

Проверка

  • node --test src/components/RealtimeTable/utils/*.test.js — 166/166; новые тесты падали до правки.
  • Вручную (локальный стенд, форма 1, АХР Поддержка, «в руб.»): план 1 500 → 1 500 000,0; внутренний заказ 10123, комментарий 123, НДС 20,0, курс 90,5, сумма в валюте 100,0 — без пересчёта.

Rulings I made

  • R-1: возврат делается на открытой issue #285 новой веткой (как с AURORA-1893 / #282).
  • R-2: текстовые колонки не форматируются как числа — сверх «не масштабировать», потому что тестировщик ожидает исходные «10123» и «123», а не «10 123,0».
  • R-3: текстовые колонки определяются по последнему сегменту accessorKey (в конфигах нет признака типа); список составлен по всем листовым ключам FORM_1/2/4.

Findings

Маркер Суть Статус
O-1 Свод 2 на стенде у тестировщика не загрузился («сообщение об ошибке») — не разбиралось, к разрядности не относится deferred
O-2 tests/unit/test_export_service_query_params.py падает на базе test (известно, O-2 из #304) deferred

🤖 Generated with Claude Code

Refs #285. Возврат тестирования AURORA-1899 от 11.11.2026. ## Что было 1. **Неденежные поля масштабировались** (НДС, курс, сумма в валюте, внутренний заказ, площадь). `tableColumns.jsx` считал множитель через `getCellDisplayFactor(column)` с MRT column — у него нет `accessorKey` (он в `column.columnDef`). `getMoneyUnit` получал пустой ключ и по правилу «иначе thousand» считал денежной любую колонку. Список NON_MONEY при этом был верным. 2. **Разрядность блокировала обоснование.** Текстовые колонки (`justification`, `comment`, реквизиты договоров) не были в исключениях → «денежные» → при «млн»/«млрд» `isEditable` их закрывал; «123» в комментарии делилось. ## Что сделано - `getMoneyUnit` принимает и конфиг колонки, и MRT column (`column.columnDef ?? column`) — исправляет все места вызова разом. - Новый `isTextColumn`: коды (internal_order, section_code, …) и свободный текст (comment / `*_comment`, justification, counterparty, deadline, …) — не масштабируются и не форматируются как числа (`Cell.jsx`). Числовые неденежные (qty, rented_area, vat_rate, exchange_rate, amount_foreign) форматируются как числа, но не масштабируются. ## Проверка - `node --test src/components/RealtimeTable/utils/*.test.js` — 166/166; новые тесты падали до правки. - Вручную (локальный стенд, форма 1, АХР Поддержка, «в руб.»): план 1 500 → 1 500 000,0; внутренний заказ 10123, комментарий 123, НДС 20,0, курс 90,5, сумма в валюте 100,0 — без пересчёта. ## Rulings I made - R-1: возврат делается на открытой issue #285 новой веткой (как с AURORA-1893 / #282). - R-2: текстовые колонки не форматируются как числа — сверх «не масштабировать», потому что тестировщик ожидает исходные «10123» и «123», а не «10 123,0». - R-3: текстовые колонки определяются по последнему сегменту accessorKey (в конфигах нет признака типа); список составлен по всем листовым ключам FORM_1/2/4. ## Findings | Маркер | Суть | Статус | |---|---|---| | O-1 | Свод 2 на стенде у тестировщика не загрузился («сообщение об ошибке») — не разбиралось, к разрядности не относится | deferred | | O-2 | `tests/unit/test_export_service_query_params.py` падает на базе test (известно, O-2 из #304) | deferred | 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-11-11 14:34:34 +03:00
Возврат тестирования 11.11:
- tableColumns считал множитель по MRT column, у которого нет accessorKey, —
  getMoneyUnit видел пустой ключ и считал денежной любую колонку (НДС, курс,
  сумма в валюте, площадь масштабировались). getMoneyUnit теперь берёт
  column.columnDef ?? column.
- текстовые колонки (комментарии, обоснования, реквизиты договоров, коды)
  попадали в правило «иначе thousand»: «123» в комментарии делилось, а при
  «млн»/«млрд» редактор обоснования закрывался как денежный. Добавлен
  isTextColumn: такие колонки не масштабируются и не форматируются как числа
  (внутренний заказ 10123 и комментарий «123» показываются как есть).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep requested review from PotapovaA 2026-11-11 14:34:54 +03:00
aep merged commit dd40b9f341 into test 2026-11-11 15:15:47 +03:00
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#308
No description provided.