§9.4–9.5 и гайд фронта: повтор обработки и уточнение шапки ОСВ (AURORA-1442) #157
@ -495,7 +495,10 @@ closing_* = closing_* строки Qn
|
||||
## §4. Правила элиминации — пары счетов (Прил. 3 ТЗ, DOC-223044, FNR03)
|
||||
|
||||
Хранятся как данные: `elimination_rule` (+ `elimination_rule_account`), версионируются; версия фиксируется в
|
||||
`consolidation_version.elimination_rules_version`. Seed-набор для ББ (`statement_type = balance`, `measure = closing`):
|
||||
`consolidation_version.elimination_rules_version`. Для версии консолидации берётся версия правил, **действующая на дату
|
||||
составления консолидации** (создания версии), а не на её отчётный период; фиксируется при создании версии или первом
|
||||
расчёте, не в GET-запросе (OQ-174, решение владельца 21.10.2026; реализация — AURORA-1536). Пока поле пусто, расчёты
|
||||
берут открытые правила (`valid_to IS NULL`). Seed-набор для ББ (`statement_type = balance`, `measure = closing`):
|
||||
|
||||
| № | Статья А (Дт) | Счета А (closing_debit) | Статья Б (Кт) | Счета Б (closing_credit) | mode | Примечание |
|
||||
|---|---|---|---|---|---|---|
|
||||
@ -591,15 +594,28 @@ closing_* = closing_* строки Qn
|
||||
## §6. Шахматка и результирующая таблица (DOC-221277)
|
||||
|
||||
Вход: версия + набор дебетовых счетов (`kind ∈ A, AP`) и кредитовых (`kind ∈ P, AP`); предустановки: «58.03 vs
|
||||
67.03 + 66.03», «60 + 62 + 76 vs 60 + 62 + 76», «все счета».
|
||||
67.03 + 66.03», «60 + 62 + 76 vs 60 + 62 + 76», «все счета» — только балансовые счета, без забалансовых 001–012
|
||||
(`is_off_balance = true`; решение владельца 16.10.2026, AURORA-1651: 009 «Обеспечения выданные» давал ложное
|
||||
расхождение); при ручном выборе забалансовые счета допускаются. Дополнительно пресетом может быть **правило ББ из §4**
|
||||
(`statement_type = balance`): дебетовые и кредитовые счета берутся из сторон правила (с исключениями `is_excluded`),
|
||||
показатель — `measure` правила (у всех правил ББ seed v1 — `closing`); каскада §5 нет — это просмотр сумм по счетам правила, не сумма элиминации (решение владельца
|
||||
21.10.2026, arm-core #141). Правила ОФР пресетом не являются (ОФР в §4 открыт).
|
||||
|
||||
Шахматка — суммы первички: корректировки (§8) в ячейках не учитываются, список «строк без пары» шахматка не даёт —
|
||||
строки ОСВ ячейки — AURORA-1653 (`osv_entry_ids_*` ячейки), строки без пары — упаковка §5 п. 2 (AURORA-1536).
|
||||
|
||||
Строки/столбцы — компании периметра; диагональ пуста.
|
||||
```
|
||||
amount_a(A,B) = Σ closing_debit строк A с counterparty_id = B по дебетовым счетам
|
||||
amount_b(A,B) = Σ closing_credit строк B с counterparty_id = A по кредитовым счетам
|
||||
variance = |amount_a − amount_b|; variance_pct = variance / min(amount_a, amount_b) * 100; > 5 % — подсветка
|
||||
variance = |amount_a − amount_b|; variance_pct = variance / min(amount_a, amount_b) * 100 (null при min = 0)
|
||||
one_sided = ровно одна из amount_a, amount_b равна 0 (знак ненулевой не важен)
|
||||
подсветка = variance_pct > 5 % ИЛИ one_sided
|
||||
ячейка: amount_a / amount_b / (variance)
|
||||
```
|
||||
Пара без встречной стороны (`one_sided`) — по суммам, а не по наличию строк ОСВ: строка с нулевым сальдо (одни обороты)
|
||||
стороной не считается; «0 против 0» не подсвечивается (AURORA-1651). Подсветка одинакова в API, в xlsx и на экране.
|
||||
Процент при отрицательной меньшей стороне — OQ-175; счёт `000` в «все счета» — OQ-176.
|
||||
Фильтры строк — как в §3 (COUNTERPARTY, BU/SUM, `account_id IS NOT NULL`).
|
||||
|
||||
Результирующая таблица «компания против группы» по статьям: Дебиторка (Дт 60.02, 60.22, 60.32, 62.01, 62.03, 62.21,
|
||||
|
||||
@ -179,3 +179,6 @@
|
||||
| OQ-171 | Вид субконто «Организации» в строке между названием ведомости и периодом (файл-письмо «ОСВ сч. 60 за 2 кв. 2026», план счетов ООО Хреновская Нива): что это за вид в 1С — организации-контрагенты (справочник «Организации» или «Контрагенты» под другим названием) или собственные организации учёта; на каких счетах встречается | tabular-parser #59, change `osv-flat-form` (R-10, решение сессии при одобрении запуска 19.10.2026) | §1.1 (синоним в `osv_groups.yaml`), сопоставление контрагентов | открыт; допущение принято: синоним `COUNTERPARTY` — только множественное число «Организации» (`^организации\b`, R-17); единственное «Организация» (собственная организация учёта в шапке) остаётся `OTHER`; другой смысл «Организации» на иных счетах даст `COUNTERPARTY` вместо `OTHER`, виден по предупреждениям |
|
||||
| OQ-172 | Безымянная аналитика первого уровня на счёте **63** (резервы по сомнительным долгам) в плоской форме без названия вида: на файлах контура таких строк нет; 51 строка — в fixtures, golden `osv-dkb/nm/2025-Q3/НМ_ОСВ_63_Контрагенты_…json` (имя файла «63_Контрагенты» — довод за включение 63); счёт 63 не входит в `counterparty_accounts` (§1.3), строки остаются `OTHER` без имени. Нужен ли 63 в списке (аналитика резерва — контрагенты-должники) | tabular-parser #59, приёмка Task 6 (19.10.2026) | §1.3, сопоставление контрагентов | открыт; допущение принято: 63 в список не входит, строки `OTHER` |
|
||||
| OQ-173 | Пересечение правил в сумме элиминации: счета сторон правил §4 пересекаются — дебет № 5–8 (76 у № 5; 60/62/76 у № 6–8), кредит: 67.03 (№ 3 и маска 67 у № 7), 66.03 (№ 4 и маска 66 у № 8), 66.04/67.04 (№ 5 и № 7/8). Строка такого счёта входит в Σ стороны каждого правила, и сумма min(ΣA, ΣB) по правилам может превысить Σ самой стороны — двойная элиминация. Считать ΣA правила только по строкам, которые упаковка (§5 п. 2) отнесла к этому правилу? Или распределять сторону по правилам в фиксированном порядке? | решение по OQ-07 (docs #136, 19.10.2026), описание AURORA-1536 | §5 п. 1, AURORA-1536, КФО (§8 `eliminated_auto`) | **закрыт решением владельца 19.10.2026 (docs #136):** каскад по остатку — правила пары (A, B) считаются по порядку `rule_no` (в Прил. 3 он уже от частного к общему: № 3/4 раньше № 7/8, № 5 раньше № 6, № 6 → 7 → 8), каждое берёт min из остатка сторон после предыдущих, как в правиле № 1 Прил. 3 («сначала из 1450 до обнуления…»); упаковка — в том же порядке, строка сопоставляется одним правилом; ничьей между правилами нет. Поле порядка не нужно. Алгоритм — `05-domain-rules.md` §5 |
|
||||
| OQ-174 | Какая версия правил элиминации (§4) применяется к версии консолидации, если `consolidation_version.elimination_rules_version` не задан: открытые на сегодня, действующие на отчётную дату консолидации или на дату её составления; когда фиксировать номер версии | ревью arm-core PR #141 (21.10.2026) | §4, §5, AURORA-1536 | **закрыт решением владельца 21.10.2026 (docs #145):** версия правил, действующая на дату составления консолидации (создания версии), а не на отчётный период; фиксируется в `elimination_rules_version` при создании версии или первом расчёте, не в GET-запросе; реализация — AURORA-1536; до неё расчёты берут открытые правила (`valid_to IS NULL`, сейчас одна версия v1) |
|
||||
| OQ-175 | Процент расхождения шахматки при отрицательной меньшей стороне: `variance_pct = variance / min(amount_a, amount_b) * 100` при отрицательном сальдо (возможно по §1) уходит в минус — пара (100, −5) даёт −2100 %, порог > 5 % не срабатывает, пара не подсвечивается. Считать от `\|min\|`, от меньшей по модулю стороны или подсвечивать пары с разными знаками всегда? | ревью arm-core #165 (AURORA-1651), 22.10.2026 | §6, шахматка, xlsx | открыт; до решения — как в коде (min со знаком) |
|
||||
| OQ-176 | Счёт `000` «Вспомогательный» (технический счёт 1С для ввода остатков, `kind = AP`, `is_off_balance = false`) входит в шахматку «все счета». Исключать его вместе с забалансовыми? | ревью arm-core #165 (AURORA-1651), 22.10.2026 | §6, режим «все счета» | открыт; до решения — входит (решение владельца 22.10.2026: не трогать) |
|
||||
|
||||
@ -567,6 +567,14 @@ line_code_text}` — строки `unreadable` / `missing`, у которых в
|
||||
возврат в `INITIATED` из `DOCUMENTS_PROCESSING`/`DATA_CORRECTION`. Остальное — 409 `TRANSITION_NOT_ALLOWED` (маршрут
|
||||
согласования — Срез 7). Автоматические переходы: загрузка в консолидацию → `DOCUMENTS_PROCESSING`; документ `NEEDS_CHECK` по
|
||||
версии или подтверждение привязанного документа → `DATA_CORRECTION`.
|
||||
**Допустимые ручные переходы API не отдаёт** (в `VersionCard` нет `allowed_transitions`): фронт держит зеркало
|
||||
`MANUAL_TRANSITIONS` из `arm-core/api/src/services/consolidation_status.py` одной константой — `INITIATED → CANCELLED`;
|
||||
`DOCUMENTS_PROCESSING → CANCELLED, INITIATED`; `DATA_CORRECTION → CANCELLED, INITIATED`; из остальных статусов ручных
|
||||
переходов нет (кнопку «Изменить статус» не активировать). Смена — `POST /consolidations/versions/{version_id}/status`
|
||||
(`consolidations` во множественном числе); переход вне `MANUAL_TRANSITIONS` (в том числе устаревшее зеркало или статус,
|
||||
сменившийся, пока открыта модалка) — 409 `TRANSITION_NOT_ALLOWED` с `from_status`, `to_status`. При изменении
|
||||
`MANUAL_TRANSITIONS` правится и зеркало (спека arm-core `consolidations-ui`); с маршрутом согласования (Срез 7) зеркало
|
||||
заменит ответ API.
|
||||
5. **404 в консолидациях — всегда `NOT_FOUND`**; отдельных кодов «версия/строка/ГСК не найдена» нет.
|
||||
6. **Ячейки чек-листа самоописывающие**: ищите по `document_type`/`account` («Бух. баланс» — `BALANCE`, «ОФР» — `INCOME`,
|
||||
«ОСВ 60» — `OSV` + `"60"`). Порядок `rules`: ББ, ОФР, ОСВ по коду счёта натурально (`58 < 58.03 < 60`). ОСВ по субсчёту
|
||||
@ -588,6 +596,30 @@ line_code_text}` — строки `unreadable` / `missing`, у которых в
|
||||
«Ответственный» на [34] — `lock.locked_by_name`, иначе `initiator.name`; «Утверждён в РФ» / «Верифицирован в ГО» — «—».
|
||||
13. **`warnings` строк** — диагностика, не контракт: показывать как подсказку.
|
||||
|
||||
### 5.7.1 Шахматка и результирующая таблица ВГО (Срез 5, правила — `05-domain-rules.md` §6)
|
||||
|
||||
Префикс — `/consolidations/versions/{version_id}`. Права — `CONSOLIDATION_VIEW` и policy версии (чужая — 404); блокировка
|
||||
версии не нужна. Расчёт — на лету по сводной ОСВ версии, ничего не хранится.
|
||||
|
||||
| Метод и путь | Запрос | Ответ | Ошибки |
|
||||
|---|---|---|---|
|
||||
| `GET /directories/accounts` (`DIRECTORY_VIEW`) | — | `AccountOut[] {id, code, parent_id?, name, kind?, row_type, is_off_balance, is_debit, is_credit}` — план счетов целиком, деревья Дт/Кт строятся по `parent_id` | — |
|
||||
| `GET …/elimination-rules` | — | `{version_no?, is_version_fixed, rules[] {id, rule_no, version_no, statement_type, side_1, measure, company_1 {accounts[], excluded[]}, company_2 {…}}}` — правила, по которым строятся пресеты; без зафиксированной версии — открытые правила с максимальным `version_no` | 404 |
|
||||
| `GET …/intercompany-matrix/all` | — | `IntercompanyMatrixOut` по всем счетам | 404 |
|
||||
| `POST …/intercompany-matrix/manual` | `{debit_account_ids[], credit_account_ids[]}` (обе стороны непустые) | `IntercompanyMatrixOut` | 404; 422 `ACCOUNTS_REQUIRED`, массив валидации |
|
||||
| `GET …/intercompany-matrix/preset/{rule_id}` | — | `IntercompanyMatrixOut` по счетам сторон правила (с исключениями), показатель — `measure` правила | 404 (правило не найдено или не действует для версии); 422 `INVALID_RULE` (не ББ, неверная сторона/показатель), `ACCOUNTS_REQUIRED` |
|
||||
| `GET …/intercompany-matrix/all/export`, `POST …/manual/export`, `GET …/preset/{rule_id}/export` | как у расчёта | xlsx; имя — из `Content-Disposition` | как у расчёта |
|
||||
| `GET …/intercompany-matrix/result-table` | — | `{companies[] {id, name}, articles[] {code, name, amounts[] {company_id, amount}, group_total}}` — пять статей §6 | 404; 422 `RESULT_ACCOUNTS_MISSING` (в плане счетов нет счёта статьи, коды в тексте) |
|
||||
| `GET …/intercompany-matrix/result-table/export` | — | xlsx | как у расчёта |
|
||||
|
||||
`IntercompanyMatrixOut` — `{companies[] {id, name}, cells[] {company_a_id, company_b_id, amount_a, amount_b, variance_amount,
|
||||
variance_percent?, exceeds_threshold, one_sided, skipped_osv_entry_count, osv_entry_ids_debit[], osv_entry_ids_credit[]}}`.
|
||||
Порядок компаний задаёт обе оси; диагонали и пар без строк ОСВ в `cells` нет — показывать «—». Суммы — строки в рублях;
|
||||
`variance_amount` — модуль разности. Подсветка пары — `exceeds_threshold` (> 5 % к меньшей сумме) **или** `one_sided`
|
||||
(ровно одна сумма нулевая — пара без встречной стороны; тогда `variance_percent = null`), так же красит xlsx. Режим «все
|
||||
счета» — без забалансовых 001–012. `skipped_osv_entry_count` —
|
||||
строки ОСВ пары без сопоставленного счёта, в суммы они не вошли. Выгрузки пишут в журнал `EXPORT`.
|
||||
|
||||
### 5.8 Схемы ответов (кратко)
|
||||
|
||||
Поля с `?` могут быть `null`, но ключ присутствует всегда. Полные схемы — `/openapi.json` и контракты по областям.
|
||||
@ -656,10 +688,10 @@ line_code_text}` — строки `unreadable` / `missing`, у которых в
|
||||
заголовка `Content-Disposition` (RFC 5987, UTF-8, percent-кодировка); `filename=` там — ASCII-заглушка (`file.pdf`,
|
||||
`checklist.csv`, `svod-osv.xlsx`).
|
||||
|
||||
**Кросс-доменно заголовок не виден.** CORS ядра не выставляет `Access-Control-Expose-Headers`, поэтому при `npm run start`
|
||||
(фронт на `:3000`, API на `:8000`) `res.headers.get('Content-Disposition')` вернёт `null`. В сборке, которую раздаёт само ядро
|
||||
(SPA и API на одном источнике), заголовок читается. Пока это не исправлено (§10 п. 9), держите запасное имя на клиенте —
|
||||
его можно собрать из того, что уже есть на экране (`checklist-<ГК>-<год>-<квартал>.csv`, `svod-osv_<ГК>_<год>-<Qn>_v<n>.xlsx`,
|
||||
**Кросс-доменно заголовок открыт с arm-core #173.** CORS ядра выставляет `Access-Control-Expose-Headers: Content-Disposition`,
|
||||
поэтому и при `npm run start` (фронт на `:3000`, API на `:8000`) `res.headers.get('Content-Disposition')` читается; в сборке,
|
||||
которую раздаёт само ядро (SPA и API на одном источнике), он читался всегда. Запасное имя на клиенте всё равно держите (ядро
|
||||
старше #173, прокси без заголовка) — его можно собрать из того, что уже есть на экране (`checklist-<ГК>-<год>-<квартал>.csv`, `svod-osv_<ГК>_<год>-<Qn>_v<n>.xlsx`,
|
||||
`FileOut.original_name`).
|
||||
|
||||
```ts
|
||||
@ -776,12 +808,12 @@ async function download(path: string, fallbackName: string): Promise<void> {
|
||||
5. **Статус формы после правки** может стать `RECOGNIZED`, даже если у файла были предупреждения маппинга (arm-core#40, R-2) —
|
||||
ориентируйтесь на проверки и предупреждения, а не только на статус.
|
||||
6. **Комментарии и правки нельзя удалить/отменить**; подтверждение необратимо.
|
||||
7. **Нет в API** (показывать «—» или не показывать): маршрут согласования после `DATA_CORRECTION` (Срез 7), шахматка и ВГО
|
||||
(Срез 5), КФО и ЕХ (Срезы 6–7), «Добавить версию», гудвилл, журнал аудита, шапка формы ОКЕИ/ОПФ/форма собственности/аудит
|
||||
7. **Нет в API** (показывать «—» или не показывать): маршрут согласования после `DATA_CORRECTION` (Срез 7), сопоставление пар ВГО
|
||||
и элиминация (AURORA-1536), КФО и ЕХ (Срезы 6–7), «Добавить версию», гудвилл, журнал аудита, шапка формы ОКЕИ/ОПФ/форма собственности/аудит
|
||||
(П-4).
|
||||
8. **В проде нет `/openapi.json`** — генерируйте типы со стенда разработки.
|
||||
9. **`Content-Disposition` не читается кросс-доменно** (нет `Access-Control-Expose-Headers` в CORS ядра): при фронте на
|
||||
другом порту/домене имя скачиваемого файла берите запасное (§7). Нужна правка в arm-core (`expose_headers=["Content-Disposition"]`).
|
||||
9. **`Content-Disposition` кросс-доменно** — открыт с arm-core #173 (`Access-Control-Expose-Headers`); на ядре старше — запасное
|
||||
имя файла (§7).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -865,23 +865,25 @@ PDF из `fixtures/ocr` — отчётность других компаний (
|
||||
|
||||
| № | Шаги | Ожидание |
|
||||
|---|---|---|
|
||||
| W29 | В строке версии «К отчётности →» | экран «Русский Бисквит — 2024 К3», крошки «Отчётность › Русский Бисквит › 2024 · К3», справа «Статус отчёта» «Коррекция данных»; активна вкладка «ОСВ»; «Шахматка», «Таблица корректировки», «Гудвилл», «КФО», «КФО Общий», «Подтверждение КФО клиента» неактивны (подсказка «Будет в следующих срезах») |
|
||||
| W29 | В строке версии «К отчётности →» | экран «Русский Бисквит — 2024 К3», крошки «Отчётность › Русский Бисквит › 2024 · К3», справа «Статус отчёта» «Корректировка данных» и «Изменить статус»; активна вкладка «ОСВ», «Шахматка» доступна; «Таблица корректировки», «Гудвилл», «КФО», «КФО Общий», «Подтверждение КФО клиента» неактивны (подсказка «Будет в следующих срезах») |
|
||||
| W30 | Сводка | под таблицей «Строк: 1385» (= `rows_total`, 7.2); жёлтый баннер «Требуется указать соответствия … Осталось: 1236.» (= `unmapped_total`); свёрнутый блок «Пробелы: 7 — по этим счетам нет ОСВ за часть кварталов, их строк в своде нет», раскрыть — 7 строк «<ЮЛ> — счёт <код> — нет кварталов: Q1, Q2»: РБ 01, 58.03, 66, 67, 76; Счастливочная 01, 02 |
|
||||
| W31 | Колонка «Период», суммы | у всех строк «9 мес. 2024 г.»; суммы с запятой и пробелами, ноль — «—»; по 500 строк на страницу |
|
||||
| W31a | После W32 над таблицей: «Единицы» = «тыс. руб.», затем «Знаков после запятой» = 0; затем «млн руб.» и 3 знака | строка `60.01` Счастливочной: «4 454,15», «128 058,14», «125 950,45», «2 346,46»; с 0 знаков — «4 454», «128 058», «125 950», «2 346»; в млн и 3 знака — «4,454», «128,058», «125,950», «2,346»; «—» остаётся «—». Меняется только показ: «Строк», фильтры и экспорт те же (суммы в xlsx — в рублях) |
|
||||
| W32 | Фильтр «Компания ГК» (воронка в заголовке) = «ПЕКАРНЯ СЧАСТЛИВОЧНАЯ, ООО» → «Применить»; фильтр «Контрагенты» = `бисквит` → «Применить» | «Строк: 6» — `60.01`, `60.02`, `62.01`, `62.02`, `76.06`, `76.АВ`, контрагент «РУССКИЙ БИСКВИТ, АО», ИНН 3528052718. Суммы — как в 7.2, на экране с запятой: `60.01` — «—», «4 454 151,93», «128 058 143,65», «125 950 450,77», «—», «2 346 459,05»; `60.02` — «—» везде, кроме оборотов «9 745 019,62» / «9 745 019,62»; `62.01` — «40 211 938,00», «—», «398 018 012,46», «330 517 504,00», «107 712 446,46», «—»; `62.02` — «—», «24 100 000,00», «9 900 000,00», «—», «—», «14 200 000,00»; в последней колонке «Тип контрагента» у всех шести — синий бейдж «ГСК». Окно фильтра закрывается после «Применить», иконка активного фильтра зелёная |
|
||||
| W32a | Сбросить фильтры; прокрутить таблицу вправо; фильтр на колонке «Тип контрагента» по очереди «ГСК», «ГК», «Внешний» → «Применить» | у каждой строки бейдж: «ГСК» — синий, «ГК» — зелёный, «Внешний» — серый (как в макете [30]); «Строк»: «ГСК» — 10, «ГК» — 26, «Внешний» — 1349, в сумме 1385. «Внешний» больше «Осталось» в баннере (1236): строки с ИНН из файла, которого нет в справочнике, — «Внешний», но не «несопоставленные» (отмена П-1, 7.2); «Осталось» = W34. «Сбросить» в окне фильтра возвращает все строки и закрывает окно |
|
||||
| W33 | Сбросить фильтры; «Счёт» = `62` | «Строк: 387»; `60.01` — 0 строк (фильтр принимает только корень счёта, ограничение прототипа) |
|
||||
| W32a | Сбросить фильтры («Сбросить» в окне каждого активного фильтра; общей кнопки нет, как и в макете [30]); прокрутить таблицу вправо; фильтр на колонке «Тип контрагента» по очереди «ГСК», «ГК», «Внешний» → «Применить» | у каждой строки бейдж: «ГСК» — синий, «ГК» — зелёный, «Внешний» — серый (как в макете [30]); «Строк»: «ГСК» — 10, «ГК» — 26, «Внешний» — 1349, в сумме 1385. «Внешний» больше «Осталось» в баннере (1236): строки с ИНН из файла, которого нет в справочнике, — «Внешний», но не «несопоставленные» (отмена П-1, 7.2); «Осталось» = W34. «Сбросить» в окне фильтра возвращает все строки и закрывает окно |
|
||||
| W33 | Сбросить фильтры (как в W32a); «Счёт» = `62` | «Строк: 387»; `60.01` — 0 строк (фильтр принимает только корень счёта, ограничение прототипа) |
|
||||
| W34 | «Показать ЮЛ без ИНН» | только строки без связи с ЮЛ и без ИНН, «Строк» = «Осталось»; в ячейке ИНН — только красное «Указать» на подсвеченном фоне (макет [32-osv-no-inn]); воронка колонки «ИНН» зелёная; кнопка сменилась на «Показать все строки» |
|
||||
| W34a | Ячейка ИНН без фильтров (arm-web #17) | строка с ИНН в файле — просто ИНН моноширинным шрифтом, «Указать» нет (даже если такой организации нет в справочнике); строка, связанная без ИНН в файле (например, РБ → «Юг-Финанс / ПЕКАРНЯ СЧАСТЛИВОЧНАЯ» на данных 2025 К1), — серая «таблетка» с ИНН организации справочника; клик по ней открывает «Выбор организации для связи с …», у текущей организации — неактивное «Связано», у остальных — «Связать» |
|
||||
| W35 | «Экспорт» (с фильтрами и без) | файл `svod-osv_Русский Бисквит_2024-Q3_v1.xlsx` по текущим фильтрам; содержимое — по 7.3 |
|
||||
| W35 | «Экспорт» (с фильтрами и без) | файл `svod-osv_Русский Бисквит_2024-Q3_v1.xlsx` по текущим фильтрам; содержимое — по 7.3. Имя `Сводная_ОСВ_Русский_Бисквит_2024_Q3.xlsx` — запасное: ядро без arm-core #173 не открывает фронту `Content-Disposition` (видно только при фронте на другом порту, `npm run start`) |
|
||||
|
||||
Если на стенде раньше делали ручное сопоставление контрагентов (K14), «Осталось» меньше 1236: алиасы переживают версии.
|
||||
Остальные цифры от этого не меняются.
|
||||
|
||||
### 8.7 Что в UI не считать багом (прототип)
|
||||
|
||||
- Нет «Взять в работу», смены периметра, ручных переходов статусов, сопоставления контрагентов, экрана чек-листа,
|
||||
комментариев, удаления файлов, «Добавить версию» — это проверяется через API (разделы 6.6, 6.9, 7).
|
||||
- Нет смены периметра, экрана чек-листа, комментариев, удаления файлов, «Добавить версию» — это проверяется через API
|
||||
(разделы 6.6, 6.9, 7). «Взять в работу» и «Изменить статус» (arm-core #166) и сопоставление контрагентов в своде (W34a) —
|
||||
уже в UI.
|
||||
- В своде не показываются «документов: 22» и колонка «Способ сопоставления» (её нет и в макете [30]; значение — в
|
||||
экспорте); фильтр «Тип контрагента» — одно значение, а не галочки, как в макете (API принимает один признак); фильтр
|
||||
«Счёт» принимает только корень (`60`, не `60.01`).
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user