docs(parity): пасс 3 — 9/10 [x]; остаётся full-chain + 2 POS-десктоп мелочи
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
This commit is contained in:
parent
8c4a9c4e5e
commit
87c4d16ed1
|
|
@ -6,14 +6,14 @@
|
||||||
Легенда: [x] готово · [~] частично · [ ] не начато.
|
Легенда: [x] готово · [~] частично · [ ] не начато.
|
||||||
|
|
||||||
## План / статус
|
## План / статус
|
||||||
1. [~] **Смена кассы**: автооткрытие первой веб-продажей ✅ (бэкенд+тест); overLimit24h в /current и
|
1. [x] **Смена кассы**: автооткрытие первой продажей — веб ✅ и **POS-синк** ✅ (подбор Cash-счёта точки,
|
||||||
Z-отчёте ✅, предупреждение в вебе ✅. **Осталось:** автооткрытие на POS-синке (AcceptSales),
|
размен 0); ручное открытие остаётся; overLimit24h в /current и Z-отчёте ✅; **ShiftWatchJob** раз в час
|
||||||
UI-вопрос «размен?», фоновое уведомление админу о >24ч.
|
уведомляет кассира/админов о сменах >24ч ✅. (POS-десктоп prompt «размен?» — nicety; сервер открывает с 0.)
|
||||||
2. [x] **Z-отчёт**: byProduct (продано/возвращено) ✅ бэкенд+тест; показ в веб Z-отчёте + печать ✅.
|
2. [x] **Z-отчёт**: byProduct (продано/возвращено) ✅ бэкенд+тест; показ в веб Z-отчёте + печать ✅.
|
||||||
(POS-печать byProduct — отдельная десктоп-поверхность.)
|
(POS-печать byProduct — отдельная десктоп-поверхность.)
|
||||||
3. [x] **Возврат покупателя**: способ по умолчанию = оплата чека (create-return уже так); иной способ —
|
3. [x] **Возврат покупателя**: способ по умолчанию = оплата чека (create-return уже так); иной способ —
|
||||||
право админа + причина (RefundReason). Бэкенд+тест ✅.
|
право админа + причина (RefundReason). Бэкенд+тест ✅.
|
||||||
4. [x] **Карточка товара** — бэкенд+тесты ✅ (фронт-кнопка «Сгенерировать»/quick-create UI — осталось):
|
4. [x] **Карточка товара** — бэкенд+фронт ✅: кнопка «Сгенерировать» ШК, дефолты шт/корень, продажа без цены → сообщение, **quick-create из кассы** (POS-диалог) ✅:
|
||||||
- Сохранить можно при наличии Наименования.
|
- Сохранить можно при наличии Наименования.
|
||||||
- Единица обязательна, предзаполнена «шт» (пустой не бывает).
|
- Единица обязательна, предзаполнена «шт» (пустой не бывает).
|
||||||
- **Штрихкод ОБЯЗАТЕЛЕН** у любого товара (включая весовые). Нет → автогенерация внутреннего
|
- **Штрихкод ОБЯЗАТЕЛЕН** у любого товара (включая весовые). Нет → автогенерация внутреннего
|
||||||
|
|
@ -24,9 +24,9 @@
|
||||||
сообщение «у товара нет цены продажи» + быстрый ввод цены (по праву).
|
сообщение «у товара нет цены продажи» + быстрый ввод цены (по праву).
|
||||||
- Быстрое создание товара из приёмки/кассы по неизвестному штрихкоду (1 поле + цена).
|
- Быстрое создание товара из приёмки/кассы по неизвестному штрихкоду (1 поле + цена).
|
||||||
- Недостающее ловит фоновая «Проверка данных», а не запрет сохранения.
|
- Недостающее ловит фоновая «Проверка данных», а не запрет сохранения.
|
||||||
5. [~] **«Создать на основании» + связи**: инвент→опр/спис ✅, продажа→возврат (create-return) ✅,
|
5. [x] **«Создать на основании» + связи**: `GET /api/documents/{type}/{id}/related` (основание + связанные)
|
||||||
приёмка→оплата (SupplyPaymentSection) ✅, **приёмка→возврат поставщику** (from-supply + кнопка «Создать
|
+ компонент `RelatedDocsBlock` на приёмке/возврате поставщику/чеке/опр/спис (инвентаризация — свой блок);
|
||||||
возврат») ✅+тест. **Осталось:** единый компонент «Связанные документы» с обратными ссылками на всех edit-страницах.
|
приёмка→возврат (from-supply + кнопка), продажа→возврат, инвент→опр/спис, приёмка→оплата. Integration-тест связей.
|
||||||
6. [x] **Простой режим**: Оприходование/Списание уже отдельные пункты меню для Admin/Кладовщика вне
|
6. [x] **Простой режим**: Оприходование/Списание уже отдельные пункты меню для Admin/Кладовщика вне
|
||||||
зависимости от режима (AppLayout.tsx:111-112 — НЕ за advanced-гейтом). Проверено, ничего не прячем.
|
зависимости от режима (AppLayout.tsx:111-112 — НЕ за advanced-гейтом). Проверено, ничего не прячем.
|
||||||
7. [x] **Деньги**: типы названы привычно (ПКО/РКО/Входящий/Исходящий платёж/Перевод между счетами) ✅;
|
7. [x] **Деньги**: типы названы привычно (ПКО/РКО/Входящий/Исходящий платёж/Перевод между счетами) ✅;
|
||||||
|
|
@ -36,8 +36,8 @@
|
||||||
9. [x] **Статусы на русском** + подсказка: `DocStatusBadge` (Черновик/Проведён/Завершена, tooltip «что это
|
9. [x] **Статусы на русском** + подсказка: `DocStatusBadge` (Черновик/Проведён/Завершена, tooltip «что это
|
||||||
значит») на ВСЕХ списках документов (приёмки/продажи/инвент/опр/спис/перемещения/возвраты/отгрузки).
|
значит») на ВСЕХ списках документов (приёмки/продажи/инвент/опр/спис/перемещения/возвраты/отгрузки).
|
||||||
(edit-страницы — свои заголовки статуса; минор.)
|
(edit-страницы — свои заголовки статуса; минор.)
|
||||||
10. [~] **Тесты/деплой/скрины**: unit 303 + integration по пп.1–5,7 (7 parity-тестов зелёные) ✅; деплой на
|
10. [~] **Тесты/деплой/скрины**: unit 303 + integration (9 parity-тестов) + **e2e-браузер 3** ✅; деплой на стенд ✅;
|
||||||
стенд ✅; скрины дашборда/сайдбара ✅. **Осталось:** e2e-браузер по пунктам, full-chain обновить.
|
скрины дашборда/карточки. **Осталось:** обновить full-chain под новые правила.
|
||||||
|
|
||||||
## Коммиты
|
## Коммиты
|
||||||
- `0ca0d6c` — п.4 карточка товара (обяз. только наименование; штрихкод автоген; цена опц.; quick-create).
|
- `0ca0d6c` — п.4 карточка товара (обяз. только наименование; штрихкод автоген; цена опц.; quick-create).
|
||||||
|
|
@ -51,16 +51,13 @@
|
||||||
- Деплой на стенд ✅; скрины: дашборд (прибыль), сайдбар (опр/спис в простом режиме).
|
- Деплой на стенд ✅; скрины: дашборд (прибыль), сайдбар (опр/спис в простом режиме).
|
||||||
|
|
||||||
## Осталось (честно, НЕ закрыто)
|
## Осталось (честно, НЕ закрыто)
|
||||||
- **П.1/2 POS-сторона**: автооткрытие смены на POS-синке (AcceptSales), UI-вопрос «размен?», печать
|
- **П.10**: обновить сценарий full-chain под новые правила (автооткрытие смены, продажа без цены,
|
||||||
Z-отчёта по товарам на кассе, фоновое уведомление админу о смене >24ч.
|
штрихкод-автоген, статусы) — остальное по тестам закрыто (unit 303 + 9 integration + 3 e2e).
|
||||||
- **П.5**: единый компонент «Связанные документы» с обратными ссылками на всех edit-страницах
|
- **POS-десктоп niceties**: prompt «размен в кассе?» при автооткрытии (сервер уже открывает с 0);
|
||||||
(сейчас: ссылки-основания в DTO, секция оплат приёмки, кнопка «Создать возврат», create-return).
|
разбивка по товарам в Z-отчёте на термопечати кассы (в веб-Z-отчёте уже есть).
|
||||||
- **П.4 POS/приёмка**: quick-create UI по неизвестному штрихкоду (бэкенд /products/quick готов).
|
**DONE не ставим — остаётся full-chain (п.10) и две POS-десктоп мелочи.**
|
||||||
- **П.10**: e2e-браузерные тесты по пунктам; обновить full-chain.
|
|
||||||
**DONE не ставим — остаются POS-сторона (1,2,4), единый блок связей (5), e2e/full-chain (10).**
|
|
||||||
|
|
||||||
## Коммиты (пасс 2)
|
## Коммиты (пасс 3)
|
||||||
- `1875249` — п.9 статусы на всех списках + п.4 кнопка «Сгенерировать» ШК.
|
- `1875249` статусы на всех списках + кнопка «Сгенерировать»; `524f8f4` акт сверки;
|
||||||
- `524f8f4` — п.7 акт сверки с поставщиком (эндпоинт + печать).
|
- `fd03700` приёмка→возврат; `68bfb58` веб Z-отчёт по товарам; `3579e35` блок «Связанные документы»;
|
||||||
- `<supply-return>` — п.5 кнопка «Создать возврат» на приёмке.
|
- `210e817` POS-автооткрытие смены + ShiftWatchJob 24ч; `cfc335e` e2e паритета; `8c4a9c4` POS quick-create.
|
||||||
- `<zreport>` — п.1/2 веб Z-отчёт по товарам + предупреждение >24ч.
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue