Товар — это карточка модели, а торговое предложение (SKU) — её конкретный продаваемый вариант: размер, цвет, объём. В 1С-Битрикс это две связанные сущности из разных инфоблоков, и путаница между ними — источник большинства проблем с ценами, остатками и фильтром.
Что такое товар и что такое SKU
Товар — это элемент основного инфоблока каталога. Он несёт общую информацию о модели: название, описание, фотографии, бренд, характеристики, которые одинаковы для всех вариантов. Торговое предложение (SKU, Stock Keeping Unit) — это элемент отдельного инфоблока торговых предложений, привязанный к товару. Именно у SKU живут цена, остаток и штрихкод.
Простая аналогия: футболка «Classic» — это товар, а «Classic, чёрная, размер L» — торговое предложение. Покупатель видит одну карточку, но в корзину кладёт конкретный SKU. Если у товара включены торговые предложения, то купить сам товар напрямую нельзя — продаётся всегда одно из его предложений.
offers.Два инфоблока и связь между ними
Техническая основа механизма — пара инфоблоков. Первый содержит товары, второй — торговые предложения. Их связь настраивается в Контент → Инфоблоки → Типы инфоблоков → Каталоги (SKU), а конкретнее — в свойствах инфоблока предложений, на вкладке «Торговый каталог», где указывается: «Это инфоблок торговых предложений для инфоблока …».
Связка работает через служебное свойство типа «Привязка к элементам». В инфоблоке предложений автоматически создаётся свойство CML2_LINK — оно хранит ID родительского товара. Именно по нему Битрикс понимает, какие SKU относятся к какой карточке.
- Инфоблок товаров — карточки моделей, разделы, общие свойства и SEO.
- Инфоблок предложений — варианты, свойства вариативности (цвет, размер) и техническое свойство
CML2_LINK. - Модуль «Торговый каталог» (
catalog) — хранит цены и количества, привязанные к элементам инфоблока предложений.
Где хранятся цена и остаток
Это ключевое различие, которое чаще всего путают. Когда у товара есть торговые предложения, цена и остаток задаются на уровне SKU, а не товара. У родительской карточки поля цены и количества становятся неактуальными — сайт берёт их из предложений.
В карточке товара при этом обычно показывается «цена от» — минимальная среди активных предложений. Остаток товара — это сумма (или наличие хотя бы одного) остатков его SKU. Поэтому если оператор проставил цену на самом товаре, а не на предложении, посетитель увидит либо пустую цену, либо «от 0».
| Параметр | Товар (модель) | Торговое предложение (SKU) |
|---|---|---|
| Название, описание, фото | Да | Опционально (переопределяет) |
| Цена | Нет (если есть SKU) | Да |
| Остаток на складе | Нет (агрегируется) | Да |
| Артикул / штрихкод | Общий | Свой у каждого варианта |
| Свойства вариативности | Нет | Да (цвет, размер) |
Свойства товара и свойства предложения
Свойства тоже делятся на два уровня, и понимать это разделение критично для фильтра и карточки.
- Свойства товара — то, что одинаково для всех вариантов: бренд, страна, материал корпуса, гарантия. Их место — в инфоблоке товаров.
- Свойства предложения — то, чем варианты различаются: цвет, размер, объём памяти. Их место — в инфоблоке предложений. Именно эти свойства становятся кнопками выбора в карточке.
Свойства, по которым покупатель выбирает вариант, должны быть обязательными для SKU и, как правило, типа «Список» или «Привязка к элементам справочника (highload-блок)». В настройках торгового каталога инфоблока предложений их отмечают как свойства, участвующие в формировании предложений (используются компонентом catalog.element для вывода вариантов).
Когда торговые предложения нужны, а когда — нет
SKU оправданы, когда одна модель продаётся в нескольких взаимозаменяемых для покупателя вариантах с собственными ценой и остатком. Если вариаций нет — усложнять структуру не надо.
- Нужны: одежда и обувь (размер, цвет), смартфоны (память, цвет), краски (объём, оттенок), продукты (фасовка).
- Не нужны: уникальные товары без вариантов, услуги, крупная техника в единственном исполнении. Для них товар = единица продажи.
Помните про правило необратимости: если сомневаетесь, но склад и цены явно варьируются по вариантам — включайте SKU сразу. Переделывать «плоский» каталог в каталог с предложениями на живом магазине с обменом 1С — трудоёмко и рискованно.
Как это выглядит при обмене с 1С
При стандартном обмене по протоколу CommerceML 1С сама раскладывает данные по двум инфоблокам. Номенклатура выгружается в товары, а характеристики номенклатуры — в торговые предложения. Связь между ними в файлах обмена держится на GUID: у предложения есть ссылка на владельца, которая на стороне сайта превращается в свойство CML2_LINK.
Отсюда практическое следствие: структура вариантов в магазине должна повторять модель данных в 1С. Если в учётной системе номенклатура ведётся с характеристиками — на сайте это торговые предложения. Если характеристик нет, а различия «зашиты» в отдельные позиции номенклатуры — на сайте это будут отдельные товары.
Типичные ошибки и как их избежать
Большинство проблем с SKU сводятся к нескольким повторяющимся сценариям.
- Цена на товаре, а не на предложении — в карточке пусто или «от 0». Проверьте, что цены проставлены у каждого активного SKU.
- Свойство вариативности не отмечено в настройках торгового каталога — варианты есть, но в карточке нет кнопок выбора.
- Неактивные или скрытые предложения — товар отображается «нет в наличии», хотя остаток есть на неактивном SKU.
- Смешение уровней свойств — бренд заведён на предложении, а не на товаре, из-за чего ломается умный фильтр.
- Компонент карточки не поддерживает SKU — используется устаревший шаблон
catalog.elementбез вывода предложений.
Диагностику удобно начинать с карточки: если вариантов не видно, смотрите настройки инфоблока предложений и параметры компонента комплексного каталога catalog.
Итог
Запомнить разницу просто: товар — это модель и общая информация, торговое предложение — конкретный продаваемый вариант с ценой и остатком. Технически это два связанных инфоблока, скреплённых свойством CML2_LINK, а цены и количества хранит модуль «Торговый каталог» на уровне SKU. Свойства делятся по тому же принципу: общее — на товаре, различающее — на предложении.
Если вы проектируете новый каталог, планируете обмен с 1С или разбираетесь, почему в карточках «плывут» цены и наличие, — мы помогаем выстроить структуру товаров и предложений так, чтобы каталог, фильтр и корзина работали предсказуемо. Обращайтесь: спроектируем каталог с нуля или наладим корректный обмен характеристиками с учётной системой.
Частые вопросы
Можно ли продать сам товар, если у него есть торговые предложения?
Нет. Когда у товара включены предложения, в корзину добавляется только конкретный SKU. Сам товар выступает как объединяющая карточка модели.
Где задавать цену — на товаре или на предложении?
На предложении. Если у товара есть SKU, цена и остаток берутся с уровня предложений, а поля цены самого товара не используются.
Что за свойство CML2_LINK?
Это служебное свойство типа «Привязка к элементам» в инфоблоке предложений. Оно хранит ID родительского товара и обеспечивает связь SKU с моделью.
Можно ли отключить торговые предложения после включения?
Штатно отключить их без потери данных нельзя. Поэтому решение о структуре каталога принимают до массового наполнения товарами.
Чем свойство товара отличается от свойства предложения?
Свойство товара одинаково для всех вариантов (бренд, материал), а свойство предложения различает варианты (цвет, размер) и становится кнопкой выбора в карточке.
Как SKU связаны с обменом 1С?
Номенклатура из 1С выгружается в товары, а характеристики номенклатуры — в торговые предложения. Связь держится на GUID и превращается в свойство CML2_LINK на сайте.
Почему в карточке не видно выбор цвета и размера?
Чаще всего свойства не отмечены как участвующие в формировании предложений в настройках торгового каталога, либо шаблон карточки не поддерживает вывод SKU.
Сколько предложений можно создать у одного товара?
Технического жёсткого лимита нет, но на практике число ограничивается удобством управления и производительностью каталога при большом количестве комбинаций свойств.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.