148 Commits

Author SHA1 Message Date
Andrey Epifancev
6be3936d9f Гудвилл: снятая галочка с неверной долей не блокирует сохранение
Финальное ревью I-1: у неотмеченной строки поле доли скрыто — effectiveRow отправляет
сохранённую долю вместо неверного ввода; подсказка у «Сохранить» называет строки с ошибкой
и предупреждает о скрытых фильтром. design.md goodwill-ui: R-4…R-6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:50:27 +04:00
Andrey Epifancev
5f2b0e890f Гудвилл: UI-спека goodwill-ui, правки по проверке на стенде
OpenSpec change goodwill-ui (таблица, редактирование, переключатель/фильтр/экспорт;
вкладка «Гудвилл» в intercompany-matrix-ui больше не заглушка; R-1…R-3). По стенду:
стрелка раскрытия блока — у названия, «Выделить все» в одну строку, текст пустой таблицы.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:44:02 +04:00
Andrey Epifancev
2f5b455aaa Гудвилл: вкладка по API и DOC-259025
Суммы null — прочерк, ноль — 0,00; «Нет вложений» серым без чекбокса; предупреждения
иконкой с подсказкой; итоги «Всего» и «Итого по листу» из groups/totals ответа; в режиме
редактирования — предпросмотр P/G, проверка доли (два знака, без обрезки) и комментария,
групповой чекбокс по действующим строкам блока с indeterminate; сохранение одним пакетом
изменённых строк, ошибка 422 подсвечивает поле своей строки; переключатель «Учитывать
гудвилл в КФО»; фильтр «Нулевые»; экспорт с текущим фильтром.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:37:11 +04:00
Andrey Epifancev
66acde7786 Гудвилл: типы и запросы по API бэка, чистые функции вкладки
Типы по schemas/goodwill.py (has_investments, warnings, nullable суммы, groups,
УК в итогах), пакетный saveGoodwillRows, экспорт с sign; utils/goodwill.ts —
parseShare (два знака, без обрезки), previewAmounts в копейках (HALF_UP, как бэк),
matchesSign (null — только «все»), changedRows (только изменённые строки).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:33:14 +04:00
Andrey Epifancev
fe4c5db0e6 Гудвилл: ветка без правок вне задачи, влит main
Откатены к main правки справочников, шахматки, корректировок и types/api.ts
(обработка ошибок, Alert, удалённые комментарии) — не относятся к AURORA-1544 и
конфликтовали с #219/#221; шахматка переведена на общий фильтр единиц
components/ConsolidationFormatTableFilter; удалены тестовые MOCK_DATA; формат.
План доводки — docs/superpowers/plans/2026-11-06-goodwill-review-front.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:31:47 +04:00
Andrey Epifancev
a8ea8c6cc2 [1916] Импорт ЕЦП: сводка и после записи, предупреждения в таблице
Ревью PR #217, раунд 2:
- после записи (без «Пробного прогона») показывается та же сводка с заголовком
  «Импорт завершён» и одной кнопкой «Закрыть»; список справочника обновляется сразу;
- «ГК/ЮЛ пропущено» → «без изменений»: это GK_EXISTS/LE_EXISTS, не ошибки;
- таблица «Ошибки и предупреждения»: кроме шести кодов пропуска — предупреждения
  RF_CREATED и UNKNOWN_FLAG (§13.2) с тегом уровня;
