КПП ЮЛ: поле kpp в модели, миграции, API и импорте (DBML v5.17) #45

Closed
opened 2026-10-07 17:17:21 +03:00 by aep · 0 comments
Owner

Решение владельца (07.10.2026)

КПП у ЮЛ нужен (пересмотр OQ-31). Фронтенд: «в ручке получения ЮЛ не приходит КПП». Модель данных — RSHB/arm-ka-docs#53 (DBML v5.17, формат/обязательность/уникальность решаются там). Начинать после слияния docs#53.

Что сделать

  1. Модель legal_entity.kpp и legal_entity_history.kpp по DBML v5.17; миграция Alembic 0005_dbml_v5_17 (upgrade/downgrade; применяется с нуля и откатывается). Если к этому моменту сделана arm-core#38 (схема настройкой) — миграция по её правилам.
  2. Схемы: LegalEntityCreate, LegalEntityUpdate (PATCH, снимок в history), LegalEntityOut/LegalEntityDetail, LegalEntityHistoryOut; валидация по правилу из 05-domain-rules.md (ЮЛ/ИП, формат), код ошибки — как решено в docs#53.
  3. Поиск ЮЛ (список и экран «ЮЛ вне ГК» [61]) — по КПП тоже, если так решено в дизайне.
  4. Импорт справочника из файла (services/directory_import.py): колонка КПП ищется по заголовку (синоним — данные, не код); отсутствие колонки — не ошибка.
  5. Dev-seed: КПП у ЮЛ фикстур, где известен.
  6. Аудит: изменение КПП попадает в before/after события правки ЮЛ.
  7. scripts/check_dbml (сверка модели с DBML) — зелёный на v5.17; OpenAPI обновлён; make check-full.

Где проявляется

Макет: 50 (таблица ЮЛ в карточке ГК), 61 (ЮЛ вне ГК), 51-02 (Добавить ЮЛ), 79.

Bounded-задача (поле + миграция по уже утверждённому DBML). Брать после завершения агента arm-core#42 и после docs#53.

## Решение владельца (07.10.2026) КПП у ЮЛ нужен (пересмотр OQ-31). Фронтенд: «в ручке получения ЮЛ не приходит КПП». Модель данных — RSHB/arm-ka-docs#53 (DBML v5.17, формат/обязательность/уникальность решаются там). **Начинать после слияния docs#53.** ## Что сделать 1. Модель `legal_entity.kpp` и `legal_entity_history.kpp` по DBML v5.17; миграция Alembic `0005_dbml_v5_17` (upgrade/downgrade; применяется с нуля и откатывается). Если к этому моменту сделана arm-core#38 (схема настройкой) — миграция по её правилам. 2. Схемы: `LegalEntityCreate`, `LegalEntityUpdate` (PATCH, снимок в history), `LegalEntityOut`/`LegalEntityDetail`, `LegalEntityHistoryOut`; валидация по правилу из `05-domain-rules.md` (ЮЛ/ИП, формат), код ошибки — как решено в docs#53. 3. Поиск ЮЛ (список и экран «ЮЛ вне ГК» [61]) — по КПП тоже, если так решено в дизайне. 4. Импорт справочника из файла (`services/directory_import.py`): колонка КПП ищется по заголовку (синоним — данные, не код); отсутствие колонки — не ошибка. 5. Dev-seed: КПП у ЮЛ фикстур, где известен. 6. Аудит: изменение КПП попадает в `before/after` события правки ЮЛ. 7. `scripts/check_dbml` (сверка модели с DBML) — зелёный на v5.17; OpenAPI обновлён; `make check-full`. ## Где проявляется Макет: `50` (таблица ЮЛ в карточке ГК), `61` (ЮЛ вне ГК), `51-02` (Добавить ЮЛ), `79`. Bounded-задача (поле + миграция по уже утверждённому DBML). Брать после завершения агента arm-core#42 и после docs#53.
aep closed this issue 2026-10-07 18:14:34 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-core#45
No description provided.