Торговые предложения (SKU) в 1С‑Битрикс: Управление сайтом

Изучи архитектуру Торговые предложения в Битриксе: настройка SKU, нюансы каталога и лайфхаки для управления товарами. Просто и ясно!

Бесплатная консультация юриста

+7 (800) 302-87-29

Реклама jurik.ru

В современном электронном коммерце редко встречаются товары, которые существуют только в одном варианте. Обувь имеет размеры и цвет, электроника — объем памяти и цвет корпуса, продукты — вес и упаковку. В 1С-Битрикс: Управление сайтом для решения этой задачи используется механизм Торговых предложений (SKU, Stock Keeping Unit). Данная статья подробно разбирает архитектуру, настройку и нюансы работы с торговыми предложениями для эффективного управления каталогом.

Что такое Торговые предложения (SKU)?

Торговое предложение — это конкретная вариация товара, которая имеет свои уникальные характеристики (артикул, цена, количество на складе, фото, вес, габариты), но при этом принадлежит к одному основному товару (родительскому элементу).

Ключевые понятия:

  • Основной товар (Родитель), элемент инфоблока каталога, объединяющий группу вариаций. Содержит общее описание, общие свойства, SEO-данные, детальную карточку.
  • Торговое предложение (Дочерний элемент) — отдельный элемент в отдельном инфоблоке, привязанный к родителю. Имеет уникальный набор свойств (SKU-свойств), цену, остатки.
  • SKU-свойства, свойства инфоблока торговых предложений, помеченные галочкой «Является SKU-свойством» (например, Цвет, Размер, Объем). Именно они формируют матрицу вариаций.

Архитектура хранения данных

В Битриксе реализована модель «Один основной товар — Множество торговых предложений». Технически это два разных инфоблока:

  1. Инфоблок каталога (Основные товары) — хранит общую информацию.
  2. Инфоблок торговых предложений (Вариации) — хранит конкретные SKU.

Связь осуществляется через свойство основного товара типа «Привязка к элементам инфоблока» (код по умолчанию обычно CML2_LINK), которое ссылается на инфоблок торговых предложений. В настройках инфоблока каталога на вкладке «Торговые предложения» указывается, какой именно инфоблок является дочерним.

Настройка Торговых предложений (Пошагово)

Шаг 1. Создание инфоблока торговых предложений

  1. Перейдите в Контент > Инфоблоки > Типы инфоблоков (или создайте новый тип «Каталог»).
  2. Создайте инфоблок, например: «Торговые предложения каталога».
  3. В настройках инфоблока включите: «Разделы», «ЧПУ», «Множественные категории» (по необходимости).

Шаг 2. Создание SKU-свойств

В созданном инфоблоке торговых предложений создайте свойства, которые будут отличать вариации друг от друга (Цвет, Размер, Материал).

  • Тип свойства: Список (для выбора из заранее заданных значений) или Строка.
  • Критически важно: Поставьте галочку «Является SKU-свойством».
  • Заполните значения списка (Красный, Синий / 42, 43, 44).

Шаг 3. Настройка инфоблока основных товаров

  1. Откройте настройки инфоблока каталога (родительского).
  2. Вкладка «Торговые предложения».
  3. Выберите инфоблок торговых предложений.
  4. Выберите свойство-связку (обычно CML2_LINK).
  5. Сохраните. Система автоматически подтянет SKU-свойства из дочернего инфоблока для настройки матрицы.

Шаг 4. Настройка матрицы вариаций (визуальное представление)

После привязки инфоблока SKU на вкладке «Торговые предложения» появится блок «Настройка матрицы». Здесь можно определить:

  • Какие свойства выводятся в виде выпадающего списка, радиокнопок, цветовых образцов (палитры) или изображений.
  • Порядок следования свойств (сверху вниз — приоритет выбора).
  • Настройку «Показывать недоступные предложения» (зачеркивать или скрывать).

Работа с ценами и остатками

Главное преимущество SKU — независимое ценообразование и учет остатков для каждой вариации.

Цены

Цены привязываются к конкретному торговому предложению (дочернему элементу). В карточке основного товара в админке на вкладке «Торговые предложения» есть таблица, где для каждого SKU можно задать:

  • Базовую цену и цены по типам цен (Розница, Опт, Дилер и т.д.).
  • Валюту.
  • Налоги.

Важно: У основного товара цена может быть не задана (или равна 0), она не используется в корзине, если у товара есть торговые предложения. В корзину всегда попадает конкретное SKU.

Остатки (Количество)

Учет остатков ведется строго по торговым предложениям. Настройка производится в настройках модуля «Интернет-магазин» > «Настройки склада» > «Учет количества». Для каждого SKU задается:

  • Количество на складе.
  • Минимальное количество для заказа.
  • Допускать ли заказ при отсутствии (под заказ).

Основные компоненты каталога (bitrix:catalog, bitrix:catalog.section, bitrix:catalog.element) имеют встроенную поддержку SKU.

Ключевые параметры компонентов:

  • IBLOCK_ID — ID инфоблока основных товаров.
  • SKU_IBLOCK_ID, ID инфоблока торговых предложений (обычно подтягивается автоматически из настроек инфоблока).
  • SKU_PROPS, массив кодов SKU-свойств, которые участвуют в выборе (например, ['COLOR', 'SIZE']).
  • OFFERS_CART_PROPERTIES — свойства SKU, которые показываются в корзине (размер, цвет).
  • OFFERS_SORT_FIELD / OFFERS_SORT_ORDER, сортировка предложений в списке.

Шаблоны компонентов

