23 Commits

Author SHA1 Message Date
Andrey Epifancev
d13a9554a1 fix(#237): «76-исключения» в правилах элиминации и разнесение по стороне строки (AURORA-2034)
Замечание заказчика 09.11.2026, п. 1: счета 76 (аренда, НДС) не должны участвовать в
расчётах и засорять таблицу корректировок. Список субсчетов — Лысенко 10.11.2026.

- seed правил v1 (правка на месте, решение владельца 10.11.2026): из маски 76 на обеих
  сторонах правил 5–8 исключены 76.07/76.27/76.37 .1/.5/.9, 76.АВ, 76.ВА, 76.К, 76.Н, 76.НА,
  76.ОТ; правило 1 не меняется; на стендах нужен повторный seed;
- результирующая таблица §6 (RESULT_ARTICLES) — тот же список ACCOUNT_76_EXCLUDED, совпадение
  с seed проверяет тест;
- дефект: VgoService._rule_accounts сливал счета дебета и кредита правила, исключения одной
  стороны возвращались через маску другой — Кт-строки 76.* попадали в правила 5–8 и висели
  в нераспределённых (MULTIPLE_RULES); то же в candidate_rule_ids. Теперь account_owners
  ведёт стороны раздельно, правило строки — по её стороне (row_side, rules_for);
- golden-тест правила 6 на фикстурах РБ: 76.АВ вне правила, ΣA 108 062 446,46, 1,65 %
  (совпадает с эталоном, OQ-164).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 12:49:52 +04:00
Andrey Epifancev
6faa4fb325 AURORA-1756: ревью #218 — без общего итога, total_debit, change OpenSpec
- grand_total результирующей таблицы убран из API и xlsx: аналитик 03.11 попросил
  убрать итог снизу, сумма ДЗ + КЗ + ФВ + займов смысла не имеет
- total_debet переименовано в total_debit, как во всём API
- итоги матрицы квантуются до двух знаков ("0.00" и при одном ЮЛ)
- правки openspec/specs перенесены в change intercompany-matrix-totals
- README: фильтр ЮЛ и итоги

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:42:52 +04:00
PotapovaA
a48a8f496c удаление итогов по ЮЛ в результирующей таблице шахматке 2026-11-05 16:22:17 +03:00
PotapovaA
994d6be94c объеденение эндпоинтов для all, manual и добавления для них суммы по дебету, кредиты в по юл 2026-11-03 17:45:54 +03:00
PotapovaA
0f107f8cf8 добавление итогов по компаниям в result table (шахматка) 2026-11-03 15:15:17 +03:00
PotapovaA
9bae931454 получение разнесение осв по правилам автоматическое + наложение ручных корректировок сверху 2026-10-30 12:56:39 +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
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
9a30b45c17 Merge origin/main в AURORA-1651 (#141) и доводка шахматки (AURORA-1651)
Конфликты с #141: в ALL оставлены и фильтр забалансовых, и MatrixSelection; тесты
#141 на старый one_sided переписаны под расчёт по суммам.
- one_sided = ровно одна сумма нулевая (знак не важен), тесты с отрицательными суммами;
- шапка xlsx режима ALL — «Все балансовые счета»;
- фильтр GET /directories/accounts убран из PR (решение владельца 22.10.2026).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 23:44:44 +04:00
PotapovaA
254002f723 тех долг 2026-10-22 16:58:19 +03:00
PotapovaA
3de0c90198 refactor(matrix): удалить unpaired-osv из ветки пресетов 2026-10-21 19:32:23 +03:00
PotapovaA
2f08ce4155 test(matrix): проверить пресет с кредитовой первой стороной 2026-10-21 19:02:41 +03:00
PotapovaA
9e39c4d426 feat(matrix): понятное имя и реквизиты правила в XLSX пресета 2026-10-21 18:59:25 +03:00
PotapovaA
b078933428 fix(audit): сохранять номер и версию правила в экспорте пресета 2026-10-21 18:54:58 +03:00
PotapovaA
3eb5362e58 fix(matrix): выбирать последнюю открытую версию правил 2026-10-21 18:51:06 +03:00
PotapovaA
38c8eefa18 fix(matrix): ограничить PRESET правилами ББ 2026-10-21 18:43:19 +03:00
PotapovaA
e9dc67b2e9 refactor(matrix): вынести применение корректировок из ветки пресетов 2026-10-21 18:40:05 +03:00
PotapovaA
2c0a2ad939 правки по ревью 2 2026-10-21 12:15:20 +03:00
PotapovaA
abe1d890d0 правки по ревью 2026-10-21 11:59:23 +03:00
PotapovaA
53c2d5c73d пресеты для шахматки 2026-10-20 14:45:27 +03:00
PotapovaA
f9f25e8245 правки по код ревью 2026-10-16 13:19:49 +03:00
PotapovaA
db19b3a176 корректировка расчета шахматки, добавление эндпоинтов для получения статей, добавления эндпоинта для выгрузки xlsx 2026-10-15 13:17:54 +03:00
PotapovaA
f0b5d19162 добавить расчёт шахматки и результирующую таблицу ВГО 2026-10-12 14:26:10 +03:00