BUG-007: Ограничить structural модификаторы для товаров

Описание

Сейчас structural модификаторы можно привязать к любому товару без ограничений. Это создаёт два проблемных кейса:

  1. Несколько structural групп на одном товаре — приводит к комбинаторному взрыву техкарт (3 размера × 3 теста = 9 техкарт). Реальных кейсов на 2+ structural нет.
  2. Structural на товаре type=good — у товаров нет техкарт, per-size бессмысленен. Вода 0.5л и 1л — это отдельные товары, не варианты одного. В YumaPos зависимые модификаторы доступны только для блюд.

Также на фронте type=good показывает таб “Модификаторы” с кнопками structural, хотя они не применимы.

Ожидаемое поведение

Бэкенд:

  • Максимум 1 structural группа на товар (ошибка STRUCTURAL_LIMIT_EXCEEDED при попытке добавить вторую)
  • Structural модификаторы только для type=dish (ошибка STRUCTURAL_NOT_ALLOWED_FOR_GOOD при попытке привязать к good)

Фронт:

  • Для type=good: таб “Модификаторы” показывает только секцию “Свободные”. Кнопка ”+ Закреплённый” отсутствует. Подсказка: “Закреплённые модификаторы доступны только для блюд”
  • Для type=dish: если уже есть 1 structural группа — кнопка ”+ Закреплённый” заблокирована с tooltip “Только одна закреплённая группа на товар”

Фактическое поведение

Можно привязать сколько угодно structural групп к любому типу товара.

Затронутые сервисы

  • Catalog ServiceProductModifierService — валидация при привязке
  • erp-admin (web) — ProductViewPage — условное отображение кнопок/секций