- тесты issueLines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 17:40:34 +04:00
Andrey Epifancev
03803e98fd Merge remote-tracking branch 'origin/main' into feat/1916-import-directory 2026-11-06 17:36:07 +04:00
Andrey Epifancev
5115704f63 AURORA-1757: итоги шахматки из API, фильтр компаний на сервере (#224)
- клиент на единый POST …/intercompany-matrix и …/export
- матрица: колонка «Итого Дт» и строка «Итого Кт» из total_debit/total_credit,
  клиентское сложение убрано
- фильтр «Компании» уходит в запрос (legal_entity_ids), варианты — весь
  периметр из ответа без выбора; выгрузка с тем же выбором
- результирующая таблица без строки «Итого», колонка «Итого по группе»
- change intercompany-matrix-totals-ui

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 17:08:28 +04:00
eb65c2dc1c исправлен задний фон инпута доля владений 2026-11-06 09:24:06 +03:00
5304c97fb4 форматирование 2026-11-06 09:09:24 +03:00
1ee71355da футер таблицы гудвила вынесен в отдельный компонент 2026-11-06 09:08:39 +03:00
67899fc963 форматирование 2026-11-06 08:52:33 +03:00
29a630c5e5 функция раскрытия на весь экран вынесена в отдельный хук useFullScreen 2026-11-06 08:51:16 +03:00
db8641a1a8 обновленна логика отображения ошибок сервера 2026-11-06 08:37:53 +03:00
446cd583d5 исправление багов 2026-11-05 17:34:59 +03:00
12f7c4824d исправлено отображение колонки гудвила 2026-11-05 15:56:31 +03:00
c9f2ec3be1 Merge branch 'main' of https://git.aepif.ru/RSHB/arm-core into feat/goodWill 2026-11-05 14:01:34 +03:00
0ee7fe95f1 форматирование 2026-11-05 13:59:17 +03:00
a1054f08c9 aurora-1544 обновленна таблицы гудвил и вынесена в отдельный компонент фильтр единиц и знаков после запятой 2026-11-05 13:57:54 +03:00
70802d788c added basis of goodwill table 2026-11-05 09:10:18 +03:00
0a05716b09 [1916] - отображение отчета после пробного прогона 2026-11-03 17:08:49 +03:00
8ebc227979 AURORA-1916: Справочники: импорт ГК и ориганизаций из выгрузки ЕЦП 2026-11-03 10:06:48 +03:00
Andrey Epifancev
ec59fcc2eb R-35: граница 5% — строго больше, как у реального API
Фронт закладывал >= 5% (R-34, из неоднозначного текста контракта
«от 5% включительно»), а API 1540 (domain/corrections.py) считает
строго больше. Приведены к факту: живой контроль окна (editorModel),
подпись фильтра «Отклонение, %», тест на границе (ровно 5.00% больше
не красный, добавлен случай 5.01%).
2026-11-02 21:08:25 +04:00
Andrey Epifancev
7e8b035b17 Task 8: подключение таблицы корректировок к реальному API (#208)
Реальный контракт AURORA-1540/1751 не дал единой POST .../allocations:
решение по строке разбито на PUT/DELETE .../vgo-assignments/rule
(привязка/снятие правила) и PUT .../vgo-assignments/exclude (КФО),
ответ — список VgoAssignmentOut, а не вся таблица. allocate()
маршрутизирует по action и перечитывает таблицу сама — вызывающий код
(CorrectionContent, CorrectionEditorModal) не менялся.

Фейк контракта (CORRECTIONS_MOCK) убран — API уже есть. mockData/mockCalc
остаются тестовыми фикстурами (R-27).

Проверено на реальном стенде (Русский Бисквит — 2025 К1): загрузка
таблицы, EXCLUDE/INCLUDE, ASSIGN, снятие правила, сохранение
корректировки, экспорт — без ошибок в консоли.
2026-11-02 21:08:20 +04:00
Andrey Epifancev
b77c62816f api.del: поддержка тела запроса
Нужно для DELETE .../vgo-assignments/rule (снятие правила) — API
ждёт statement_type/entry_ids в теле. Единственный прежний вызов
(files.ts, без тела) не затронут.
2026-11-02 21:08:02 +04:00
Andrey Epifancev
c2bf047cb3 Merge main (AURORA-1540/1751, arm-core #208): реальный API корректировок/ВГО
Конфликт в ConsolidationReportPage.tsx — импорт ChessContent (main) и
CorrectionContent (эта ветка), оставлены оба.
2026-11-02 20:46:10 +04:00
Andrey Epifancev
616854460a AURORA-1868: вернуть marginBottom:0 в шапке CreateEntityPickerModal (ревью #210, п.3)
AppModal не задаёт margin у ant-modal-header, только padding — без
инлайн-override возвращался зазор, убранный в AURORA-1589 раньше.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-30 13:17:38 +04:00
ad691d5158 форматирование 2026-10-30 11:46:45 +03:00
3bc1acb1ad исправлена функция отображения фильтров, добавлен компонент кастомного модального окна 2026-10-30 11:46:00 +03:00
5c927c957d обновленн стиль для футера модалки 2026-10-30 10:42:54 +03:00
082f518367 Merge branch 'main' of https://git.aepif.ru/RSHB/arm-core into fix/consolidation 2026-10-30 10:35:41 +03:00
4e657925f8 форматирование 2026-10-30 10:27:43 +03:00
0cb395f5e7 aurora-1589, исправление расхождения с макетом 2026-10-30 10:26:31 +03:00
Andrey Epifancev
d8af058f75 feat(web): таблица корректировок под ответы Лысенко 29.10 (#206)
- отзыв корректировки убран (RevokeModal, revokeCorrection, пункт меню агрегата);
  `status` из тела PUT убран — сервер сразу применяет (R-29, R-30);
- «Учитывать в КФО»: у агрегата отмечен и закреплён, у строк агрегата флажка нет,
  у нераспределённых — EXCLUDE/INCLUDE; `excluded` у строки агрегата убран (R-31, R-32);
- у нераспределённой — строка баланса владельца `line_code`, фильтр «Строка баланса»
  действует и на неё (R-33);
- фейк: ENTRY_ALLOCATED для EXCLUDE/INCLUDE строки агрегата, ENTRY_EXCLUDED для ASSIGN
  исключённой; «Убрать из правила» отдаёт строку с line_code;
- спека, design.md (R-29…R-34), tasks §9, план Task 9, README/ARCHITECTURE.

Источник: AURORA-1395 #9920570, WIP API arm-core #208.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:17:34 +04:00
Andrey Epifancev
d3c4d35dca Шахматка: при выборе одной стороны Дт/Кт не шлём запрос (ревью #207)
- режим запроса вынесен в utils/chessMatrixMode (all / manual / half) с тестами;
  при «одна сторона» запрос матрицы не уходит, индикатор загрузки снимается;
- подсказка по спеке intercompany-matrix-ui: один текст в таблице и у фильтров,
  у фильтров — только в состоянии «одна сторона»;
- высота шахматки: min-height только для состояния подсказки, обёртка снова auto
  (в обычном режиме «Итого» сразу под строками);
- откат pairs?.length в shouldWarnCounterPairs (маскировал старый API);
- вернули комментарий про сумму, лишний columns || [] и дубль CSS убраны;
  опечатка CataloguGroupTabsI.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 21:38:40 +04:00
65c44978bd исправлен баг в shouldWarnCounterPairs 2026-10-29 11:19:02 +03:00
0e536b7867 исправление конфликта слияния 2026-10-29 11:07:22 +03:00
3544623d18 Merge branch 'main' of https://git.aepif.ru/RSHB/arm-core into fix/chessTable 2026-10-29 11:06:40 +03:00
7feebcbdca форматирование 2026-10-29 11:01:07 +03:00
b0a6cdedd0 aurora-1799 отображение ошибки в случае выбора только дт или кт 2026-10-29 10:59:54 +03:00
Andrey Epifancev
4db04f096a Сторона позиции в решении по строке (#206)
AllocationIn получил side: строка с дебетовым и кредитовым сальдо даёт
две позиции, решение касается одной. Флажок, меню строки, окно
корректировки и фейк передают и ищут позицию по строке и стороне.
Контракт — docs PR #184.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:36:02 +04:00
Andrey Epifancev
09685db0e8 fix(web): исключённые строки в «Исходных данных ОСВ» приглушены и подписаны «не в КФО» (#206)
M-4, M-8.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:15:41 +04:00
Andrey Epifancev
b26c1d2581 fix(web): ключ нераспределённой строки включает сторону (#206)
I-3: u|<side>|<entry_ids>; тест на две позиции с одинаковыми entry_ids.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:15:41 +04:00
Andrey Epifancev
d76cad1210 fix(web): окно корректировки — исходный контроль из ответа сервера, предел суммы, один percentText (#206)
I-2: sourceDiff = суммы сторон, отклонение и порог из агрегата; diffOf только для распределения.
M-1: целая часть суммы не более 16 цифр («Слишком большая сумма»). M-6, M-7: комментарий, один percentText.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:15:41 +04:00
Andrey Epifancev
f4a4f01c28 fix(web): уведомления вкладки корректировок — внутри бокса, видны в полноэкранном режиме (#206)
I-1: локальный notification.useNotification с getContainer на бокс вкладки; M-6, M-8: комментарии.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:15:41 +04:00
Andrey Epifancev
0667bca196 fix(web): уведомление об ошибке загрузки — actions вместо устаревшего btn (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:04:10 +04:00
Andrey Epifancev
b669e00efe style(web): таблица корректировок — Prettier, ESLint (вложенные тернарники, BOM) (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:57:24 +04:00
Andrey Epifancev
84c4f25a9b fix(web): окно корректировки — база черновика, подпись выбора (#206)
T6.11: при пересборке окна из нового агрегата (правок не было) база черновика
обновляется до текущей редакции корректировки, иначе при следующем открытии
показывалась ложная плашка об изменении.
T6.12: подпись кнопки «Выбрать» называет контрагента; ошибки полей статьи
объявляются role=alert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:55:35 +04:00
Andrey Epifancev
c1d402f0e3 fix(web): окно корректировки — пересборка состояния, клавиатура, доступность (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:53:22 +04:00
Andrey Epifancev
c559dd321c feat(web): окно «Корректировка операции» с черновиком (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:48:12 +04:00