В современных шаблонах (например, «Адаптивный» или на базе Bitrix Vue JS / React в новых редакциях) выбор SKU реализован через JS-объект window['catalogElement_...'] или через BX.Vue компоненты. При выборе вариации динамически меняются:

  • Цена (базовая, со скидкой, старая).
  • Картинки (галерея переключается на фото выбранного SKU).
  • Артикул, вес, габариты.
  • Наличие (текст/индикатор: «В наличии», «Мало», «Нет в наличии»).
  • Кнопка «Купить» / «Под заказ» / «Нет в наличии».

Импорт и экспорт (1С, CSV, XML)

Это самая частая точка боли при интеграции с 1С или внешними системами.

Формат CommerceML (1С)

В XML выгрузке из 1С основной товар передается в теге Товар, а вариации — в теге Предложения (внутри ПакетПредложений). Связь идет по Ид (GUID) или Артикул.

  • В 1С номенклатура — это основной товар.
  • В 1С характеристики номенклатуры / варианты номенклатуры — это торговые предложения.
  • Модуль обмена Битрикса автоматически создает/обновляет дочерние элементы в инфоблоке SKU и проставляет связь CML2_LINK.

CSV Импорт

При импорте через CSV (Админка > Контент > Импорт CSV) необходимо:

  1. Импортировать основные товары (получить их ID).
  2. Импортировать торговые предложения в их инфоблок, в колонке привязки (обычно CML2_LINK) указать ID родительского товара.
  3. Убедиться, что SKU-свойства (Цвет, Размер) импортируются как привязки к значениям списка (XML_ID или VALUE), а не просто строкой.

Распространенные проблемы и решения

  • Оптимизируйте выборку: отключите лишние свойства в SELECT, используйте композит, кэшируйте компонент. Рассмотрите «Ленивую загрузку» матрицы SKU через AJAX (подгрузку вариантов при выборе первого свойства).
  • Проблема Причина / Решение
    Не меняется цена/картинка при выборе вариации на сайте Ошибка в JS-шаблоне компонента catalog.element. Проверьте, что в result_modifier.php корректно формируется массив JS_CONFIG / OFFERS с полными данными (PRICES, PREVIEW_PICTURE, PROPERTIES).
    В корзину добавляется основной товар, а не SKU В компоненте catalog.element не передан параметр SKU_IBLOCK_ID или в шаблоне кнопка «Купить» не передает PROP_XXX (ID SKU) в корзину. Проверьте ADD_PROPERTIES_TO_BASKET = Y.
    Не фильтруются товары по свойствам SKU в умном фильтре В настройках умного фильтра (bitrix:catalog.smart.filter) нужно указать IBLOCK_ID инфоблока SKU и выбрать свойства SKU в «Показывать свойства». В компоненте каталога (catalog.section) параметр FILTER_NAME должен совпадать.
    Дубликаты SKU при повторном импорте из 1С Не совпадают XML_ID (GUID) предложений в 1С и на сайте. Проверьте настройки обмена: «Обновлять существующие» и соответствие полей «Артикул» / «XML_ID».
    Медленная загрузка карточки товара с 1000+ SKU

    Продвинутые техники

    Множественные SKU-инфоблоки для одного каталога

    Начиная с модуля catalog 23.0.0 (и в редакции «Бизнес»/«Корпоративный портал»), появилась поддержка нескольких инфоблоков торговых предложений для одного инфоблока каталога. Это позволяет хранить, например, «Обувь» и «Одежду» в разных инфоблоках SKU с разным набором свойств (Размер/Цвет vs Рост/Обхват), но в одном разделе каталога.

    Динамические свойства SKU (пользовательские поля)

    Можно добавить пользовательские поля (User Fields) к инфоблоку торговых предложений (например, «Срок годности», «Страна производства партии», «Штрихкод»). Они будут доступны в $arResult['OFFERS'] и в корзине.

    Управление фото: «Одна галерея на все» vs «Фото у каждого SKU»

    • Вариант А: Фото только у основного товара. Все SKU используют общую галерею. Экономит место, но покупатель не видит цвет в натуре.
    • Вариант Б (Рекомендуемый): У каждого SKU свое детальное фото / галерея. В настройках компонента catalog.element включите подгрузку фото выбранного SKU. При импорте из 1С картинки привязываются к предложениям.

    Чек-лист проверки перед запуском

    1. [ ] У всех основных товаров, имеющих вариации, заведено минимум одно Торговое предложение.
    2. [ ] У всех SKU заполнены: Цена (хотя бы базовая), Количество (остаток), Артикул (уникальный).
    3. [ ] SKU-свойства (Цвет, Размер) имеют понятные названия значений и, желательно, картинки-образцы (для палитры).
    4. [ ] Настройка матрицы в инфоблоке каталога соответствует UX-требованиям (радиокнопки для размера, палитра для цвета).
    5. [ ] Умный фильтр корректно агрегирует значения SKU (показывает «Красный», только если есть товары красного цвета в наличии).
    6. [ ] В корзине и заказе отображаются отличительные свойства (Цвет: Красный, Размер: 42).
    7. [ ] Выгрузка заказов в 1С/CRM корректно передает ID/Артикул именно Торгового предложения, а не основного товара.

    Грамотная настройка Торговых предложений в 1С-Битрикс — это фундамент удобного каталога и корректной работы заказов, склада и интеграции с 1С. Главные принципы успеха: четкое разделение «Общего» (родитель) и «Конкретного» (SKU), правильная разметка SKU-свойств (галочка «Является SKU-свойством») и тестирование всех сценариев выбора вариации на фронтенде до передачи проекта заказчику.

    Используйте возможности модуля «Каталог» максимально: настройку матрицы, привязку фото к SKU, независимые цены и скидки. Это снимет 90% рутинных вопросов от контент-менеджеров и покупателей в будущем.