# ПРАВИЛА СИСТЕМЫ УПРАВЛЕНИЯ СКЛАДАМИ И ПОСТАВКАМИ

> ⚠️ **ВАЖНОЕ ПРИМЕЧАНИЕ**: Данные из этого файла могут быть удалены только с разрешения пользователя. Все изменения должны согласовываться.

---

## 📑 ОГЛАВЛЕНИЕ

### 🎯 **ОБЩИЕ ПРАВИЛА**

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.4.1 ОТОБРАЖЕНИЕ ИНФОРМАЦИИ В КАРТОЧКАХ

**Каждая карточка товара/расходника содержит:**

**Основная информация:**

- **Основное изображение**
- **Название**
- **Артикул СФ** (автоматически сгенерированный)
- **Цена за единицу/комплект**
- **Категория**
- **Статус активности** (активен/неактивен)

**Данные о движении товара:**

- **Остаток** - текущее количество на складе
- **Заказано** - количество товара в активных заказах
- **В пути** - количество товара, которое находится в доставке
- **Продано** - количество проданного товара

**Индикаторы:**

- **Индикатор низких остатков** (если применимо)
- **Подсветка** при остатках ниже критического уровня

### 6.4.2 АКТУАЛИЗАЦИЯ ДАННЫХ

**КРИТИЧЕСКИ ВАЖНО**: При изменении количества в карточке данные актуализируются во всей системе:

- **Статистика обновляется в реальном времени**
- **Отслеживание изменений** для аналитики
- **Данные синхронизируются** с модулем аналитики
- **Обновление во всех связанных модулях** системы

### 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. 🟢 Экспериментальные функции

---

## 📦 ПРИЛОЖЕНИЕ: КАТЕГОРИИ РАСХОДНИКОВ

### Специализированные категории для расходников

**В дополнение к 28 универсальным категориям, для расходников рекомендуются следующие специализированные категории:**

#### 🎁 **УПАКОВКА И ЗАЩИТА**

- Коробки (различных размеров)
- Пакеты (полиэтиленовые, бумажные, фирменные)
- Пузырчатая пленка, воздушные подушки
- Стрейч-пленка, гофрокартон
- Паллетная пленка, защитные уголки

#### 🏷️ **МАРКИРОВКА И ИДЕНТИФИКАЦИЯ**

- Этикетки (адресные, штрих-код, QR-код)
- Бирки (ценники, размерники)
- Стикеры и наклейки
- Маркеры и ручки
- Штампы и печати, термоэтикетки

#### 🔧 **КРЕПЕЖ И СОЕДИНЕНИЕ**

- Скотч (прозрачный, цветной, армированный)
- Клей и клеевые составы
- Стяжки пластиковые
- Степлер и скобы
- Веревки и шнуры, стрейч-лента

#### 📄 **ДОКУМЕНТООБОРОТ И ВКЛАДЫШИ**

- Накладные и сопроводительные документы
- Инструкции по эксплуатации
- Гарантийные талоны
- Рекламные буклеты, визитки и флаеры
- Благодарственные письма, купоны и промокоды

#### 🧼 **ГИГИЕНА И БЕЗОПАСНОСТЬ**

- Перчатки (латексные, нитриловые)
- Маски и респираторы
- Антисептики и дезинфекторы
- Салфетки и тряпки
- Фартуки и халаты, бахилы

#### 🛠️ **ИНСТРУМЕНТЫ И ПРИСПОСОБЛЕНИЯ**

- Ножи и резаки, ножницы
- Линейки и рулетки
- Упаковочные машины (ленточные)
- Дозаторы скотча
- Пистолеты для термоклея
- Весы и мерная тара

#### 🎨 **БРЕНДИНГ И ДИЗАЙН**

- Фирменные пакеты с логотипом
- Брендированные коробки
- Цветная упаковочная бумага
- Ленты и банты
- Наклейки с логотипом компании
- Подарочная упаковка

#### ⚡ **СПЕЦИАЛИЗИРОВАННЫЕ МАТЕРИАЛЫ**

- Антистатические пакеты
- Влагопоглотители
- Температурные индикаторы
- Хрупкие наклейки
- Пломбы и пломбировочные материалы
- Защита от краж (магнитные датчики)

#### 🏪 **ТОРГОВОЕ ОБОРУДОВАНИЕ**

- Манекены и вешалки
- Ценникодержатели
- Подставки и стойки
- Корзины и тележки
- Зеркала примерочные
- Освещение витрин

#### 🚚 **ЛОГИСТИКА И СКЛАДИРОВАНИЕ**

- Паллеты и поддоны
- Контейнеры и ящики
- Стеллажные системы
- Погрузочные ремни
- Защитные чехлы
- Адресные ярлыки для груза

#### 💻 **ТЕХНИЧЕСКИЕ РАСХОДНИКИ**

- Картриджи для принтеров
- Термоголовки, красящие ленты
- Батарейки для сканеров
- Чистящие средства для техники
- Запчасти для упаковочного оборудования

#### 🎪 **СЕЗОННЫЕ И ПРАЗДНИЧНЫЕ**

- Новогодняя упаковка
- Подарочные мешки
- Праздничные ленты
- Тематические наклейки
- Открытки и поздравления
- Сезонная упаковочная бумага

**ПРИМЕЧАНИЕ**: Данные категории являются рекомендательными и могут быть адаптированы под специфику конкретного поставщика расходников.

---

_Документ создан на основе файла description.md_  
_Версия: 1.1_  
_Дата: 2024_  
_Статус: АКТИВНЫЕ ПРАВИЛА_
