From 6247d3aafb834fc52a8b149698ff0ba79904bc2d Mon Sep 17 00:00:00 2001 From: nns Date: Thu, 8 Oct 2026 18:44:20 +0500 Subject: [PATCH] =?UTF-8?q?wip(inventory):=20=D0=BF=D0=BB=D0=B0=D0=BD=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=BA=D0=B8=20=D0=B8?= =?UTF-8?q?=D0=BD=D0=B2=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=BF=D0=BE=20=D0=BC=D0=BE=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=9C=D0=BE=D0=B9=D0=A1=D0=BA=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=20(=D0=BE=D1=82=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=B2=20=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4=D1=8C=2001b4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- docs/inventory-model-progress.md | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/inventory-model-progress.md diff --git a/docs/inventory-model-progress.md b/docs/inventory-model-progress.md new file mode 100644 index 0000000..1373523 --- /dev/null +++ b/docs/inventory-model-progress.md @@ -0,0 +1,34 @@ +# Инвентаризация по модели МойСклада — прогресс + +Замечание владельца (08.10.2026): «инвентаризация стоит в состоянии „проведено“, +но без оприходования и списания — логика непонятная». + +**Сейчас (неправильно):** `InventoriesController.Post` сам применяет движения +`MovementType.InventoryAdjustment` к остаткам и ставит `Status=Posted` — без создания +Оприходования/Списания. Владелец видит «Проведено» без связанных документов; в отчётах +непонятно, откуда изменения. + +**Как должно быть (по МойСкладу):** инвентаризация НЕ двигает остатки; она фиксирует +расчётный/фактический/разницу, а движения создаются связанными документами +Оприходование (излишки) и Списание (недостача). + +## План / статус +0. [ ] Сверка с МойСкладом (headless Playwright) → `docs/inventory-moysklad-reference.md`. +1. [ ] Инвентаризация не двигает остатки; статусы «Черновик» → «Завершена» (без «Проведено»). +2. [ ] На завершённой — кнопки «Создать оприходование излишков» / «Создать списание недостачи» + / «Применить результаты» (обе). Документы со строками разницы + ссылка на инвентаризацию. +3. [ ] Блок «Связанные документы» в карточке; колонка «Результат» в списке; обратная ссылка в enter/loss. +4. [ ] Отмена проведения связанных — штатно; инвентаризацию нельзя вернуть в черновик при + проведённых связанных (понятный отказ). +5. [ ] Миграция Posted+InventoryAdjustment → связанные проведённые Оприходование/Списание + (движения перенести, не задвоить); статус → «Завершена». Остатки до/после совпадают. Backup stage. +6. [ ] Веб + мобильное API (post/unpost совместимо: post = завершить+применить) + CSV-импорт. +7. [ ] Тесты: unit / integration / e2e на стенде; full-chain шаг 10 + UAT. +8. [ ] docs/supply-inventory.md — инструкция «Как провести инвентаризацию». +9. [ ] deploy-stage; коммиты в main (Co-Authored-By: Claude Opus 5.5); global.json не коммитить; не мешать с rebrand. + +## Что НЕ трогаем +Прод, shared-postgres, global.json, gateway nginx, sklad. + +## Журнал +- 08.10 — старт: прочитано замечание, составлен план. Следующий шаг — сверка с МойСкладом.