14 Commits

Author SHA1 Message Date
Andrey Epifancev
0f7a101161 feat(osv): ячейка ИНН по макету — «Указать» только без ИНН, ИНН сопоставленного ЮЛ с пересопоставлением (#17)
Решения владельца 08.10.2026 (arm-core #74, отмена П-1):
- ИНН из файла — просто текстом, без «Указать», даже если ЮЛ не найдено;
- строка сопоставлена без ИНН в файле — «таблетка» с `counterparty_entity_inn`, клик открывает выбор организации,
  у текущего ЮЛ — неактивное «Связано» (закрывает D-1 из #16);
- нет ни ЮЛ, ни ИНН — «Указать» на подсвеченной ячейке.
Колонка ИНН — моноширинный шрифт по центру, воронка фильтра `unmapped`; баннер и кнопка «Показать ЮЛ без ИНН» —
цвета `osv-mapping-alert` макета. Спека consolidated-osv-ui и README (1381 → 1260) обновлены.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qoydUVv8g1qHxc123u2RR
2026-10-08 19:59:21 +04:00
Andrey Epifancev
1249e2ff3b feat(osv): сопоставление контрагента в сводной ОСВ — «Указать» → «Связать» по макету [32] (#14)
- ИНН-ячейка строк без сопоставления подсвечена, ссылка «Указать» рядом с ИНН из файла [32-osv-no-inn].
- Модалка «Выбор организации для связи с …» [32-osv-map-counterparty]: поиск с паузой 300 мс,
  scope group / весь справочник (от 3 символов), блок «Рекомендуемые», «Связать».
- POST …/osv/entries/{последняя entry_id}/counterparty; 409 ALIAS_TAKEN → перенос алиаса (move_alias),
  LOCK_REQUIRED → «Взять версию в работу?» → POST …/lock → повтор, LOCKED_BY_OTHER → имя держателя.
- После успеха перечитываются строки и сводка («Осталось N»).
- Чистые функции counterpartyMapping.ts + тесты; спека consolidated-osv-ui.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-08 17:39:23 +04:00
Andrey Epifancev
6f8f04a707 feat: экраны по макету — панель документов [39]/[40], сводная ОСВ [30], проверка распознавания [41]/[41-02], консолидации [34], группы [03], логотип, модалка [42] (H-2, #3)
- [39] таблица документов: формат, период, проверка Период/Контрагент, статус плашкой; шапка с ЮЛ и ИНН
- [30] шапка «ГК — год Кn» со статусом, вкладки (только ОСВ), баннер «Осталось N» с фильтром
  несопоставленных, колонки и двухуровневые заголовки макета, фильтры в заголовках, «—» для нуля
- [41] карточки «Исходный документ» / «Результат распознавания», режим просмотра и «Редактировать»,
  форма как бумажный документ, суммы без копеек
- [34] Дата создания, Дата верификации (—, в API нет), ГСК (—, П-3), квартал «К3»
- [03] Основной РФ — название филиала, а не UUID
- логотип АРМ КА, заголовок вкладки, «Отчётность»; [42] члены ГСК наверху списка

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 03:10:34 +04:00
Andrey Epifancev
0f734e3bf8 fix: версия в URL, ошибки списка, подпись квартала, Назад по прямой ссылке, код ошибки не в заголовке (I-1, M-3, M-4, M-6, T7.M7, T7.M4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 01:54:37 +04:00
Andrey Epifancev
2c7bdf19b0 feat: экран сводной ОСВ — сводка, пробелы, фильтры, экспорт xlsx (#3)
Заодно: отложенный revokeObjectURL в saveBlob (ревью Task 3).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 01:30:32 +04:00
Andrey Epifancev
615201c925 feat: проверка формы ББ/ОФР — скан PDF, правка ячеек и шапки, проверки, подтверждение (#3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 01:23:57 +04:00
Andrey Epifancev
edaa2b6d58 fix: дерево ОСВ устойчиво к самоссылке, циклам и дублям id; key документа (I-1, M-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 01:19:17 +04:00
Andrey Epifancev
5d1c28d0de feat: экран документа и просмотр ОСВ-документа с подтверждением (#3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 01:16:37 +04:00
Andrey Epifancev
c7867277d8 feat: панель файлов ЮЛ — загрузка с итогом, документы, опрос до окончания распознавания (#3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 01:09:34 +04:00
Andrey Epifancev
fec179b747 feat: модалка консолидации — предотметка ГСК, все ЮЛ, ошибки, переход к версии (#3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 01:05:57 +04:00
Andrey Epifancev
841299b12b chore: убрано наследие старого АРМ, vitest, зелёный make check (#3)
Удалены экраны и моки старого АРМ (FileViewer, FilesList, FileUploaderModel,
PDFResultViewer, mocks.ts), рендер PDF перенесён в widgets/DocumentReview/PdfPages.tsx.
Подключён vitest (npm test, make test, в make check). Исправлены все ошибки tsc и biome:
типизированы ответы api.get, слайсы и thunks, убраны console.log и пустые catch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-08 00:45:53 +04:00
maxim
8747f6318c Add consolidation POST + file upload 2026-10-07 22:48:30 +03:00
maxim
81548eb4ae second update 2026-10-07 12:49:10 +03:00
maxim
383e4e3e5d first commit from arm-core 2026-10-06 13:28:45 +03:00