## MODIFIED Requirements ### Requirement: Правила элиминации версии `GET /api/v1/consolidations/versions/{version_id}/elimination-rules` (`CONSOLIDATION_VIEW`, policy по ГК) SHALL возвращать объект `{version_no, is_version_fixed, rules}`. Если у версии задан `consolidation_version.elimination_rules_version`, `version_no` SHALL равняться ему, `is_version_fixed = true`, а `rules` — правилами этой версии. Если он не задан, `version_no = null`, `is_version_fixed = false`, а `rules` — открытые правила (`valid_to IS NULL`); при их отсутствии `rules = []`. Каждое правило SHALL содержать `id`, `rule_no`, `version_no`, `statement_type`, `side_1` (`D`/`K`), `measure` (`closing`/`turnover`), `company_1`, `company_2`; каждая сторона SHALL содержать `accounts: UUID[]` и `excluded: UUID[]` до раскрытия иерархии счетов. Невидимая и несуществующая версия SHALL отвечать одинаковым 404 `NOT_FOUND`. #### Scenario: Правило с исключением - **WHEN** у правила первая сторона включает счёт 76 и исключает 76.07.5 - **THEN** ID 76 находится в `company_1.accounts`, ID 76.07.5 — в `company_1.excluded` #### Scenario: Версия правил зафиксирована - **WHEN** у версии консолидации `elimination_rules_version = 1` - **THEN** ответ содержит `is_version_fixed = true`, `version_no = 1` и только правила с `version_no = 1` #### Scenario: Версия правил не зафиксирована - **WHEN** у версии консолидации `elimination_rules_version` пуст - **THEN** ответ содержит `is_version_fixed = false`, `version_no = null` и открытые правила с `valid_to IS NULL`