Накопительная скидка — это процент, который растёт вместе с суммой покупок клиента, а страница накопительных скидок в личном кабинете показывает ему текущий уровень и сколько осталось до следующего. Механизм живёт в модуле sale: сумма накапливается по заказам с нужным статусом, а компонент ЛК лишь отображает результат расчёта. Разберём, как это устроено и где обычно расходятся ожидания.
Что показывает страница и что такое накопительная скидка
Накопительная скидка (в терминах Битрикса — дисконтная, зависящая от суммы покупок) отличается от обычной скидки на товар или от купона тем, что её размер привязан не к конкретному заказу, а к накопленной сумме покупок клиента. Чем больше человек купил за всё время (или за период), тем выше процент, который автоматически применяется к его корзине.
Страница накопительных скидок в личном кабинете — это витрина этого механизма для покупателя. На ней выводятся, как правило, три вещи:
- Текущая накопленная сумма — сколько клиент уже потратил в учитываемой валюте.
- Действующий процент скидки — уровень, который применяется к его заказам сейчас.
- Порог следующего уровня — сколько нужно докупить, чтобы процент вырос (если шкала многоуровневая).
sale по правилам накопительных скидок и накопленной сумме пользователя. Логику ищите в настройках скидок и модуля, а не в компоненте ЛК.Как накапливается сумма и считается процент
Ключевое понятие здесь — накопленная сумма покупок. Битрикс хранит её для каждого пользователя и увеличивает по мере оформления заказов. Важно, что сумма учитывается не в момент создания заказа, а когда заказ достигает определённого статуса (например, «Выполнен» или «Оплачен») — это настраивается отдельно.
Расчёт процента идёт по шкале порогов. Вы задаёте диапазоны сумм и соответствующие им проценты, например:
| Накоплено покупок | Процент скидки |
|---|---|
| до 10 000 ₽ | 0% |
| от 10 000 ₽ | 3% |
| от 50 000 ₽ | 5% |
| от 150 000 ₽ | 7% |
Когда клиент собирает корзину, модуль sale смотрит его накопленную сумму, определяет уровень по шкале и применяет процент. Накопительная скидка при этом участвует в общей логике скидок: важно, как она складывается или конкурирует с товарными скидками, купонами и правилами корзины — по умолчанию действует принцип «применяется наибольшая», если не настроено суммирование.
Настройка накопительных скидок в админке
Настраиваются накопительные скидки в разделе Магазин → Скидки (в старых версиях — отдельный пункт «Накопительные скидки»). Скидка привязывается к:
- Группе пользователей — разные пороги и проценты можно задать для розницы, опта, VIP-клиентов.
- Сайту — если проект многосайтовый, шкала своя для каждого сайта.
- Валюте — накопленная сумма и пороги считаются в конкретной валюте; при мультивалютности это критично.
- Периоду действия — скидку можно ограничить датами или сделать бессрочной.
В современных версиях платформы накопительная скидка реализуется через движок правил работы с корзиной: создаётся правило со условием на накопленную сумму покупок и действием «скидка на корзину N%». Это гибче старой дисконтной системы, потому что позволяет комбинировать условие накопления с другими (категория товара, способ доставки, промежуток дат).
Какой статус учитывается и где хранится сумма
Самый частый вопрос — с какого момента заказ увеличивает накопленную сумму. За это отвечает настройка статуса в параметрах модуля sale: Магазин → Настройки → Настройки модуля. Там указывается статус, начиная с которого сумма заказа идёт в накопление. Логика простая: пока заказ не «дозрел» до этого статуса, он на скидку клиента не влияет.
Из этого следуют важные практические выводы:
- Брошенные и неоплаченные заказы не считаются — если учитывается статус «Оплачен» или «Выполнен», черновики и отменённые заказы в сумму не попадают.
- Смена статуса меняет накопление — при переводе заказа в учитываемый статус сумма клиента растёт, при откате может пересчитаться в обратную сторону.
- Накопленную сумму можно править вручную — в карточке пользователя в админке есть данные покупателя по магазину, где значение при необходимости корректируется (например, при переносе истории покупок из старой системы).
Отдельно учитывайте валюту и возвраты: суммы в разных валютах не смешиваются автоматически, а полный возврат заказа должен уменьшать накопление, иначе клиент сохранит незаслуженный уровень.
Вывод страницы в личном кабинете
Страница накопительных скидок — часть комплексного компонента личного кабинета bitrix:sale.personal.section. Он маршрутизирует SEF-пути вида /personal/ по внутренним страницам: заказы, персональные данные, профили, подписки, внутренний счёт и, среди прочего, накопительные скидки.
На практике вывод настраивается двумя способами:
- Через комплексный компонент — если в шаблоне ЛК соответствующая страница включена, ссылка на накопительные скидки появляется в меню кабинета автоматически, а данные подтягиваются из накопленной суммы текущего пользователя.
- Отдельным блоком — на любой странице можно вывести текущий уровень клиента, обратившись к его накопленной сумме и правилам скидок через API модуля
sale. Так делают, когда нужен нетиповой дизайн шкалы или прогресс-бар до следующего уровня.
Старая дисконтная система и новые правила корзины
Понимание, каким именно механизмом реализована накопительная скидка на конкретном проекте, экономит часы отладки. Кратко о различиях:
| Критерий | Старая дисконтная система | Правила работы с корзиной |
|---|---|---|
| Где настраивается | Отдельный список накопительных скидок | Магазин → Скидки, условие на накопленную сумму |
| Гибкость условий | Только порог суммы + группа | Комбинация условий (сумма, товар, доставка, даты) |
| Комбинирование | Ограниченное | Настраиваемый порядок и приоритет правил |
| Актуальность | Legacy, для старых проектов | Рекомендуемый способ в новых версиях |
Если проект давно на поддержке, велика вероятность, что накопительная скидка держится на старой дисконтной системе, а страница ЛК читает именно её накопленную сумму. При миграции на новый движок скидок эту логику нужно перенести осознанно, сверив пороги и проверив, что накопленная сумма продолжает учитываться корректно.
Типовые проблемы и как их проверить
Когда покупатель жалуется «скидка не та» или «страница пустая», разбор идёт по цепочке: накопленная сумма → шкала → применение в корзине → отображение.
- Скидка не растёт. Проверьте статус учёта заказов в настройках модуля: если он выставлен на «Выполнен», а заказы застревают в «Оплачен», сумма не накапливается.
- Процент не применяется в корзине. Скорее всего клиент не в той группе пользователей, к которой привязана скидка, или скидка ограничена сайтом/датами.
- Задвоение процента. Одновременно активны старая дисконтная скидка и правило корзины по накоплению — отключите один из механизмов.
- Страница пустая или с нулём. Гостевой доступ, отключённая страница в компоненте ЛК или отсутствие накопленной суммы у нового клиента.
- Расхождение при мультивалютности. Пороги заданы в одной валюте, а заказы — в другой; суммы не смешиваются автоматически.
Удобно держать тестового пользователя и прогонять сценарий: оформить заказ → перевести в учитываемый статус → убедиться, что накопленная сумма выросла → открыть страницу ЛК и сверить уровень с ожидаемым по шкале.
Итог
Страница накопительных скидок в личном кабинете 1С-Битрикс — это отображение работы модуля sale, а не отдельная логика. Всё держится на трёх настройках: шкала порогов и процентов, группа пользователей и валюта, а также статус заказа, с которого сумма идёт в накопление. Сама страница живёт в комплексном компоненте bitrix:sale.personal.section и показывает авторизованному клиенту его текущий уровень. Главное — не смешивать старую дисконтную систему с новыми правилами корзины и следить за учётом валюты и возвратов.
Мы в B2Bsite настраиваем накопительные скидки под реальную бизнес-логику, переносим шкалы со старой дисконтной системы на правила работы с корзиной, дорабатываем витрину уровня в ЛК (прогресс до следующего порога) и разбираем расхождения по накопленной сумме. Если нужен нетиповой сценарий начисления или интеграция накопления с данными из 1С — поможем спроектировать и внедрить.
Частые вопросы
Чем накопительная скидка отличается от обычной скидки на товар?
Обычная скидка привязана к товару или заказу, а накопительная зависит от суммы всех покупок клиента за время. Чем больше человек потратил, тем выше процент, который автоматически применяется к его корзине.
С какого момента заказ увеличивает накопленную сумму?
Сумма учитывается не при создании заказа, а когда он достигает статуса, заданного в настройках модуля sale. Обычно это «Оплачен» или «Выполнен», поэтому черновики и отменённые заказы в накопление не попадают.
Где хранится накопленная сумма покупателя?
Она хранится в данных пользователя по магазину и увеличивается модулем sale по мере оформления заказов в учитываемом статусе. При необходимости значение можно скорректировать вручную в карточке пользователя в админке.
Почему процент скидки не применяется в корзине?
Чаще всего клиент не входит в группу пользователей, к которой привязана накопительная скидка, либо скидка ограничена сайтом или датами. Также стоит проверить, достигла ли накопленная сумма нужного порога.
Каким компонентом выводится страница в личном кабинете?
Страница входит в комплексный компонент bitrix:sale.personal.section, который маршрутизирует SEF-страницы ЛК. Данные подтягиваются из накопленной суммы текущего авторизованного пользователя.
Можно ли комбинировать накопительную скидку с купонами и товарными скидками?
Да, но поведение зависит от настройки: по умолчанию применяется наибольшая скидка, а суммирование задаётся отдельно. В новых версиях это управляется приоритетом и порядком правил работы с корзиной.
Как реализовать накопительную скидку в новых версиях Битрикса?
Через правила работы с корзиной: создаётся правило с условием на накопленную сумму покупок и действием «скидка на корзину N%». Это гибче старой дисконтной системы и позволяет комбинировать условия.
Почему у одного клиента процент задвоился?
Скорее всего на проекте одновременно активны старая дисконтная накопительная скидка и новое правило корзины по накопленной сумме. Нужно оставить один механизм, а второй отключить.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.