Шапка XLSX пресета: коды правила без раскрытия, строки «кроме», статьи А/Б по сторонам. Сценарий правила № 6 — без перечня кодов (после AURORA-2034 исключения 76 на обеих сторонах), решения в design.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.9 KiB
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, файл не отдаётся, событие аудита не пишется