food-market/docs/inventory-cancel-results-progress.md
nns ab416d720c
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
feat(inventory): отмена результатов не удаляет проведённые документы
Было: unpost при проведённых связанных Оприходовании/Списании молча снимал их с
проведения и УДАЛЯЛ (204, номера исчезали). Хуже МойСклада, теряется история.

- unpost при ПРОВЕДЁННЫХ связанных → 409 с номерами О-/С- и текстом «Сначала
  отмените результаты». Если связанные только черновики — удаляем черновики
  (не влияли на остатки) и возвращаем инвентаризацию в черновик.
- Новое POST /{id}/cancel-results (InventoryEdit + EnterEdit/LossEdit): снимает
  связанные Оприходование/Списание с проведения, НЕ удаляя (остаются черновиками,
  видны в «Связанных документах», истории, аудите); остатки возвращаются; для
  Оприходования — гард на уход остатка в минус. Аудит InventoryCancelResults.
- Веб: кнопка «Отменить результаты» (при проведённых связанных) + диалог со
  списком документов и влиянием на остатки; «Вернуть в черновик» переформулирован.
- docs/mobile-api.md: unpost больше не удаляет проведённые (409), добавлен cancel-results.
- Тесты: integration (409 + cancel-results оставляет черновики + повторное
  проведение) + full-chain шаг 10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 00:51:00 +05:00

23 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Отмена инвентаризации не должна удалять проведённые документы
Mac-Claude на стенде 08.10: `POST /api/inventory/inventories/{id}/unpost` при ПРОВЕДЁННЫХ
связанных Оприходовании/Списании молча снимает их с проведения и УДАЛЯЕТ (204, номера О-/С-
исчезают). Хуже МойСклада (там связанные отменяют вручную, история сохраняется). Правило
владельца: «всегда как минимум как в МойСкладе, или лучше».
## План / статус
1. [ ] `unpost` при ПРОВЕДЁННЫХ связанных → 409 с текстом и номерами О-/С-. Если связанные только
черновики — вернуть в черновик, черновики удалить (не влияли на остатки).
2. [ ] Новое `POST …/{id}/cancel-results` (InventoryEdit + EnterEdit/LossEdit): снимает связанные
Оприходование/Списание с проведения, НЕ удаляя (остаются черновиками, видны в истории/аудите).
3. [ ] Веб: кнопка «Отменить результаты» + диалог (перечислить документы и влияние на остатки).
4. [ ] Мобильное API: старый unpost больше НЕ удаляет проведённые → тот же 409; docs/mobile-api.md.
5. [ ] Аудит: снятие с проведения связанных документов — кто/когда/из какой инвентаризации.
6. [ ] Тесты unit/integration + full-chain шаг 10; деплой на стенд.
## Что НЕ трогаем
Прод, shared-postgres, global.json, gateway nginx, sklad.
## Журнал
- 08.10 — старт: разбор текущего unpost, план.