# КАТАЛОГ ВСЕХ БИЗНЕС-ПРОЦЕССОВ СИСТЕМЫ > ⚠️ **НАЗНАЧЕНИЕ**: Полный каталог всех бизнес-процессов и workflow системы управления складами. > **Источник**: Все процессы из [rules-complete.md](./rules-complete.md) собраны в одном месте для удобного поиска. --- ## 📋 **ОГЛАВЛЕНИЕ** ### Основные процессы: - [1. Workflow поставок](#1-workflow-поставок) - 8 статусов, 6 этапов - [2. Процесс создания продукта](#2-процесс-создания-продукта) - 5 шагов с SLA - [3. UI процессы селлера](#3-ui-процессы-селлера) - 4-блочная система - [4. Workflow фулфилмента](#4-workflow-фулфилмента) - 3 этапа обработки - [5. Workflow логистики](#5-workflow-логистики) - 4 этапа доставки - [6. Система партнерства](#6-система-партнерства) - 2 способа, 4 статуса - [7. Интеграция с услугами](#7-интеграция-с-услугами) - 5-шаговый workflow - [8. Критические ситуации](#8-критические-ситуации) - отмены и чрезвычайные ### Вспомогательные процессы: - [9. Протоколы разработки](#9-протоколы-разработки) - последовательность работы - [10. Система учета движения товаров](#10-система-учета-движения-товаров) ### Индекс по ролям: - **Селлер**: процессы 1, 2, 3, 6 - **Поставщик**: процессы 1, 6 - **Фулфилмент**: процессы 1, 2, 4, 7 - **Логистика**: процессы 1, 5 --- ## 1. 🚚 **WORKFLOW ПОСТАВОК** > **Источник**: rules-complete.md, раздел 5, строки 519-563 ### 1.1 Детализированная система статусов **Статусы SupplyOrder (Заказ поставки):** 1. **PENDING** - Ожидает подтверждения поставщиком 2. **SUPPLIER_APPROVED** - Одобрено поставщиком 3. **CONFIRMED** - Подтвержден (готов к обработке) 4. **LOGISTICS_CONFIRMED** - Подтверждено логистикой 5. **SHIPPED** - Отгружено поставщиком 6. **IN_TRANSIT** - В пути (логистика доставляет) 7. **DELIVERED** - Доставлен на фулфилмент 8. **CANCELLED** - Отменен ### 1.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` ### 1.3 Система уведомлений **Обязательные уведомления:** - Поставщику: о новом заказе - Фулфилменту: о подтвержденной поставке - Логистике: о назначении на заявку - Селлеру: об изменении каждого статуса --- ## 2. 🔄 **ПРОЦЕСС СОЗДАНИЯ ПРОДУКТА** > **Источник**: rules-complete.md, раздел 6, строки 565-740 ### 2.1 5-шаговый алгоритм создания **ПРЕДВАРИТЕЛЬНОЕ УСЛОВИЕ**: Рецептура задана селлером **ШАГ 1: Поступление на склад (автоматически)** - Товар поступает на склад фулфилмента - Система фиксирует поступление - Товар получает статус "доступен для обработки" **ШАГ 2: Планирование работы (менеджер фулфилмента)** - Менеджер фулфилмента видит товар в интерфейсе - Планирует обработку согласно рецептуре - Назначает исполнителя **ШАГ 3: Обработка товара (исполнитель)** - Исполнитель берет товар в работу - Применяет услуги согласно рецептуре - Использует расходники селлера и фулфилмента - Товар превращается в продукт **ШАГ 4: Контроль качества (менеджер/отдел качества)** - Проверка соответствия рецептуре - Контроль качества обработки - Подтверждение или возврат на доработку **ШАГ 5: Завершение (система + менеджер)** - Система создает запись о готовом продукте - Продукт получает статус FINISHED_PRODUCT - Готов к отправке селлеру ### 2.2 Временные рамки и SLA | Этап | Время выполнения | Ответственный | KPI | |------|------------------|---------------|-----| | Поступление | Мгновенно | Система | 100% автоматизация | | Планирование | До 2 часов | Менеджер ФФ | 95% в срок | | Обработка | 1-3 дня | Исполнитель | Согласно сложности | | Контроль | До 4 часов | ОТК | 99% точность | ### 2.3 Детальная рецептура продукта **РЕЦЕПТУРА ПРОДУКТА** (задается селлером при создании поставки): - **БАЗОВЫЙ ТОВАР**: Исходный материал (обязательно) - Артикул товара - Количество единиц - Размерная сетка (если применимо) - **УСЛУГА ФУЛФИЛМЕНТА**: Из каталога услуг фулфилмента - Тип услуги (глажка, упаковка, маркировка и т.д.) - Количество применений - Специальные требования - **РАСХОДНИК СЕЛЛЕРА**: Материалы селлера (опционально) - Фирменная упаковка - Этикетки, бирки - Дополнительные аксессуары - **РАСХОДНИК ФУЛФИЛМЕНТА**: Материалы фулфилмента (опционально) - Стандартная упаковка - Защитные материалы - Маркировочные элементы - **СВЯЗЬ С МАРКЕТПЛЕЙСОМ**: Привязка к карточке (опционально) - ID карточки на маркетплейсе - Артикул маркетплейса - Особые требования МП **ФОРМУЛА**: ПРОДУКТ = Товар + Услуга(и) + Расходники селлера + Расходники ФФ ### 2.4 Пошаговый алгоритм создания продукта #### **ПРЕДВАРИТЕЛЬНОЕ УСЛОВИЕ: РЕЦЕПТУРА ЗАДАНА** (селлер) ``` Время: при создании заявки на поставку Действие: селлер указывает рецептуру продукта Обязательные компоненты: ✓ Базовый товар (от поставщика) ✓ Услуги фулфилмента (упаковка, маркировка и т.д.) ✓ Расходники (материалы для производства) Результат: рецептура сохраняется в заявке и передается фулфилменту ``` #### **ШАГ 1: ПОСТУПЛЕНИЕ НА СКЛАД** (автоматически) ``` Время: при смене статуса поставки DELIVERED Действие: товар переходит в статус "на складе" Ответственный: система Результат: +Прибыло в статистике товаров ``` #### **ШАГ 2: ПЛАНИРОВАНИЕ РАБОТЫ** (менеджер фулфилмента) ``` Время: в течение 2 рабочих дней после поступления Действие: назначение параметров обработки Ответственный: менеджер фулфилмента Обязательные поля: ✓ Дедлайн выполнения (не более 5 рабочих дней) ✓ Ответственный исполнитель (из списка сотрудников) ✓ Рецептура (товар + услуги + расходники, указанная селлером в заявке на поставку) Опциональные поля: - Место хранения готовых продуктов (зона склада, стеллаж, ячейка) - Комментарии к работе Результат: поставка переходит во вкладку "В работе" ``` #### **ШАГ 3: ОБРАБОТКА ТОВАРА** (исполнитель) ``` Время: согласно дедлайну (обычно 1-3 дня) Действие: физическая обработка товара Ответственный: назначенный сотрудник Обязательные действия: 1. Проверка качества товара 2. Фиксация фактического количества 3. Выявление и учет брака 4. Применение рецептуры (услуги + расходники) 5. Создание готового продукта Точки контроля: - Соответствие плану/факту - Качество выполнения услуг - Расход материалов по норме УЧЕТ ПЛАН/ФАКТ: - ПЛАН: Количество товаров из поставки селлера (указано в заказе) - ФАКТ: Реальное количество после обработки = Брак + Хороший товар - ДЕТАЛИЗАЦИЯ: Учет ведется по каждому размеру/объему/варианту - КОРРЕКТИРОВКА: Статистика автоматически обновляется на фактические данные ``` #### **ШАГ 4: КОНТРОЛЬ КАЧЕСТВА** (менеджер/отдел качества) ``` Время: сразу после завершения ШАГ 3 Действие: приемка готовой продукции Ответственный: менеджер или контролер качества Критерии приемки: ✓ Соответствие рецептуре селлера ✓ Качество выполненных услуг ✓ Правильность упаковки/маркировки ✓ Полнота комплектации Результат: продукт готов к отправке или отправлен на доработку ``` #### **ШАГ 5: ЗАВЕРШЕНИЕ** (система + менеджер) ``` Время: после успешного прохождения контроля качества Действие: финализация процесса Автоматические действия: - Создание записи FINISHED_PRODUCT в БД - Обновление статистики: товар "на складе" → продукт "готов" - Списание использованных расходников - Уведомление селлера о готовности Ручные действия менеджера: - Подтверждение перехода во вкладку "Выполнено" - Указание фактических расходов материалов - Добавление комментариев о выполненной работе ``` ### 2.5 Временные рамки и SLA | Этап | Стандартное время | Максимальное время | Ответственный | | ----------------- | ----------------- | ------------------ | -------------- | | Планирование | 1 рабочий день | 2 рабочих дня | Менеджер ФФ | | Обработка | 2-3 рабочих дня | 5 рабочих дней | Исполнитель | | Контроль качества | 4 часа | 1 рабочий день | Отдел качества | | Завершение | 2 часа | 4 часа | Менеджер ФФ | ### 2.6 Детальная рецептура продукта **РЕЦЕПТУРА ПРОДУКТА** (задается селлером при создании поставки): - **БАЗОВЫЙ ТОВАР**: Исходный материал (обязательно) - Артикул товара - Количество единиц - Размерная сетка (если применимо) - **УСЛУГА ФУЛФИЛМЕНТА**: Из каталога услуг фулфилмента - Тип услуги (глажка, упаковка, маркировка и т.д.) - Количество применений - Специальные требования - **РАСХОДНИК СЕЛЛЕРА**: Материалы селлера (опционально) - Фирменная упаковка - Этикетки, бирки - Дополнительные аксессуары - **РАСХОДНИК ФУЛФИЛМЕНТА**: Материалы фулфилмента (опционально) - Стандартная упаковка - Защитные материалы - Маркировочные элементы - **СВЯЗЬ С МАРКЕТПЛЕЙСОМ**: Привязка к карточке (опционально) - ID карточки на маркетплейсе - Артикул маркетплейса - Особые требования МП **ФОРМУЛА**: ПРОДУКТ = Товар + Услуга(и) + Расходники селлера + Расходники ФФ ### 2.7 Учет план/факт в процессе работы **ПЛАН**: Количество товара из поставки селлера **ФАКТ**: Реальное количество после пересчета (работник фулфилмента производит сортировку при пересчете) **ФИКСАЦИЯ ПОТЕРЬ:** - **КОГДА**: В процессе работы (вкладка "В работе") - **ЧТО**: Недостача, повреждения (без создания записей брака) - **КАК**: Корректировка количества в статистике **WORKFLOW СОЗДАНИЯ ПРОДУКТА:** 1. Товар поступает на склад фулфилмента (статус "на складе") 2. Товар берется в работу (переход в статус "в обработке") 3. Исполнитель производит пересчет и сортировку 4. Создается готовый продукт (тип FINISHED_PRODUCT) 5. Продукт готов к отправке на маркетплейсы **ВЛИЯНИЕ НА СТАТИСТИКУ:** - При принятии поставки: +План в статистику - При выявлении факта: корректировка на реальные данные - **ФОРМУЛА**: Факт = Потери + Хороший товар _Где потери - это недостача/повреждения, выявленные при пересчете и сортировке_ - **ЛОГИКА**: Фактическое количество = сумма всех пересчитанных предметов - **ПЛАН/ФАКТ**: Корректировка статистики при выявлении расхождений --- ## 3. 🎨 **UI ПРОЦЕССЫ СЕЛЛЕРА** > **Источник**: rules-complete.md, раздел 9, строки 871-1885 (1015 строк) ### 3.1 Структура раздела "Мои поставки" #### **🏢 ПОСТАВКИ НА ФУЛФИЛМЕНТ**: - **Товар** - поставка товаров для создания продуктов - **Карточки** - поставка через WB API с рецептурой (результат: WildberriesSupply) - **Поставщики** - заказ товаров у поставщиков с рецептурой (результат: SupplyOrder) - **Расходники селлера** - поставка материалов для товаров селлера #### **🛒 ПОСТАВКИ НА МАРКЕТПЛЕЙСЫ** _(планируется)_: - **Wildberries** - прямые поставки на WB - **Ozon** - прямые поставки на Ozon ### 3.2 UI структура создания поставки расходников селлера #### **📄 Структура страницы создания поставки:** **ОБНОВЛЕННАЯ СТРУКТУРА СИСТЕМЫ (4 БЛОКА):** **БЛОК 1: ПОСТАВЩИКИ** _(адаптивная сетка)_ - **Заголовок**: Минималистичный "🏢 Поставщики" без лишних элементов - **Поиск**: Компактное поле справа "Поиск поставщиков..." (w-64) - **Отображение**: Карточки поставщиков из раздела "Партнеры" в адаптивной сетке - **Выбор**: Клик выделяет карточку поставщика - **Результат**: Загружаются карточки товаров выбранного поставщика в блок 2 **БЛОК 2: КАРТОЧКИ ТОВАРОВ** _(горизонтальный скролл - НОВЫЙ)_ - **Отображение**: ТОЛЬКО минималистичные карточки товаров 80×112px - **Содержание**: ТОЛЬКО изображение товара, БЕЗ текста/названий/цен - **Навигация**: Горизонтальный скролл при множестве товаров - **Выбор**: Клик добавляет товар в детальный каталог - **Результат**: Товар добавляется в блок 3 для управления поставкой **БЛОК 3: ТОВАРЫ ПОСТАВЩИКА** _(детальный каталог)_ - **Отображение**: Детальные карточки выбранных товаров - **Управление**: Количество, параметры, настройки поставки - **Результат**: Формирование окончательной поставки **БЛОК 4: КОРЗИНА И НАСТРОЙКИ** _(правая панель)_ - **Отображение**: Корзина поставки + настройки - **Управление**: Фулфилмент-центр, дата, логистика #### **3.2.1 Детальные правила горизонтального скролла поставщиков** **СТРУКТУРА И ОТОБРАЖЕНИЕ:** - **Источник данных**: Партнеры типа `WHOLESALE` из раздела "Партнеры" - **Контейнер**: Фиксированная высота 176px (h-44) с горизонтальным скроллом - **Блок поставщиков**: Общая высота 180px, включает заголовок + контейнер скролла - **Направление**: Слева направо (LTR) - **Поведение**: Плавный скролл с автоскрытием полосы прокрутки **РАЗМЕРЫ И АДАПТИВНОСТЬ:** - **Десктоп**: Карточка 216×92px, отступы 12px между карточками, 16px от краев - **Планшет**: Карточка 200×92px, отступы 12px между карточками - **Мобильный**: Карточка 184×92px, отступы 12px между карточками - **Высота блока**: 180px фиксированная для всего блока поставщиков **ВЗАИМОДЕЙСТВИЕ:** - **Навигация**: Колесо мыши (Shift+скролл), стрелки клавиатуры, свайп на тач - **Выбор**: Клик по карточке → активная рамка + загрузка товаров в блок 2 - **Состояния**: Default, Hover (box-shadow), Active (цветная рамка), Loading (скелетон) **ГРАНИЧНЫЕ СЛУЧАИ:** - **1-4 карточки**: Выравнивание по левому краю, скролл неактивен - **5+ карточек**: Полный горизонтальный скролл - **Нет партнеров**: Заглушка с ссылкой на раздел "Партнеры" **ТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ:** **Критическая Flex-архитектура:** ```css .parent-container { display: flex; gap: 16px; min-height: 0; } .left-block { flex: 1; min-width: 0; /* КРИТИЧЕСКИ ВАЖНО для overflow */ display: flex; flex-direction: column; } .suppliers-container { height: 180px; /* Общая высота блока */ flex-shrink: 0; min-width: 0; /* Предотвращает растяжение */ } .right-block { width: 384px; /* w-96 */ flex-shrink: 0; /* Защита от сжатия */ } ``` **Контейнер скролла:** ```css .suppliers-block { display: flex; overflow-x: auto; scroll-behavior: smooth; gap: 12px; padding: 0 16px 8px 16px; /* px-4 pb-2 */ height: 176px; /* h-44 */ scrollbar-width: thin; scrollbar-color: #64748b33 transparent; } .suppliers-block:hover { scrollbar-color: #cbd5e0 #64748b22; } .supplier-card { flex-shrink: 0; width: 216px; /* Десктоп */ height: 92px; /* Фиксированная высота */ padding: 8px; /* p-2 */ transition: all 0.2s ease; } ``` **СОДЕРЖАНИЕ КАРТОЧКИ ПОСТАВЩИКА:** **Структура (3 строки в 92px высоты):** - **Строка 1**: Название + рейтинг (справа, если есть) - **Строка 2**: ИНН (формат "ИНН: 1234567890") - **Строка 3**: Бейдж рынка (отдельная строка) **Элементы:** - **Аватар**: Размер xs, слева с gap-2 - **Текст**: text-xs для компактности - **Отступы**: mb-1 между строками 1-2, mb-0.5 между строками 2-3 - **Padding карточки**: 8px (p-2) **ЦВЕТОВАЯ СХЕМА РЫНКОВ:** - **"Садовод"** (sadovod): Зеленый `bg-green-500/20 text-green-300 border-green-500/30` - **"ТЯК Москва"** (tyak-moscow): Синий `bg-blue-500/20 text-blue-300 border-blue-500/30` - **Другие/не указан**: Серый `bg-gray-500/20 text-gray-300 border-gray-500/30` **ДОСТУПНОСТЬ:** - `role="tablist"` для контейнера - `role="tab"` для карточек - `aria-selected="true/false"` для выбранной карточки - `tabindex="0"` для активной, `-1` для неактивных #### **3.2.2 Правила блока "Карточки товаров" (Блок 2)** **НАЗНАЧЕНИЕ И ЛОГИКА:** - **Источник данных**: Товары выбранного поставщика из Блока 1 - **Триггер отображения**: Клик на карточку поставщика → загрузка карточек товаров - **Взаимодействие**: Клик на карточку товара → добавление в Блок 3 "Товары поставщика" - **Поведение**: Горизонтальный скролл при множестве товаров **АРХИТЕКТУРА И РАЗМЕРЫ:** - **Внешний контейнер**: bg-white/10 backdrop-blur-xl border border-white/20 rounded-2xl flex-shrink-0 - **Внутренний контейнер скролла**: flex gap-3 overflow-x-auto p-4 - **Стилизация скролла**: scrollbarWidth: 'thin' для тонкой полосы прокрутки - **Отступы**: padding: 16px (p-4) внутри, gap: 12px (gap-3) между карточками - **Адаптивная высота**: по содержимому карточек (БЕЗ фиксированной высоты) - **Визуальное единство**: стеклянный эффект как у других блоков системы - **БЕЗ заголовков/иконок**: только чистые карточки товаров в контейнере **РАЗМЕРЫ КАРТОЧЕК ТОВАРОВ:** - **Компактная карточка**: 80×112px (w-20 h-28), соотношение 5:7 - **Адаптивность**: фиксированный размер для всех устройств **СОДЕРЖАНИЕ КАРТОЧКИ ТОВАРА:** - **ТОЛЬКО изображение товара**: 80×112px, object-cover - **Минималистичный дизайн**: БЕЗ текста, названий, цен, иконок - **Состояния**: Default, Selected, Active (БЕЗ Hover-эффектов) - **Рамка**: border-white/10, при выборе border-white/30 - **Фон**: bg-white/5 полупрозрачный **ДЕЙСТВИЕ:** Клик на карточку → добавление товара в Блок 3 (детальный каталог) #### **3.2.3 Правила Блока 3 "Детальный каталог товаров"** **НАЗНАЧЕНИЕ И СТРУКТУРА:** - **Контент**: Детальные карточки выбранных товаров с полным управлением - **Верхняя панель**: Выбор даты + Выбор Fulfillment + Поиск - **Основная область**: Сетка карточек товаров с детальной информацией #### **3.2.3.1 Структура верхней панели Блока 3** **МИНИМАЛИСТИЧНАЯ ПАНЕЛЬ УПРАВЛЕНИЯ:** - **Выбор даты поставки**: DatePicker для планирования поставки - **Выбор Fulfillment-центра**: Select dropdown со списком доступных фулфилментов - **Поиск по товарам**: Input с иконкой поиска и placeholder - **Компоновка**: Горизонтальная строка с равномерным распределением **ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ:** ```tsx // Структура компонентов панели
ИНН: {supplier.inn}
{supplier.market &&