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