Andrey Epifancev e9a4f8e8a8 openspec: change intercompany-matrix-preset-header (AURORA-1761, PR #223)
Шапка XLSX пресета: коды правила без раскрытия, строки «кроме», статьи А/Б
по сторонам. Сценарий правила № 6 — без перечня кодов (после AURORA-2034
исключения 76 на обеих сторонах), решения в design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 15:17:08 +04:00

2.9 KiB
Raw Blame History

MODIFIED Requirements

Requirement: XLSX шахматки пресета

GET …/intercompany-matrix/preset/{rule_id}/export SHALL возвращать XLSX с теми же строками, что JSON-расчёт пресета. Имя файла SHALL иметь вид intercompany-matrix_<ГК>_<год>-<квартал>_v<n>_rule-balance-<rule_no>.xlsx. Шапка SHALL содержать режим «Пресет», коды счетов дебета и кредита так, как они заданы в правиле (без раскрытия по иерархии), под каждой стороной — строку «кроме» с исключёнными кодами этой стороны, если исключения есть, номер правила, статьи А и Б, фактическую версию правил и строку «Показатель» со значением «Сальдо» для 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-<rule_no>.xlsx

Scenario: Правило не найдено

  • WHEN rule_id не существует
  • THEN 404, файл не отдаётся, событие аудита не пишется