From 922c95651885a9d5a6f2d33ee58fc22b533271b2 Mon Sep 17 00:00:00 2001 From: Veronika Smirnova Date: Fri, 1 Aug 2025 10:07:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D0=B0=20?= =?UTF-8?q?=D1=82=D0=B8=D0=BF=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=BC=D0=B5=D1=82=D0=BE=D0=B2=20=D0=B2=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=82=D0=B5=D0=B3=D0=BE=D1=80=D0=B8=D0=B8=20=D0=B8=20=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D0=B5=D0=BD=D1=8B=20=D0=B8=D1=85=20?= =?UTF-8?q?=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8.=20=D0=A3=D0=BB?= =?UTF-8?q?=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=BE=20=D1=80=D0=B0=D0=B7=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=20=D1=82?= =?UTF-8?q?=D0=B8=D0=BF=D0=B0=D0=BC=20=D0=B4=D0=BB=D1=8F=20=D0=B1=D0=BE?= =?UTF-8?q?=D0=BB=D0=B5=D0=B5=20=D1=87=D0=B5=D1=82=D0=BA=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=BD=D0=B8=D0=BC=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D1=8B.=20=D0=AD=D1=82?= =?UTF-8?q?=D0=BE=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BC=D1=83=20?= =?UTF-8?q?=D0=B2=D0=BE=D1=81=D0=BF=D1=80=D0=B8=D1=8F=D1=82=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=B8=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8E=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC?= =?UTF-8?q?=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules1.md | 489 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 489 insertions(+) create mode 100644 rules1.md diff --git a/rules1.md b/rules1.md new file mode 100644 index 0000000..be5dd37 --- /dev/null +++ b/rules1.md @@ -0,0 +1,489 @@ +# ПРАВИЛА СИСТЕМЫ УПРАВЛЕНИЯ СКЛАДАМИ И ПОСТАВКАМИ + +> ⚠️ **ВАЖНОЕ ПРИМЕЧАНИЕ**: Данные из этого файла могут быть удалены только с разрешения пользователя. Все изменения должны согласовываться. + +--- + +## 📑 ОГЛАВЛЕНИЕ + +### 🎯 **ОБЩИЕ ПРАВИЛА** + +1. [Основные принципы системы](#1-основные-принципы-системы) +2. [Типизация предметов](#2-типизация-предметов) +3. [Workflow поставок](#3-workflow-поставок) +4. [Система ролей и доступов](#4-система-ролей-и-доступов) + +### 🏢 **ПРАВИЛА ПО КАБИНЕТАМ** + +5. [Кабинет селлера](#5-кабинет-селлера) +6. [Кабинет поставщика](#6-кабинет-поставщика) +7. [Кабинет фулфилмента](#7-кабинет-фулфилмента) +8. [Интеграции и связи между кабинетами](#8-интеграции-и-связи-между-кабинетами) + +--- + +## 1. 🎯 ОСНОВНЫЕ ПРИНЦИПЫ СИСТЕМЫ + +### 1.1 Архитектура системы + +**СТРУКТУРА СИСТЕМЫ ПО КАБИНЕТАМ:** + +**🏢 КАБИНЕТ ПОСТАВЩИКА** - создает и управляет: + +- **ТОВАР** - базовые товары от поставщика +- **РАСХОДНИКИ** - материалы и вспомогательные товары от поставщика + +**🏭 КАБИНЕТ ФУЛФИЛМЕНТА** - принимает, обрабатывает и управляет всеми типами: + +- **ТОВАР** - базовые товары от поставщиков (принятые на склад) +- **БРАК** - производная от товара (товар с дефектами) +- **ПРОДУКТ** - производная от товара (готовый к продаже товар) +- **РАСХОДНИКИ ФУЛФИЛМЕНТА** - операционные материалы фулфилмента +- **РАСХОДНИКИ СЕЛЛЕРОВ** - материалы для товаров селлеров + +**🛍️ КАБИНЕТ СЕЛЛЕРА** - заказывает и управляет поставками: + +- Создает заказы товаров и расходников +- Управляет поставками на фулфилмент и маркетплейсы +- Отслеживает статусы поставок + +### 1.2 Основные сущности системы + +| Сущность | Название в системе | Описание | Статус | +| ---------- | ---------------------------------- | ----------------------------------------------- | --------------- | +| Товар | `Product` (type: PRODUCT) | Базовый тип товара от поставщика | ✅ Реализовано | +| Брак | `Product` (type: DEFECT) | Производная от товара с дефектами | 🔄 В разработке | +| Расходники | `Product` (type: CONSUMABLE) | Материалы и вспомогательные товары | ✅ Реализовано | +| Продукт | `Product` (type: FINISHED_PRODUCT) | Готовый к продаже товар (производная от товара) | 🔄 В разработке | + +--- + +## 2. 📦 ТИПИЗАЦИЯ ПРЕДМЕТОВ + +### 2.1 Обязательные типы + +**ВАЖНО**: Товар ≠ Продукт (это разные сущности в системе) + +**4 основных типа предметов в системе:** + +1. **ТОВАР** - базовый тип товара от поставщика +2. **БРАК** - производная от товара (товар с дефектами) +3. **РАСХОДНИКИ** - материалы и вспомогательные товары от поставщика +4. **ПРОДУКТ** - производная от товара (готовый к продаже товар) + +### 2.2 Классификация расходников + +- Поставщик создает карточки типа **"РАСХОДНИКИ"** (без уточнения назначения) +- При заказе, в зависимости от заказчика, они классифицируются как: + - **"Расходники фулфилмента"** - если заказывает фулфилмент-центр + - **"Расходники селлеров"** - если заказывает селлер + +### 2.3 Обязательные поля карточки + +**Базовые параметры:** + +- **Фото** - система загрузки и управления изображениями товаров +- **Название** +- **Автоматическая генерация системой уникального номера** (артикул СФ) +- **Описание** +- **Количество предметов** в единицах +- **Количество комплектов** если продается комплектом +- **Категория** (28 предустановленных категорий) +- **Бренд**, **Цвет**, **Размер/объем**, **Вес**, **Габариты**, **Материал** +- **Цена за единицу** и **Цена за комплект** +- **Заказано**, **В пути**, **Остаток**, **Продано** + +**Дополнительные параметры:** + +- **Статус активности** (`isActive`) - возможность деактивировать предметы +- **Тип предмета** - строгое разделение на 4 основных типа +- **Связь с родительским предметом** - для производных типов (брак, продукт) + +--- + +## 3. 🚚 WORKFLOW ПОСТАВОК + +### 3.1 Детализированная система статусов + +**Статусы SupplyOrder (Заказ поставки):** + +1. **PENDING** - Ожидает подтверждения поставщиком +2. **SUPPLIER_APPROVED** - Одобрено поставщиком +3. **CONFIRMED** - Подтвержден (готов к обработке) +4. **LOGISTICS_CONFIRMED** - Подтверждено логистикой +5. **SHIPPED** - Отгружено поставщиком +6. **IN_TRANSIT** - В пути (логистика доставляет) +7. **DELIVERED** - Доставлен на фулфилмент +8. **CANCELLED** - Отменен + +### 3.2 Пошаговый процесс поставки + +**ЭТАП 1: Создание заказа** + +1. Селлер заказывает товар/расходники у поставщика +2. Система создает SupplyOrder со статусом `PENDING` +3. Автоматическое уведомление поставщику + +**ЭТАП 2: Обработка поставщиком** 4. Поставщик получает оповещение 5. Поставщик нажимает "Одобрить" 6. Статус меняется на `SUPPLIER_APPROVED` + +**ЭТАП 3: Передача в фулфилмент** 7. Поставка отображается в кабинете фулфилмента 8. Фулфилмент выбирает ответственного и логистику 9. Статус меняется на `CONFIRMED` + +**ЭТАП 4: Логистическое подтверждение** 10. Логистика подтверждает доставку 11. Статус меняется на `LOGISTICS_CONFIRMED` + +**ЭТАП 5: Отгрузка** 12. Поставщик отгружает товар 13. Статус меняется на `SHIPPED`, затем `IN_TRANSIT` + +**ЭТАП 6: Доставка и приемка** 14. Логистика доставляет на фулфилмент 15. Фулфилмент принимает товар 16. Статус меняется на `DELIVERED` + +### 3.3 Система уведомлений + +**Обязательные уведомления:** + +- Поставщику: о новом заказе +- Фулфилменту: о подтвержденной поставке +- Логистике: о назначении на заявку +- Селлеру: об изменении каждого статуса + +--- + +## 4. 🔐 СИСТЕМА РОЛЕЙ И ДОСТУПОВ + +### 4.1 Типы организаций + +| Тип организации | Роль в системе | Основные функции | +| ---------------------------- | ----------------- | ------------------------------------------------------- | +| **WHOLESALE** (Поставщик) | Создатель товаров | Создание товаров, управление складом, обработка заказов | +| **SELLER** (Селлер) | Заказчик | Заказ товаров, управление поставками | +| **FULFILLMENT** (Фулфилмент) | Обработчик | Приемка товаров, управление складом, создание продуктов | +| **LOGIST** (Логистика) | Доставщик | Управление доставками | + +### 4.2 Контроль доступа к заказам + +- **Создатель заказа** - полный доступ к своим заказам +- **Поставщик** - доступ к заказам, где он является поставщиком +- **Фулфилмент-центр** - доступ к заказам, направленным в его центр +- **Логистическая компания** - доступ к заказам для доставки + +--- + +## 5. 🛍️ КАБИНЕТ СЕЛЛЕРА + +### 5.1 Структура раздела "Мои поставки" + +**🏢 ПОСТАВКИ НА ФУЛФИЛМЕНТ:** + +- **Товар** - поставка товаров для создания продуктов + - **Карточки** - поставка через WB API с рецептурой + - **Поставщики** - заказ товаров у поставщиков с рецептурой +- **Расходники селлера** - поставка материалов для товаров селлера + +**🛒 ПОСТАВКИ НА МАРКЕТПЛЕЙСЫ** _(планируется)_ + +- **Wildberries** - прямые поставки на WB +- **Ozon** - прямые поставки на Ozon + +### 5.2 Создание поставки расходников селлера + +**БЛОК 1: ПОСТАВЩИКИ** _(верхняя часть экрана)_ + +- Отображение карточек поставщиков из раздела "Партнеры" +- Горизонтальный скролл при превышении ширины экрана +- Выбор одного поставщика + +**БЛОК 2: РАСХОДНИКИ** _(центральная часть)_ + +- Расходники выбранного поставщика +- Сортировка по цене, названию, категории +- Фильтры по категории, ценовому диапазону +- Карточка расходника с фото, названием, ценой, остатком + +**БЛОК 3: КОРЗИНА** _(правая часть)_ + +- Количество видов расходников +- Детализация по каждому расходнику +- Общая сумма +- Выбор фулфилмент-центра +- Дата поставки + +### 5.3 Правила селлера + +**ОБЯЗАТЕЛЬНО:** + +- Валидация остатков перед добавлением в корзину +- Проверка доступности фулфилмент-центра +- Выбор даты поставки (не прошедшей) + +**ЗАПРЕЩЕНО:** + +- Редактирование созданной поставки +- Выбор нескольких поставщиков одновременно +- Заказ количества сверх остатков +- Выбор прошедших дат поставки + +--- + +## 6. 📦 КАБИНЕТ ПОСТАВЩИКА + +### 6.1 Раздел склад - основные возможности + +**СОЗДАНИЕ КАРТОЧЕК:** + +- **ТОВАР** - базовые товары поставщика +- **РАСХОДНИКИ** - материалы и вспомогательные товары + +### 6.2 Управление карточками + +**Основные функции:** + +- Создание карточек с обязательными полями +- Редактирование и удаление карточек +- Изменение количества в карточке +- Система загрузки изображений товаров + +**Система проверок:** + +- Проверка остатков при добавлении в корзину +- Валидация данных при создании/редактировании +- Проверка уникальности артикула в рамках организации + +### 6.3 Статистика и аналитика поставщика + +**В КАБИНЕТЕ ПОСТАВЩИКА:** + +- **ТОВАРЫ**: Общая статистика товаров поставщика +- **РАСХОДНИКИ**: Материалы и вспомогательные товары + - Классифицируются при заказе в зависимости от заказчика + - Общая статистика по всем расходникам + +**Блок статистики включает:** + +- Общие остатки всех предметов +- Количество заказанных позиций +- Предметы в пути +- Проданные предметы +- Уведомления о низких остатках + +### 6.4 Интерфейс и управление + +**Режимы отображения:** + +- Переключение между строчным и карточным режимами +- 5 карточек в ряд в карточном режиме +- Система фильтрации и сортировки +- Поиск по названию, артикулу, категории, бренду + +**Система уведомлений:** + +- Подсветка при низких остатках +- Автоматические уведомления о новых заказах +- Уведомления об изменении статусов поставок + +### 6.5 Правила поставщика + +**ОБЯЗАТЕЛЬНО:** + +- Указание всех обязательных полей при создании карточки +- Своевременная обработка заказов +- Подтверждение поставок в установленные сроки +- Ведение актуального учета остатков + +**ЗАПРЕЩЕНО:** + +- Добавление собственных товаров в корзину +- Создание предметов без указания типа +- Нарушение сроков обработки заказов + +--- + +## 7. 🏭 КАБИНЕТ ФУЛФИЛМЕНТА + +### 7.1 Структура раздела склад фулфилмента + +**Модули в обязательной последовательности:** + +1. **📦 ПРОДУКТ** - готовые к продаже товары +2. **🛒 ТОВАР** - базовые товары от поставщиков + - Товары "на складе" - готовы к обработке + - Товары "в обработке" - в процессе создания продукта +3. **❌ БРАК** - товары с дефектами +4. **↩️ ВОЗВРАТЫ С ПВЗ** - возвращенные товары +5. **🎯 РАСХОДНИКИ СЕЛЛЕРОВ** - материалы для селлеров +6. **⚙️ РАСХОДНИКИ ФУЛФИЛМЕНТ** - операционные материалы + - **КЛИКАБЕЛЬНЫЙ МОДУЛЬ** - содержит полноценный раздел учёта + +### 7.2 Система учёта движения товаров + +**Основные принципы учёта:** + +- **ПРИХОД ТОВАРОВ**: Через принятые поставки (статус "в пути" → "на складе") +- **РАСХОД ТОВАРОВ**: При отгрузке, списании, использовании для услуг +- **ДВОЙНОЙ УЧЁТ**: Основные значения + дополнительные значения + +**Дополнительные значения (показатели движения):** + +- **ПРИБЫЛО** - количество поступивших на склад за период +- **УБЫЛО** - количество списанных со склада за период + +**Основные значения (текущие остатки):** + +- **ФОРМУЛА**: Основные значения = Предыдущие остатки + Прибыло - Убыло +- **ОТОБРАЖЕНИЕ**: Показываются в каждом модуле статистики +- **АКТУАЛЬНОСТЬ**: Обновляются в реальном времени + +### 7.3 Процесс "Создания продукта" + +**ЭТАП 1: ПОСТУПЛЕНИЕ И СОРТИРОВКА** + +1. Товар поступает на склад фулфилмента (статус "на складе") +2. Перебор и сортировка товара +3. Выявление и отсеивание брака + +**ЭТАП 2: ПОДГОТОВКА К РАБОТЕ** 4. Поставка попадает в раздел "Создание продукта" / Новые 5. Менеджер фулфилмента: + +- Устанавливает дедлайн выполнения +- Назначает ответственного исполнителя +- Указывает место хранения готовых продуктов +- Нажимает "В работе" + +**ЭТАП 3: ОБРАБОТКА** 6. Поставка переходит в "В работе" 7. Товары получают статус "в работе" 8. Исполнитель работает по "рецептуре" селлера: + +- Применяет услуги фулфилмента +- Использует расходники селлера +- Использует расходники фулфилмента + +**ЭТАП 4: УЧЕТ ПЛАН/ФАКТ** 9. Фиксируется: + +- **ПЛАН**: Количество из поставки селлера +- **ФАКТ**: Реальное количество = Брак + Хороший товар +- **ДЕТАЛИЗАЦИЯ**: По каждому размеру/объему + +**ЭТАП 5: ЗАВЕРШЕНИЕ** 10. Исполнитель нажимает "Выполнено" 11. Товары становятся продуктами со статусом "готов к отправке" 12. Поставка переходит в "Выполнено" + +**РЕЗУЛЬТАТ**: ПРОДУКТ = Товар + Услуга + Расходники + +### 7.4 Рецептура продукта + +**Задается селлером при создании поставки:** + +- **БАЗОВЫЙ ТОВАР**: Исходный материал +- **УСЛУГА ФУЛФИЛМЕНТА**: Из каталога услуг фулфилмента +- **РАСХОДНИК СЕЛЛЕРА**: Материалы селлера (опционально) +- **РАСХОДНИК ФУЛФИЛМЕНТА**: Материалы фулфилмента (опционально) +- **СВЯЗЬ С MP**: Связь с карточкой маркетплейса (опционально) + +### 7.5 Статистика и аналитика фулфилмента + +**В КАБИНЕТЕ ФУЛФИЛМЕНТА:** + +- **ТОВАРЫ**: Базовые товары от поставщиков (принятые на склад) +- **ПРОДУКТЫ**: Готовая продукция (созданная из товаров) +- **БРАК**: Статистика потерь и списаний +- **РАСХОДНИКИ ФУЛФИЛМЕНТА**: Операционные материалы фулфилмента +- **РАСХОДНИКИ СЕЛЛЕРОВ**: Материалы для товаров селлеров + +### 7.6 Правила фулфилмента + +**ОБЯЗАТЕЛЬНО:** + +- Своевременная приемка поставок +- Ведение точного учета остатков +- Контроль качества товаров +- Фиксация брака в процессе работы +- Соблюдение сроков создания продуктов + +**ЗАПРЕЩЕНО:** + +- Принятие товаров без проверки качества +- Нарушение технологии создания продуктов +- Несоблюдение сроков обработки + +--- + +## 8. 🔄 ИНТЕГРАЦИИ И СВЯЗИ МЕЖДУ КАБИНЕТАМИ + +### 8.1 Глобальная интеграция + +- **Маркет** - данные карточки товаров и расходников отображаются в глобальной сущности +- **Синхронизация данных** между всеми модулями системы +- **Единая система уведомлений** через встроенный мессенджер + +### 8.2 Интеграция с маркетплейсами + +- **Wildberries API** - загрузка карточек товаров из WB +- **Синхронизация данных** с маркетплейсами +- **Создание поставок** на основе WB карточек +- **Управление API ключами** с проверкой активности + +### 8.3 Интеграция с модулем "Услуги" + +**Расходники фулфилмента в услугах:** + +- Селлеры могут использовать расходники фулфилмента в разделе "Услуги / Расходники" +- Для создания продукта из базового товара +- Расходники списываются с остатков фулфилмента +- Стоимость включается в стоимость услуги фулфилмента + +**Процесс создания продукта через услуги:** + +1. Селлер выбирает услугу "Создание продукта" +2. Указывает базовый товар для обработки +3. Выбирает необходимые расходники фулфилмента +4. Фулфилмент обрабатывает заказ +5. Создается готовый продукт с использованием расходников + +### 8.4 Система тарификации логистики + +**Расчет стоимости доставки:** + +- **Тариф до 1м³** - базовая стоимость для малых грузов +- **Тариф свыше 1м³** - стоимость для крупных грузов +- **Маршруты доставки** - от точки отправления до точки назначения +- **Описание услуг** - дополнительные условия доставки + +--- + +## 📋 КРИТИЧЕСКИЕ ЗАПРЕТЫ + +### ❌ НИКОГДА НЕ ДЕЛАТЬ: + +1. Удалять предметы с существующими заказами +2. Изменять статусы заказов без уведомлений +3. Обходить проверки остатков предметов +4. Давать доступ к чужим данным +5. Игнорировать ошибки валидации +6. Пропускать логирование критических операций +7. Создавать брак или продукт без связи с родительским товаром +8. Создавать отдельные типы расходников (только общий тип "РАСХОДНИКИ") +9. Разрешать заказ брака +10. Нарушать иерархию типов предметов + +--- + +## 🎖️ ПРИОРИТЕТЫ РАЗРАБОТКИ + +### ВЫСОКИЙ ПРИОРИТЕТ: + +1. 🔴 Безопасность и контроль доступа +2. 🔴 Целостность данных и валидация +3. 🔴 Корректность статусов поставок +4. 🔴 Уведомления участников процесса +5. 🔴 Правильная типизация предметов + +### СРЕДНИЙ ПРИОРИТЕТ: + +1. 🟡 Производительность и оптимизация +2. 🟡 Пользовательский опыт +3. 🟡 Аналитика и отчетность +4. 🟡 Интеграции с внешними системами + +### НИЗКИЙ ПРИОРИТЕТ: + +1. 🟢 Дополнительные фильтры +2. 🟢 Косметические улучшения +3. 🟢 Экспериментальные функции + +--- + +_Документ создан на основе файла description.md_ +_Версия: 1.0_ +_Дата: 2024_ +_Статус: АКТИВНЫЕ ПРАВИЛА_