647 Commits

Author SHA1 Message Date
Andrey Epifancev
7df8a937fa fix(#195): сброс модалки «Указать» и возврат со страницы за концом списка (T5.1–T5.3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:03:01 +04:00
Andrey Epifancev
6db9fa2ae1 feat(#195): режим «Встречные записи» на вкладке «ОСВ»
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:00:52 +04:00
Andrey Epifancev
8194f47d1a feat(#195): модалка «Нет встречных записей» перед шахматкой и баннер строк без ИНН
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:56:51 +04:00
Andrey Epifancev
4942120005 fix(#195): M в модалке пар — число разных missing_id, «строк» без склонения (web)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:53:01 +04: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
Andrey Epifancev
8513a8d10e feat(#195): типы и правила показа пар без встречных записей (web)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:51:45 +04:00
Andrey Epifancev
c24bc3d4c1 feat(#195): counter_pairs в сводке сводной ОСВ и фильтр counterparty_id
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:48:59 +04:00
Andrey Epifancev
40c1bca6bc feat(#195): доменная функция пар без встречных записей и фильтр counterparty_id
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:44:17 +04: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
bdc0e907a2 docs(#195): план counter-pairs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:40:34 +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
aep
69cc52025a Merge pull request 'Golden-маппинг: 60.111/60.112 из синтетики s46 вне плана счетов (#193)' (#194) from fix/193-golden-s46-out-of-plan into main 2026-10-27 17:19:55 +03:00
Andrey Epifancev
33dbe54e9c test(golden): 60.111/60.112 из синтетики s46 — в KNOWN_OUT_OF_PLAN (#193)
Синтетика s46 (fixtures 530ede1, tabular-parser#71, AURORA-1714) — субсчета 60.111/60.112, которых нет в плане
счетов seed; test_all_golden_snapshots_mapped на main падал с «новые коды вне плана счетов».

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:12:46 +04:00
Andrey Epifancev
5263ab0e23 openspec: архив report-tabs-history (AURORA-1851, #192) 2026-10-27 18:09:42 +04:00
aep
25c9024749 Merge pull request '«Назад» на странице отчёта не ходит по вкладкам (#191, AURORA-1851)' (#192) from feat/191-report-tabs-history into main 2026-10-27 17:06:52 +03: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
aep
66fac5811e Merge pull request 'AURORA-1646 чек-лист версии — только файлы стола консолидации (#188)' (#189) from feat/188-checklist-scope into main 2026-10-27 09:58:40 +03: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
73a2a53e24 AURORA-1690: тест схемы MeResponse — поле role_details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 10:19:31 +04: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
aep
143a484a72 Merge pull request 'Архив OpenSpec document-comments-ui (PR #182)' (#183) from chore/180-archive-document-comments into main 2026-10-26 23:51:39 +03: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
aep
fabc74982b Merge pull request 'AURORA-1683 Комментарии к документу: список на экране проверки и счётчик в панели' (#182) from feat/180-document-comments into main 2026-10-26 23:51:12 +03: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
470851ef19 AURORA-1683 панель документов: счётчик и поповер комментариев
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:23:40 +04:00
Andrey Epifancev
63251b287a AURORA-1683 экран документа: список комментариев в боковой панели
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:23:11 +04:00
Andrey Epifancev
ff2232787f AURORA-1683 комментарии: тип, запрос, время по Москве, счётчик строки панели
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:22:28 +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
aep
ed0052bad0 Merge pull request 'AURORA-1671: исправления по функционалу ГК и ЮЛ' (#179) from fix/legalEntities into main 2026-10-26 23:17:17 +03:00
Andrey Epifancev
3aad670510 fix(web): справочники — выбранная ГК, счётчик ЮЛ, ошибки у полей (ревью #179, AURORA-1671)
- Страница ГК: снова выбирается первая ГК списка; список ЮЛ без выбранной ГК
  не запрашивается (иначе уходил запрос по всем ГК), «ЮЛ вне ГК» грузится без ГК.
- Выбранная ГК обновляется после перезагрузки списка ГК — счётчик ЮЛ в шапке
  и на вкладке после создания/переноса/вывода ЮЛ.
- Загрузка ГСК/ГСЗ: try/finally — ошибка не оставляет вечный спиннер.
- Форма ЮЛ: INVALID_INN/INVALID_KPP/INN_EXISTS/CRM_ID_EXISTS — у поля;
  КПП приводится к верхнему регистру при вводе.
- crm_id ГСК/ГСЗ — string | null; колонка «ID в CRM»; LE_PAGE вместо литерала;
  возвращён комментарий в фильтре шахматки.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:00:47 +04:00
630a616bf1 форматирование 2026-10-26 14:14:50 +03:00
daec128fc3 AURORA-1671: добавленна отображения ошибки crm_id_exists напрямую в форму 2026-10-26 14:11:48 +03:00
633c4d3fed AURORA-1671: исправления по функционалу ГК и ЮЛ 2026-10-26 13:35:05 +03:00
aep
6433c23cf0 Merge pull request 'Архив OpenSpec elimination-pairs-rule-totals (PR #175)' (#177) from chore/175-archive-elimination-pairs into main 2026-10-23 22:02:36 +03: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
aep
393bd4c484 Merge pull request 'AURORA-1536 пары ВГО §5, DBML v5.23' (#175) 2026-10-23 22:01:58 +03: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
b4522addc0 feat: DBML v5.23 — версия правил обязательна; список пар ВГО версии (ревью #175, AURORA-1536)
- consolidation_version.elimination_rules_version NOT NULL: миграция 0010
  проставляет существующим версиям номер правил, действовавших на дату
  создания (по Москве), иначе последних открытых; без правил — отказ;
  создание версии без действующих правил — 409 ELIMINATION_RULES_MISSING;
  ветки «правила не зафиксированы» убраны (rules, preset, is_version_fixed
  всегда true);
- GET …/elimination-totals: все тройки «правило ББ × упорядоченная пара
  периметра» с ΣA, ΣB, расхождением, суммой элиминации, статусом
  AUTO/DISCREPANCY/ONE_SIDED/MANUAL и osv_entry_ids; сводная ОСВ строится
  один раз; сбор строк сторон вынесен в _collect_rule_sides — общий
  с упаковкой тройки.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:42:10 +04:00
Andrey Epifancev
812e530fe5 style: ruff format elimination_packing (ревью #175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:42:10 +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
aep
1b3f85c88c Merge pull request 'Архив OpenSpec retry-recognition-and-edit-osv-header (PR #161)' (#176) from chore/161-archive-retry-recognition into main 2026-10-23 17:20:23 +03: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
aep
4d3e596337 Merge pull request 'AURORA-1442: ручки возобновления обработки файла или версии консолидации, ручка обновления данных по осв' (#161) from feat/renew-processing-timeout into main 2026-10-23 17:19:20 +03:00
Andrey Epifancev
3bc71a912d refactor(retry): версии уже отобраны по статусу в запросе (ревью #161, раунд 2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:19:08 +04:00