BR 1.7.1: Пересмотр UX каталога

Корректировка к BR 1.7

Не меняет модель данных. Пересматривает как пользователь работает с каталогом на фронте — разделение ответственности между разделами “Товары”, “Категории” и “Версии”.

Контекст

BR 1.7 описывает двухуровневое версионирование (товары + каталог), но не разделяет чётко: где пользователь редактирует товары, где управляет составом каталога, и как эти действия связаны. Эта BR уточняет UX.

Ключевое разделение

Товар и Каталог — версионируются независимо.

  • Товар — свои версии (v1, v2, v3). Редактирование товара создаёт новую версию товара. Делается в разделе “Товары” в любой момент.
  • Каталог — набор ссылок на конкретные версии товаров + дерево категорий. Черновик каталога нужен только для изменения состава (добавить/убрать товар, переключить на другую версию товара, изменить категории).
Товар "Маргарита":
  v1 (цена 500₽)
  v2 (цена 550₽, описание обновлено)  ← создано в разделе "Товары"

Каталог v2 (published): [Маргарита@v1, Капучино@v1]  ← клиент видит v1 (500₽)
Каталог v3 (draft):     [Маргарита@v2, Капучино@v1]  ← после публикации клиент увидит v2 (550₽)

Клиент видит товар по версии из опубликованного каталога, не по последней версии товара.


Раздел “Товары” (/catalog/products)

Что видит пользователь

Список всех товаров (последняя версия каждого). Не привязан к конкретной версии каталога — это справочник всех товаров франшизы.

Карточка товара (/catalog/products/:id)

  • Все поля товара (актуальная версия)
  • Таб “Версии” — таблица всех версий этого товара:
ВерсияДатаЧто изменилосьИспользуется в
v203.04.2026Цена: 500₽ → 550₽Каталог v3 (draft)
v101.04.2026СозданКаталог v2 (published)
  • Каждая версия показывает в каких каталогах используется

Создание и редактирование товара

  • Создание (/catalog/products/new) — создаёт товар v1. Товар не попадает автоматически ни в какой каталог. Чтобы добавить в каталог — нужно создать/открыть черновик каталога в разделе “Версии”.
  • Редактирование (/catalog/products/:id/edit) — создаёт новую версию товара (v2, v3…). Старые каталоги продолжают ссылаться на старую версию. Чтобы обновить каталог — нужно в черновике переключить ссылку на новую версию.

Таб “Удалённые”

Без изменений — soft delete + восстановление.


Раздел “Категории” (/catalog/categories)

Категории per-version

Категории входят в снапшот каталога. Дерево категорий может отличаться между версиями каталога.

Что видит пользователь

  • Если есть черновик каталога — дерево из черновика, editable. Баннер: “Черновик каталога v3. Изменения будут опубликованы вместе с каталогом.”
  • Если нет черновика — дерево из published каталога, readonly. Баннер: “Опубликованный каталог v2. Для редактирования создайте черновик в разделе Версии.”

Inline CRUD

Только при наличии черновика:

  • Добавить корневую / дочернюю категорию
  • Переименовать
  • Удалить (с проверками HAS_CHILDREN, HAS_PRODUCTS)
  • Деактивировать / активировать (каскадная деактивация)

Раздел “Версии” (/catalog/versions)

Список версий

Таблица всех версий каталога:

ВерсияСтатусДата публикацииТоваровКатегорийДействия
v3Черновик5212Опубликовать / Удалить
v2Опубликован01.04.20265012
v1Архив15.03.20264510

Кнопки

  • “Создать черновик” — видна только если нет draft. Создаёт черновик = копия текущего published (все ссылки на товары + дерево категорий копируются).
  • “Удалить черновик” — видна только если есть draft. Модалка: “Удалить черновик v3? Все незопубликованные изменения будут потеряны.” Published не затрагивается.
  • “Опубликовать” — у draft строки. Модалка: “Опубликовать каталог v3? Текущая опубликованная версия уйдёт в архив.”

Просмотр версии (/catalog/versions/:id)

Полное содержимое конкретной версии каталога (readonly):

  • Дерево категорий этой версии
  • Таблица товаров с их конкретными версиями внутри этого каталога
  • Бейдж статуса (draft / published / archived)

Редактирование черновика (/catalog/versions/:id при draft)

При открытии draft-версии — не readonly, а editable:

  • Управление составом: добавить товар (выбрать из справочника + выбрать версию товара)
  • Убрать товар из каталога
  • Переключить версию товара (Маргарита: v1 → v2)
  • Дерево категорий — editable (или ссылка “Редактировать категории” → раздел Категории)

Формула: что видит клиент

Без изменений от BR 1.7:

Каталог (published версия, конкретные версии товаров + категории)
  + Прейскурант (дефолтный или per-ТТ)
  − Стоп-листы (per-ТТ)
  − Проверка складских остатков (per-ТТ)
  = Финальное меню для клиента

Примеры сценариев

Сценарий: Франшиза изменила цену Маргариты

  1. Раздел “Товары” → открыл Маргариту → “Редактировать” → цена 500₽ → 550₽ → Сохранить
  2. Создалась Маргарита v2. Каталог v2 (published) по-прежнему ссылается на v1 (500₽).
  3. Клиент видит 500₽.
  4. Раздел “Версии” → “Создать черновик” → v3 (draft, копия v2)
  5. Внутри v3 → Маргарита → переключить v1 → v2
  6. “Опубликовать” → v3 published, v2 → archived
  7. Клиент видит 550₽.

Сценарий: Франшиза добавляет новый товар

  1. Раздел “Товары” → “Добавить товар” → “Латте” v1 (400₽)
  2. Товар создан в справочнике. В каталоге его нет.
  3. Раздел “Версии” → создать черновик (или открыть существующий)
  4. Внутри черновика → “Добавить товар” → выбрать “Латте” v1
  5. Опубликовать → клиент видит Латте.

Сценарий: Франшиза изменила структуру категорий

  1. Раздел “Категории” → баннер “Нет черновика. Для редактирования создайте в разделе Версии.”
  2. Раздел “Версии” → “Создать черновик” → v3 (draft)
  3. Раздел “Категории” → баннер “Черновик v3” → можно редактировать дерево
  4. Переименовал “Пицца” → “Итальянская кухня”, добавил подкатегорию
  5. Раздел “Версии” → “Опубликовать” v3

Ролевой доступ

Без изменений от BR 1.7:

РольТоварыКатегорииВерсии
ФраншизаCRUD (создание версий товаров)CRUD (в черновике)Создать/удалить черновик, опубликовать
ФранчайзиПросмотр (published)Просмотр (published)Нет доступа
МенеджерПросмотр (published)Просмотр (published)Нет доступа
КассирНет доступаНет доступаНет доступа

Что меняется относительно BR 1.7

АспектBR 1.7BR 1.7.1
Создание версии товараАвтоматически создаёт draft каталогаНе создаёт draft каталога. Товар версионируется независимо
Добавление товара в каталогНе описано явноТолько внутри черновика каталога (раздел “Версии”)
Создание черновика каталогаАвтоматически при изменении товараТолько вручную в разделе “Версии”
Категории при отсутствии черновикаНе описаноReadonly (published)
Карточка товара — версииНе описаноТаб “Версии” с историей и привязкой к каталогам

Ссылки