Подарок к заказу в 1С-Битрикс — это не отдельный модуль, а частный случай правил работы с корзиной: система сама добавляет товар в корзину при выполнении условий и обнуляет его цену. Разберём, как настроить механику корректно, вывести подарки на витрину и не сломать учёт остатков.
Что такое подарок к заказу в Битрикс
«Подарок к заказу» реализован средствами модуля sale через правила работы с корзиной (в объединённых скидках — раздел Маркетинг → Скидки, в старом режиме — Магазин → Настройки → Правила работы с корзиной). Технически это правило с условием и действием: при выполнении условия система сама добавляет товар в корзину и применяет к нему скидку, обнуляющую цену.
Важно понимать: подарок — это полноценная позиция корзины, а не пометка на заказе. Он участвует в оформлении, попадает в заказ, списывается со склада и уходит в обмен с 1С. Поэтому «подарочный» товар должен существовать в каталоге как обычный элемент инфоблока с ценой и, желательно, с остатком.
0 (или фиксированной символической ценой, если так настроено правило). Скидка на него — не «−100%», а действие типа «дать в подарок».Настройка правила: условие и действие
Правило собирается в визуальном конструкторе по схеме ЕСЛИ (условие) ТО (действие «Подарок»). Условие — привычный набор из правил корзины:
- Сумма корзины — например, общая стоимость
>= 5000руб. — классический «подарок за покупку от суммы»; - Наличие товара — конкретный SKU, раздел каталога, бренд или свойство;
- Количество — от N единиц определённого товара;
- комбинации через логические группы
И / ИЛИ.
В блоке действий выбирается «Подарок» (в интерфейсе — «Дать в подарок» / «Товар в подарок»). Далее указывается один или несколько товаров, которые могут быть выданы. Если товаров несколько, покупатель выбирает один из списка — это и есть механика «подарок на выбор».
Вывод подарков в публичной части
Само правило добавит подарок в корзину, но покупателя нужно об этом уведомить и дать выбор. Для витрины Битрикс поставляет отдельное семейство компонентов, работающих в связке с правилами:
| Компонент | Где выводит |
|---|---|
bitrix:catalog.gift.main.product | подарки на детальной странице товара |
bitrix:catalog.gift.section | подарки в разделе каталога |
bitrix:sale.gift.basket | блок «добавьте подарок» в корзине |
Эти компоненты сами читают активные правила-подарки и показывают доступные варианты с прогрессом («до подарка осталось 800 ₽»). В типовых решениях (например, aspro, bitrix:eshop) они уже встроены — проверьте, что компонент подключён на нужных страницах и указан верный тип цены и валюта.
Выбор подарка покупателем
Когда правило предлагает несколько товаров, покупатель отмечает нужный — выбор сохраняется в свойствах позиции корзины. Если товар не выбран явно, поведение зависит от настроек: система может автоматически подставить первый доступный вариант либо не добавлять ничего до явного действия.
Несколько практических нюансов:
- подарок пересчитывается при любом изменении корзины — удалении товара, смене количества, применении купона; если условие перестало выполняться, подарок исчезает;
- для торговых предложений (SKU) в подарок указывайте конкретное предложение, а не родительский товар, иначе покупатель не сможет выбрать размер/цвет;
- количество подарков обычно ограничено одной единицей на заказ — «дать N подарков» настраивается отдельно и требует внимания к остаткам.
Остатки, себестоимость и обмен с 1С
Поскольку подарок — реальная позиция заказа, он влияет на учёт. Ключевые точки контроля:
- Складские остатки. Включённый складской учёт (
catalog) спишет подарок со склада. Если остаток нулевой, правило может не сработать или заблокировать оформление — держите подарочные позиции в наличии; - Обмен с 1С. В выгрузке заказа подарок уходит строкой с нулевой (или символической) ценой. Убедитесь, что учётная система корректно принимает позиции с ценой
0— иначе документ не проведётся; - Себестоимость и отчёты. «Бесплатный» для клиента подарок имеет реальную себестоимость — учитывайте это в марже, чтобы механика не уводила заказы в минус.
Отдельно проверьте совместимость с промокодами: подарок не должен суммироваться с купоном, дающим тот же товар, и не должен мешать бесплатной доставке от суммы.
Типичные ошибки и подводные камни
Чаще всего проблемы возникают не в самой настройке правила, а на стыках:
- Подарок не появляется в корзине. Правило неактивно, не попадает в период действия, не выбран сайт/группа пользователей или условие по сумме считается без учёта уже применённых скидок;
- Появляется несколько подарков. Несколько правил без флага остановки обработки и без приоритетов накладываются друг на друга;
- Цена подарка не обнуляется. Конфликт с другой скидкой на тот же товар или кэш скидок — сбросьте кэш и проверьте порядок применения;
- Тормозит корзина. Большое число активных правил-подарков с тяжёлыми условиями (по разделам, брендам) нагружает пересчёт — выносите условия в свойства и следите за индексами.
Итог
Функционал подарков к заказу в 1С-Битрикс — это правило работы с корзиной с действием «Подарок»: условие определяет, когда выдавать, а компоненты catalog.gift.* и sale.gift.basket показывают подарок и прогресс на витрине. Подарок остаётся реальной позицией заказа, поэтому требует внимания к остаткам, приоритетам скидок и обмену с 1С.
Мы в B2Bsite настраиваем такие механики «под ключ»: собираем правила без конфликтов с накопительными скидками и купонами, выводим подарки в шаблон и проверяем корректность выгрузки заказов в учётную систему. Если акция должна работать предсказуемо и не ломать маржу — поможем спроектировать и внедрить её аккуратно.
Частые вопросы
Где в Битрикс настраиваются подарки к заказу?
В правилах работы с корзиной: в объединённых скидках это раздел «Маркетинг → Скидки», в старом режиме — «Магазин → Настройки → Правила работы с корзиной». Отдельного модуля подарков нет.
Подарок — это отдельная сущность или обычный товар?
Это обычный элемент каталога, который правило добавляет в корзину с обнулённой ценой. Он попадает в заказ, списывается со склада и уходит в обмен с 1С как реальная позиция.
Как дать покупателю выбор из нескольких подарков?
В действии правила укажите несколько товаров — покупатель выберет один из них на витрине или в корзине. Выбор сохраняется в свойствах позиции корзины.
Какими компонентами вывести подарки на сайте?
Используются catalog.gift.main.product на детальной странице, catalog.gift.section в разделе и sale.gift.basket в корзине. Они читают активные правила и показывают доступные подарки.
Почему подарок не добавляется в корзину?
Частые причины: правило неактивно или вне периода действия, не выбраны сайт и группа пользователей, нулевой остаток подарочного товара или условие по сумме считается уже после других скидок.
Как избежать выдачи сразу нескольких подарков?
Задайте правилам приоритеты и включите флаг остановки дальнейшей обработки, чтобы после срабатывания одного правила-подарка другие не применялись.
Влияет ли подарок на обмен с 1С?
Да, подарок выгружается строкой заказа с нулевой или символической ценой. Убедитесь, что учётная система корректно принимает позиции с ценой 0, иначе документ не проведётся.
Можно ли выдать в подарок торговое предложение (SKU)?
Да, но в действии правила нужно указывать конкретное предложение, а не родительский товар, иначе покупатель не сможет выбрать нужный вариант размера или цвета.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.