food-market/deploy
nns 0d44cdabaf feat(inventory): модель МойСклада — инвентаризация не двигает остатки
Замечание владельца: инвентаризация стояла «Проведено» без оприходования/списания.
Переделано по МойСкладу (docs/inventory-moysklad-reference.md):

- InventoryStatus Draft→Completed (было Posted; значение 1 то же). Инвентаризация
  остатки НЕ двигает: endpoint complete замораживает строки без движений.
- create-enter (излишки diff>0) / create-loss (недостача diff<0) — создают черновики
  Оприходования/Списания со строками разницы + ссылка InventoryDocId. Повторно нельзя (409).
- Кнопки «Применить результаты» НЕТ (поправка Mac-Claude — не одобрено владельцем).
- unpost («вернуть в черновик») отменяет проведение и удаляет связанные документы.
- post/unpost — временная совместимость для мобильного «FM Склад» (post = завершить +
  создать и провести оба документа); помечено в docs/mobile-api.md.
- Enter/Loss: поле InventoryDocId (+ миграция Phase38) + в DTO «на основании инвентаризации №…».
- InventoryResult (application) — чистая разбивка diff→излишки/недостача (unit-тесты:
  разница/сумма/только посчитанные строки/округление).
- InventoryMigrationController (dry-run/apply): старые Posted+InventoryAdjustment →
  связанные проведённые документы переметкой движений (не задваивает), с проверкой
  неизменности остатков. Скрипт deploy/migrate-inventory-to-docs.sh (backup + запуск).
- Демо-сидеры: инвентаризации теперь Completed без прямых движений.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 20:34:05 +05:00
..
forgejo ops: Forgejo on git.zat.kz as primary, GitHub as mirror 2026-04-23 12:27:45 +05:00
grafana/dashboards feat(s26): flaky-test detection + observability dashboards (8/8 ✓ 10/10 cert) 2026-06-08 14:44:19 +05:00
nginx feat(public): Phase 6 — публичный маркетинговый сайт food-market.public на Astro 2026-04-26 19:11:34 +05:00
prometheus feat(s26): flaky-test detection + observability dashboards (8/8 ✓ 10/10 cert) 2026-06-08 14:44:19 +05:00
shared-postgres docs(prod): репа догоняет новую раскладку postgres на prod-vm 2026-10-06 00:35:54 +05:00
telegram-bridge revert(domains): публичный сайт → test.food-market.kz, apex 404 до релиза 2026-05-01 18:06:31 +05:00
.env.example docs(deploy): .env.example + secrets.md, проброс OpenIddict env в compose (P0-8) 2026-05-27 02:51:13 +05:00
anonymize-prod.sh docs(prod): репа догоняет новую раскладку postgres на prod-vm 2026-10-06 00:35:54 +05:00
backup.sh ci/deploy: GitHub Actions + Docker images + DB backup + 24x7 plan 2026-04-22 11:26:01 +05:00
check-prod-readiness.sh feat(s21): stage→prod migration toolchain (7 скриптов + workflow) 2026-06-07 22:31:10 +05:00
db-schema-diff.sh docs(prod): репа догоняет новую раскладку postgres на prod-vm 2026-10-06 00:35:54 +05:00
docker-compose.stage.yml rebrand: безопасность входа + тост 404 на странице входа (по ревью Mac-Claude) 2026-10-08 18:07:39 +05:00
docker-compose.yml docs(prod): репа догоняет новую раскладку postgres на prod-vm 2026-10-06 00:35:54 +05:00
docker-registry.service feat(ops): Telegram <-> tmux bridge + local docker-registry unit 2026-04-23 10:53:45 +05:00
Dockerfile.api fix(hotfix): Claude CLI via ssh на dev-vm + не хранить фото накладных 2026-10-05 00:51:12 +05:00
Dockerfile.web fix(docker): обновить node:20-alpine → 22-alpine (pnpm 11 требует Node ≥22) 2026-05-18 12:56:12 +05:00
fix-internal-ean13.sql chore(deploy): SQL-скрипты очистки Демо и исправления внутренних EAN-13 2026-10-08 02:10:11 +05:00
food-market-backup.service feat(deploy): авто-бэкап БД+uploads — systemd timer/service + скрипт (P0-6) 2026-05-27 02:49:08 +05:00
food-market-backup.sh docs(prod): репа догоняет новую раскладку postgres на prod-vm 2026-10-06 00:35:54 +05:00
food-market-backup.timer feat(deploy): авто-бэкап БД+uploads — systemd timer/service + скрипт (P0-6) 2026-05-27 02:49:08 +05:00
food-market-mirror-base-images.service deploy: mirror all base images into local registry — builds no longer need internet 2026-04-23 17:42:48 +05:00
food-market-mirror-base-images.timer deploy: mirror all base images into local registry — builds no longer need internet 2026-04-23 17:42:48 +05:00
generate-release-notes.sh feat(s21): stage→prod migration toolchain (7 скриптов + workflow) 2026-06-07 22:31:10 +05:00
migrate-inventory-to-docs.sh feat(inventory): модель МойСклада — инвентаризация не двигает остатки 2026-10-08 20:34:05 +05:00
mirror-base-images.sh deploy: mirror all base images into local registry — builds no longer need internet 2026-04-23 17:42:48 +05:00
nginx.conf rebrand: кэш-бастинг логотипа (старое лого залипало в SW/кэше) 2026-10-08 19:47:41 +05:00
pos-publish.sh rebrand: касса ALL MARKET (лого, иконка, заголовок, чек) 2026-10-08 17:35:05 +05:00
post-deploy-smoke.sh feat(s21): stage→prod migration toolchain (7 скриптов + workflow) 2026-06-07 22:31:10 +05:00
prod-deploy.sh feat(s21): stage→prod migration toolchain (7 скриптов + workflow) 2026-06-07 22:31:10 +05:00
prod-rollback.sh feat(s21): stage→prod migration toolchain (7 скриптов + workflow) 2026-06-07 22:31:10 +05:00
rebrand-rollback.sh rebrand: подготовка к откату (тег, rollback-док и скрипт, прогресс) 2026-10-08 17:13:21 +05:00
recovery-restore-orphan-owners.sql feat(employees): главный администратор — терминология + защита роли/активности 2026-04-27 19:12:33 +05:00
stage-prune-autotest.sql feat(s30): PruneAutoTestEntities + одноразовая зачистка стейджа (шаг 7/9) 2026-10-04 15:49:25 +05:00
stage-reset-demo.sql chore(deploy): SQL-скрипты очистки Демо и исправления внутренних EAN-13 2026-10-08 02:10:11 +05:00
swagger-diff.sh docs(s24): docs cross-check + auto-gen + onboarding + test gap-fill (8/8 ✓) 2026-06-08 02:15:56 +05:00