diff --git a/dev/frontend-api-guide.md b/dev/frontend-api-guide.md index 4e3a9f8..d50a6a1 100644 --- a/dev/frontend-api-guide.md +++ b/dev/frontend-api-guide.md @@ -537,6 +537,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`). ОСВ по субсчёту