добавление недостающийх полей в EliminationRuleOut

This commit is contained in:
PotapovaA 2026-10-27 17:44:39 +03:00
parent 66fac5811e
commit 6f52360c49
4 changed files with 9 additions and 2 deletions

View File

@ -322,6 +322,8 @@ class EliminationRuleOut(BaseModel):
rule_no: int
version_no: int
statement_type: StatementType
article_1_line: str
article_2_line: str
side_1: Literal["D", "K"]
measure: Literal["closing", "turnover"]
company_1: IntercompanyMatrixRuleSideOut

View File

@ -39,6 +39,8 @@ class EliminationRuleService:
"rule_no": rule.rule_no,
"version_no": rule.version_no,
"statement_type": rule.statement_type,
"article_1_line": rule.article_1_line,
"article_2_line": rule.article_2_line,
"side_1": rule.side_1,
"measure": rule.measure,
"company_1": IntercompanyMatrixRuleSideOut(accounts=[], excluded=[]),

View File

@ -234,7 +234,9 @@ async def test_preset_uses_fixed_rules_version(auth_client: AuthClientFactory, s
assert listed.json()["is_version_fixed"] is True
assert listed.json()["version_no"] == rule.version_no
assert "as_of" not in listed.json()
assert str(rule.id) in {item["id"] for item in listed.json()["rules"]}
listed_rule = next(item for item in listed.json()["rules"] if item["id"] == str(rule.id))
assert listed_rule["article_1_line"] == rule.article_1_line
assert listed_rule["article_2_line"] == rule.article_2_line
pairs = await client.get(
f"/consolidations/versions/{world.version.id}/elimination-pairs",
params={

View File

@ -294,7 +294,8 @@ policy) SHALL возвращать XLSX с теми же статьями, ко
SHALL возвращать объект `{version_no, is_version_fixed, rules}`: `version_no` — `consolidation_version.elimination_rules_version`
(с DBML v5.23 задан у каждой версии), `is_version_fixed = true` (поле оставлено для совместимости клиента), `rules` —
правила этой версии; правила других версий, в том числе более новых, MUST NOT попадать в ответ. Каждое правило SHALL
содержать `id`, `rule_no`, `version_no`, `statement_type`, `side_1` (`D`/`K`), `measure` (`closing`/`turnover`),
содержать `id`, `rule_no`, `version_no`, `statement_type`, `article_1_line`, `article_2_line`, `side_1` (`D`/`K`),
`measure` (`closing`/`turnover`),
`company_1`, `company_2`; каждая сторона SHALL содержать `accounts: UUID[]` и `excluded: UUID[]` до раскрытия иерархии
счетов. Невидимая и несуществующая версия SHALL отвечать одинаковым 404 `NOT_FOUND`.