Временный режим: период ОСВ из версии консолидации (CONSOLIDATION_PERIOD_FROM_VERSION) #103

Closed
opened 2026-10-12 18:04:05 +03:00 by aep · 1 comment
Owner

Цель

Временный режим для тестов в контуре: период ОСВ берётся из версии консолидации, в которую загружен файл, а не из шапки документа.

Почему

12.10.2026 владелец загрузил ОСВ за 1 кв. 2025 в консолидацию 2026 Q1 и подтвердил их вручную — свод пустой: fits() (services/consolidation_documents.py) требует document.period_year == consolidation.year, документы молча не привязываются. Период ОСВ из шапки через API не правится. Для тестов на произвольных ОСВ нужен режим, где период документа не мешает.

Что сделать (bounded)

  • Настройка CONSOLIDATION_PERIOD_FROM_VERSION (bool, по умолчанию false; в контуре — OPENBAO__APP__… по образцу других флагов).
  • «Эффективный период» документа для консолидации: если флаг включён, документ — ОСВ и его файл загружен в эту консолидацию (stored_file.consolidation_id), он считается нарастающим за год и квартал консолидации. Иначе — период из шапки, как сейчас.
  • Эффективный период используют: привязка (fits, bind_confirmed, on_document_confirmed, on_documents_mapped), сводная ОСВ (select_sources), чек-лист (кандидаты и ячейки), колонка «ОСВ» периметра (osv_accounts).
  • Документ не меняется (первичка не мутируется): период в карточке — из шапки.
  • ББ/ОФР и файлы вне консолидации (рабочий стол) — без изменений.
  • Тесты: unit на эффективный период и fits; интеграционный — ОСВ 2025 Q1 в консолидации 2026 Q1: флаг выключен → свод пуст, включён → строки есть.

Ограничения режима

  • Склейки кварталов нет: все ОСВ одного счёта одного ЮЛ в консолидации — один слот, побеждает подтверждённая последней.
  • Временный режим; снять вместе с решением по предупреждению о несовпадении периода.

Документация (OQ, qa-guide) — RSHB/arm-ka-docs, отдельная issue.

## Цель Временный режим для тестов в контуре: период ОСВ берётся из версии консолидации, в которую загружен файл, а не из шапки документа. ## Почему 12.10.2026 владелец загрузил ОСВ за 1 кв. 2025 в консолидацию 2026 Q1 и подтвердил их вручную — свод пустой: `fits()` (`services/consolidation_documents.py`) требует `document.period_year == consolidation.year`, документы молча не привязываются. Период ОСВ из шапки через API не правится. Для тестов на произвольных ОСВ нужен режим, где период документа не мешает. ## Что сделать (bounded) - Настройка `CONSOLIDATION_PERIOD_FROM_VERSION` (`bool`, по умолчанию `false`; в контуре — `OPENBAO__APP__…` по образцу других флагов). - «Эффективный период» документа для консолидации: если флаг включён, документ — **ОСВ** и его файл загружен в эту консолидацию (`stored_file.consolidation_id`), он считается нарастающим за год и квартал консолидации. Иначе — период из шапки, как сейчас. - Эффективный период используют: привязка (`fits`, `bind_confirmed`, `on_document_confirmed`, `on_documents_mapped`), сводная ОСВ (`select_sources`), чек-лист (кандидаты и ячейки), колонка «ОСВ» периметра (`osv_accounts`). - Документ не меняется (первичка не мутируется): период в карточке — из шапки. - ББ/ОФР и файлы вне консолидации (рабочий стол) — без изменений. - Тесты: unit на эффективный период и `fits`; интеграционный — ОСВ 2025 Q1 в консолидации 2026 Q1: флаг выключен → свод пуст, включён → строки есть. ## Ограничения режима - Склейки кварталов нет: все ОСВ одного счёта одного ЮЛ в консолидации — один слот, побеждает подтверждённая последней. - Временный режим; снять вместе с решением по предупреждению о несовпадении периода. Документация (OQ, qa-guide) — RSHB/arm-ka-docs, отдельная issue.
aep closed this issue 2026-10-12 19:04:21 +03:00
Author
Owner

Выполнено в PR #104 (merge 880eab6): настройка CONSOLIDATION_PERIOD_FROM_VERSION, domain/version_period.py, for_consolidation в привязке, своде, чек-листе и osv_accounts; подмена только у ОСВ, чей период шапки консолидации не подходит (O-4, a6418ca). Проверено на стенде: РБ 2026 Q1 из ОСВ за 1 кв. 2025 — 16 привязок, свод 1421 строка; регрессия РБ 2024 Q3 / 2025 Q1 / Синтетика 2025 Q1 без изменений. Документация — RSHB/arm-ka-docs#97 (OQ-161).

Выполнено в PR #104 (merge 880eab6): настройка CONSOLIDATION_PERIOD_FROM_VERSION, domain/version_period.py, for_consolidation в привязке, своде, чек-листе и osv_accounts; подмена только у ОСВ, чей период шапки консолидации не подходит (O-4, a6418ca). Проверено на стенде: РБ 2026 Q1 из ОСВ за 1 кв. 2025 — 16 привязок, свод 1421 строка; регрессия РБ 2024 Q3 / 2025 Q1 / Синтетика 2025 Q1 без изменений. Документация — RSHB/arm-ka-docs#97 (OQ-161).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-core#103
No description provided.