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 Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
- Раздел «Деньги» в sidebar: Отчёт/Счета и кассы/Платежи и ордера/Смены/ Долги поставщикам. Админ — всё; кассир — только смены; кладовщик — ничего. - Страницы (src/pages/money/): MoneyAccountsPage, ExpenseItemsPage, MoneyTransactionsPage (+ переводы), CashShiftsPage (open/close/внесения/ выплаты/Z-отчёт), SupplierDebtsPage (+ корректировки), MoneyReportPage (остатки + движение за период). - Приёмка: SupplyPaymentSection (статус/оплачено/остаток + «Оплатить» наличными/с банка, частичная оплата); в списке приёмок — колонка и фильтр статуса оплаты. - src/lib/money.ts (enum'ы/DTO/лейблы/lookups), типы SupplyDto/SupplyListRow +payedSum/+paymentStatus, роуты в App.tsx, i18n ru/en. Без AdvancedModeGuard — модуль для простого режима. tsc -b + eslint зелёные. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
53 lines
3.7 KiB
Markdown
53 lines
3.7 KiB
Markdown
# Модуль «Деньги» (простой режим) — прогресс
|
||
|
||
**Старт:** 2026-10-07.
|
||
**Решение владельца от 07.10.2026:** собрать базовый финансовый контур
|
||
в простом режиме (счета, кассовые/безналичные движения, оплата приёмок,
|
||
долги поставщикам, смены кассы, отчёт «Деньги»).
|
||
|
||
## Чек-лист
|
||
|
||
- [x] **0. Сверка с МойСкладом** → `docs/money-moysklad-reference.md`
|
||
- [x] **1. Счета и кассы** (тип: касса / сейф / банк, начальный остаток,
|
||
магазин, активный флаг; поддержка нескольких банковских счетов на магазин;
|
||
счёт эквайринга) — domain + миграция, сидер статей расходов
|
||
- [x] **2. Денежные документы** (PaymentIn/Out, CashIn/Out, Transfer между
|
||
своими счетами; статьи расходов; проведение/отмена; аудит) — MoneyService
|
||
с Serializable-транзакциями, controllers `MoneyTransactionsController` +
|
||
`ExpenseItemsController`
|
||
- [x] **3. Оплата поставщикам** (платёж ↔ приёмки/возвраты с распределением,
|
||
payedSum на приёмке, статус оплаты, кнопка «Оплатить» из приёмки,
|
||
частичная оплата) — колонка `PayedSum`, `MoneyTransactionLink`,
|
||
`SuppliesController` отдаёт `PaymentStatus` + фильтр
|
||
- [x] **4. Взаиморасчёты (долги поставщикам)** (отчёт, корректировки,
|
||
самая старая неоплаченная дата) — `CounterpartyAdjustmentsController`,
|
||
`MoneyReportsController.SupplierDebts`
|
||
- [x] **5. Смены кассы** (open/close, внесения/выплаты, «должно быть ↔ по факту»,
|
||
Z-отчёт, запрет продажи без смены) — `CashShiftsController`, Z-отчёт
|
||
в `/shifts/{id}/report`, проверка в `RetailSalesController.PostCoreAsync`
|
||
- [x] **6. Отчёт «Деньги»** (остатки по счетам, движение за период,
|
||
инвариант остатков) — `MoneyReportsController.Balances`/`Movement`
|
||
- [x] **7. UI и меню** (раздел «Деньги»: Отчёт/Счета/Платежи/Смены/Долги;
|
||
блок оплаты в приёмке `SupplyPaymentSection`; колонка+фильтр оплаты в списке
|
||
приёмок; mobile-first через ListPageShell/Modal; меню: админ — всё, кассир —
|
||
только смены, кладовщик — ничего (оплаченность видит в приёмке).
|
||
`src/pages/money/*`, `src/lib/money.ts`, роуты в App.tsx, i18n ru/en)
|
||
- [ ] **8. Тесты** (unit + integration на реальном Postgres + e2e на стенде
|
||
изнутри сети + меню-прогон watchdog step 9 зелёный)
|
||
- [ ] **9. Деплой + документация** (`~/deploy-stage.sh`, `docs/money.md`)
|
||
|
||
## Границы
|
||
|
||
**НЕ в этом спринте:**
|
||
банк-клиент / выгрузка платёжек, импорт выписок, валюты, зарплата,
|
||
полный P&L.
|
||
|
||
**Запрещено трогать:** прод, shared-postgres, `global.json`, gateway nginx,
|
||
соседний проект `sklad`.
|
||
|
||
## Журнал
|
||
|
||
### 2026-10-07
|
||
- Старт. Создан этот прогресс-док. Готовлю `docs/money-moysklad-reference.md`
|
||
через headless Playwright (SPA-рендер нужен).
|