289 Commits

Author SHA1 Message Date
Andrey Epifancev
b499787d10 docs(web): таблица корректировок — README, ARCHITECTURE, tasks (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:05:02 +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
Andrey Epifancev
c2cbbf5dfd fix(web): правки по ревью Task 5 — лимит комментария, подсказки, защита от двойного запроса (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:39:26 +04:00
Andrey Epifancev
14cceb80be feat(web): решения по строкам и отмена корректировки (#206)
Флажок «Учитывать в КФО» и меню строк (перенести, убрать, вернуть к
автоматике) отправляют allocate; «Отменить корректировку» открывает окно
с обязательным комментарием и вызывает revoke. Ошибки — уведомление с
текстом сервера, 409 — ещё перечитывание таблицы. Подсказки режима только
чтения вынесены в readOnly.ts, подсказка «Недоступно» убрана (T4.14).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:35:44 +04:00
Andrey Epifancev
d98f264f90 feat(web): вкладка «Таблица корректировки» — таблица и панель (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:22:56 +04:00
Andrey Epifancev
ec6ece127f fix(web): правки по ревью Task 3 — утилиты денег, разбор сумм, черновик (#206)
- Копейки, процент и порог 5 % вынесены из mockCalc в utils/money;
  editorModel больше не зависит от фейка, тесты перенесены.
- Один разбор суммы строки ввода для проверки, живого контроля и сравнения;
  некорректные строки в живой контроль не входят.
- isDirty сравнивает суммы копейками; комментарий — точно.
- Черновик: savedAt проверяется через Date.parse.
- Тесты границ порога, пустых сторон и неизвестного rule_id.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:12:53 +04:00
Andrey Epifancev
b8a7782eae feat(web): модель окна корректировки и черновик (#206)
Состояние окна «Корректировка операции», проверки ввода, живой контроль
(исходные суммы и распределение), кандидаты «Добавить строку ОСВ» и
черновик в localStorage. Деньги — строки, сложение через sumAmounts,
ввод через parseAmountInput; процент — percentOfSmaller из mockCalc.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:09:13 +04:00
Andrey Epifancev
c05830face feat(web): фейк контракта корректировок и модель таблицы (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:02:47 +04:00
Andrey Epifancev
8eefa3ba02 feat(web): типы и клиент API таблицы корректировок (#206)
Типы 1:1 с components.schemas контракта корректировок, клиент API
(таблица, сохранение, отзыв, разнесение, экспорт), флаг
REACT_APP_CORRECTIONS_MOCK в Config. Ветка фейка пока бросает ошибку
(фейк — в следующей задаче). Строка R-1 в design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 20:57:44 +04:00
Andrey Epifancev
31fb404b47 Дизайн экрана «Таблица корректировки» (#206)
OpenSpec change corrections-table-ui: proposal, design, спека
corrections-table-ui и дельта intercompany-matrix-ui (вкладка
доступна). AURORA-1541.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 20:47:50 +04:00
aep
31904e334a Merge pull request 'AURORA-1652' (#203) from AURORA-1652 into main 2026-10-28 16:08:17 +03:00
Andrey Epifancev
c287839f49 AURORA-1652: тест правил с номерами статей; в спеке — elimination_mode в ответе правил нет
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 16:49:35 +04:00
Andrey Epifancev
f9fd33d835 openspec: архив back-to-primary-docs (#197, AURORA-1682)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 23:12:35 +04:00
Andrey Epifancev
1c58a0f8cd Merge remote-tracking branch 'origin/main' into feat/197-back-to-primary-docs 2026-10-27 23:11:20 +04:00
Andrey Epifancev
68a0af3450 Merge remote-tracking branch 'origin/main' into feat/197-back-to-primary-docs
# Conflicts:
#	web/src/utils/consolidations.test.ts
#	web/src/utils/consolidations.ts
2026-10-27 23:11:20 +04:00
Andrey Epifancev
1cce1575b8 openspec: архив counter-pairs, Purpose consolidations-ui (#195, AURORA-1746, M-7)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 23:10:42 +04:00
Andrey Epifancev
c60a53acc8 docs(openspec): back-to-primary-docs — решения без обсуждения (#197)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 23:05:55 +04:00
Andrey Epifancev
93ee8b2352 feat(#195): модалка сопоставления в режиме пар сразу сужена до участника пары
Решение владельца после показа на стенде: «Указать» во «Встречных записях»
открывает список из одного участника пары; «Показать все организации» —
обычный список. Чистая pairCandidateRows + vitest, спека и design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:58:50 +04:00
Andrey Epifancev
a653172418 fix(web): «Назад» из документа возвращает панель «Первичные документы» организации (#197, AURORA-1682)
Открытая панель «Первичные документы» живёт в адресе экрана консолидации (?entity=<id ЮЛ> рядом с ?version=),
открытие и закрытие заменяют запись истории. «Назад» из документа, открытого из панели, возвращает на консолидацию
с той же версией и панелью той же организации; переключатель документа (AURORA-1692) и прямая ссылка — как прежде.

- utils/consolidations.ts: panelEntity / withPanelEntity + тест;
- ConsolidationsList: панель открыта по ?entity=, когда ЮЛ из адреса уже в сторе (без мелькания прежнего ЮЛ);
- ConsoleLegalEntities: onDrawerOpen(id ЮЛ строки);
- change back-to-primary-docs: MODIFIED document-review-ui «Переключатель документа», ADDED primary-files-ui
  «Открытая панель в адресе экрана консолидации».

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:54:56 +04:00
Andrey Epifancev
fb13389f75 docs(openspec): раскладка пар и состояния сводки в спеке counter-pairs (M-10, M-11)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:24:39 +04:00
Andrey Epifancev
2bb5683cde docs(#195): таблица решений без разрыва
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:57:03 +04:00
Andrey Epifancev
95171f4f50 docs(#195): правки ревью Task 8 — формулировки раскладки, таблица решений
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:56:59 +04:00
Andrey Epifancev
e2e416282f feat(#195): раскладка режима «Встречные записи» — пары сверху, две таблицы на всю ширину; чистая логика пустых состояний
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:55:47 +04:00
Andrey Epifancev
97071b03ad docs(#195): R-6 в design.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:54:18 +04:00
Andrey Epifancev
397a1a7aef fix(counter-pairs): правки финального ревью (I-1, I-2, I-3, M-1, M-2, M-3, M-5)
Подпись пары без служебных слов, тест пары на фикстурах РБ, модалка при уходе с «ОСВ» на любую вкладку,
без «Экспорт» в режиме пар, README и ARCHITECTURE, таблица решений design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:22:25 +04:00
Andrey Epifancev
50f28b5672 docs(#195): R-3 в design.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:15:36 +04:00
PotapovaA
4b98ff2a24 выводе данных в шахматке в денежном формате 2026-10-27 18:07:21 +03:00
Andrey Epifancev
c70549ffd2 docs(#195): R-2 в design.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:52:41 +04:00
PotapovaA
6f52360c49 добавление недостающийх полей в EliminationRuleOut 2026-10-27 17:44:39 +03:00
Andrey Epifancev
e1299fab45 docs(#195): R-1 в design.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:43:01 +04:00
Andrey Epifancev
e9977fb221 docs(#195): change counter-pairs — пары участников без встречных записей (AURORA-1746)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:33:58 +04:00
Andrey Epifancev
5263ab0e23 openspec: архив report-tabs-history (AURORA-1851, #192) 2026-10-27 18:09:42 +04:00
Andrey Epifancev
8eebedf657 fix(web): смена вкладки отчёта без новой записи истории — «Назад» к списку консолидаций (#191, AURORA-1851)
reportTabNavigation: адрес новой вкладки и replace; OsvTabs переходит через неё (и после модалки [31-00]).
Change report-tabs-history: MODIFIED «Вкладки страницы отчёта по версии» (intercompany-matrix-ui).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:04:40 +04:00
Andrey Epifancev
74ba43d1b7 AURORA-1646 чек-лист версии — только файлы стола консолидации (#188)
Кандидаты «Требуется проверка» / «Распознан» и состояние файлов («Обработка» / «Ошибка загрузки») чек-лист берёт
только со стола консолидации (§9.5 п. 11) — тем же фильтром, что панель «Первичные документы» (`files.on_desk`).
Документы организации из других консолидаций и из карточки ЮЛ ячейку больше не меняют: без документов — «Отсутствует».

В `on_desk` документ подзапроса — псевдоним: в запросе по `Document` он иначе коррелирует с внешним.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 10:54:50 +04:00
aep
019a1d8d1b Merge pull request 'AURORA-1690: пользователь и роли по клику на логотип' (#186) from feat/184-user-role into main 2026-10-27 09:21:52 +03:00
Andrey Epifancev
1590302b79 AURORA-1690: названия ролей в блоке пользователя (role_details в /me)
GET /me дополнен role_details [{code, name}] (аддитивно), фронт показывает
названия ролей, при их отсутствии — коды. Требования внесены в спеки
authn-authz и consolidations-ui, change 184-user-role удалён.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 01:11:28 +04:00
Andrey Epifancev
c65f00c837 AURORA-1690: показ пользователя и ролей по клику на логотип АРМ КА
Closes #184

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 01:07:30 +04:00
aep
ee43d5200a Merge pull request 'AURORA-1644: автозамена не вытесняет документ другой организации (#181)' (#185) from feat/181-supersede-inn-guard into main 2026-10-27 00:05:23 +03:00
Andrey Epifancev
353b562dfc AURORA-1644 автозамена не вытесняет документ другой организации (#181)
Пара «новый документ — прежний» с counterparty_check = MISMATCH у любого из двух
в автозамене не участвует: сканы разных организаций в одной карточке больше не
вытесняют друг друга. UNKNOWN заменяется как прежде. Если файл оставлен только
из-за MISMATCH, в mapping_warnings нового файла — «автозамена не выполнена»
с именем и версией оставленного файла. Спека primary-files дополнена.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:54:27 +04:00
Andrey Epifancev
089268a300 Архив OpenSpec document-comments-ui (PR #182)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:51:29 +04:00
Andrey Epifancev
8c7146d33e AURORA-1683 ревью: клики в поповерах не открывают документ, черновик не переходит на другой документ
I-1: обёртка со stopPropagation вокруг всего Popover (CommentsPopover и FileWarningsPopover);
I-2, M-2: key={doc.id} на боковой панели комментариев; решения R-5…R-12 в design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:36:39 +04:00
Andrey Epifancev
e25dd2e776 AURORA-1683 сверка в браузере: отступы панели и строки, tasks OpenSpec
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:28:19 +04:00
Andrey Epifancev
07648ba3ac AURORA-1683 OpenSpec document-comments-ui и план
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:20:39 +04:00
Andrey Epifancev
9c57f680af Архив OpenSpec elimination-pairs-rule-totals (PR #175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:02:24 +04:00
Andrey Epifancev
8940f32ae3 fix: пары ВГО — суммы со знаком, процент в упаковке, deviation_amount (ревью #175, AURORA-1536)
- суммы сторон со знаком, как в шахматке; строки с суммой < 0 в упаковку не идут, причина NEGATIVE_AMOUNT;
  при min(ΣA, ΣB) ≤ 0 процент null и элиминация 0, статус списка AUTO — только при элиминации > 0
- группы одного размера выбираются по проценту расхождения к меньшей сумме (точной дробью), ничья — по равному проценту
- elimination_amount группы и тройки переименован в deviation_amount; version_no тройки обязателен
- суммы и проценты пар в JSON — с двумя знаками
- elimination-pairs по правилу с measure ≠ closing — 422 INVALID_RULE
- дельта спеки, design.md (R-7, R-8), tasks, README

make check-full: exit 0 (1896 passed; integration 990 passed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:47:47 +04:00
Andrey Epifancev
fdb1f179cc docs(openspec): elimination-pairs-rule-totals — дельта вместо правки основной спеки, решения, README (ревью #175)
Основная спека consolidations-api возвращена к main: фиксация версии правил,
пары тройки и список версии — в дельте change (MODIFIED «Создание
консолидации», ADDED «Пары ВГО тройки», «Пары ВГО версии», «Правила
элиминации зафиксированной версии», REMOVED старое требование правил);
data-model — DBML 5.23 и миграция 0010. design.md — решения владельца 23.10
и «Decisions made without discussion» R-1…R-6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:44:31 +04:00
Andrey Epifancev
888ad4b401 Merge origin/main в AURORA-1536 (ревью #175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:34:35 +04:00
Andrey Epifancev
70c5743c77 Архив OpenSpec retry-recognition-and-edit-osv-header (PR #161)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:20:08 +04:00
Andrey Epifancev
e13cd88fea Merge origin/main в feat/renew-processing-timeout (ревью #161, раунд 2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 17:59:00 +04:00