From 2adacd07e107841ba71ddb5292695ea49f5ec314 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Thu, 12 Nov 2026 10:21:35 +0400 Subject: [PATCH] =?UTF-8?q?openspec:=20=D0=B0=D1=80=D1=85=D0=B8=D0=B2=20in?= =?UTF-8?q?tercompany-matrix-preset-header=20(AURORA-1761,=20PR=20#223)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../design.md | 0 .../proposal.md | 0 .../specs/consolidated-osv/spec.md | 0 .../tasks.md | 0 openspec/specs/consolidated-osv/spec.md | 17 +++++++++++++++-- 5 files changed, 15 insertions(+), 2 deletions(-) rename openspec/changes/{intercompany-matrix-preset-header => archive/2026-11-12-intercompany-matrix-preset-header}/design.md (100%) rename openspec/changes/{intercompany-matrix-preset-header => archive/2026-11-12-intercompany-matrix-preset-header}/proposal.md (100%) rename openspec/changes/{intercompany-matrix-preset-header => archive/2026-11-12-intercompany-matrix-preset-header}/specs/consolidated-osv/spec.md (100%) rename openspec/changes/{intercompany-matrix-preset-header => archive/2026-11-12-intercompany-matrix-preset-header}/tasks.md (100%) diff --git a/openspec/changes/intercompany-matrix-preset-header/design.md b/openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/design.md similarity index 100% rename from openspec/changes/intercompany-matrix-preset-header/design.md rename to openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/design.md diff --git a/openspec/changes/intercompany-matrix-preset-header/proposal.md b/openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/proposal.md similarity index 100% rename from openspec/changes/intercompany-matrix-preset-header/proposal.md rename to openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/proposal.md diff --git a/openspec/changes/intercompany-matrix-preset-header/specs/consolidated-osv/spec.md b/openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/specs/consolidated-osv/spec.md similarity index 100% rename from openspec/changes/intercompany-matrix-preset-header/specs/consolidated-osv/spec.md rename to openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/specs/consolidated-osv/spec.md diff --git a/openspec/changes/intercompany-matrix-preset-header/tasks.md b/openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/tasks.md similarity index 100% rename from openspec/changes/intercompany-matrix-preset-header/tasks.md rename to openspec/changes/archive/2026-11-12-intercompany-matrix-preset-header/tasks.md diff --git a/openspec/specs/consolidated-osv/spec.md b/openspec/specs/consolidated-osv/spec.md index b5bce9d..46257a3 100644 --- a/openspec/specs/consolidated-osv/spec.md +++ b/openspec/specs/consolidated-osv/spec.md @@ -307,10 +307,23 @@ SHALL считать исходные строки ОСВ пары с `account_i ### Requirement: XLSX шахматки пресета `GET …/intercompany-matrix/preset/{rule_id}/export` SHALL возвращать XLSX с теми же строками, что JSON-расчёт пресета. Имя файла SHALL иметь вид `intercompany-matrix_<ГК>_<год>-<квартал>_v_rule-balance-.xlsx`. Шапка SHALL -содержать режим «Пресет», коды счетов дебета и кредита (раскрытые по иерархии, с учётом исключений правила), номер -правила, статьи А и Б (`article_1_line` / `article_2_line`), фактическую версию правил и строку «Показатель» со значением «Сальдо» для `closing` или «Оборот» для `turnover`. Строка «Показатель» SHALL присутствовать и в выгрузках ALL и MANUAL (значение +содержать режим «Пресет», коды счетов дебета и кредита так, как они заданы в правиле (без раскрытия по иерархии), под +каждой стороной — строку «кроме» с исключёнными кодами этой стороны, если исключения есть, номер правила, статьи А и Б, +фактическую версию правил и строку «Показатель» со значением «Сальдо» для `closing` или «Оборот» для `turnover`. +Статья А SHALL относиться к дебетовой стороне, статья Б — к кредитовой: `article_1_line` / `article_2_line` при +`side_1 = D`, наоборот при `side_1 = K`. Строка «Показатель» SHALL присутствовать и в выгрузках ALL и MANUAL (значение «Сальдо»). +#### Scenario: Правило с исключениями на обеих сторонах +- **WHEN** пользователь выгружает пресет правила № 6 из seed-набора Прил. 3 (маска «76» на обеих сторонах с + исключениями субсчетов 76) +- **THEN** «Счета дебета» и «Счета кредита» содержат только коды сторон правила, включая «76», без раскрытых субсчетов; + под каждой стороной строка «кроме» перечисляет исключённые коды этой стороны + +#### Scenario: Кредитная первая сторона правила +- **WHEN** пользователь выгружает пресет с `side_1 = K` +- **THEN** «Статья А» содержит `article_2_line`, «Статья Б» — `article_1_line` + #### Scenario: Выгрузка по оборотам - **WHEN** пользователь выгружает пресет с `measure = turnover` - **THEN** шапка содержит «Режим — Пресет», «Показатель — Оборот», номер, статьи и версию правила; имя файла заканчивается на `_rule-balance-.xlsx`