- Применить скидку из свойства заказа
- Применить скидку из свойства элемента корзины
Создайте свойство заказа с типом данных «Число». Установите флаг «Служебное», если свойство заполняете сами на событии заказа. В противном случае, оно будет отображаться в форме оформления заказа, и пользователь сможет самостоятельно указать скидку.

Добавьте правило работы с корзиной, заполнив стандартные настройки (название, приоритеты и прочее).

Добавьте действие «Intensa: Применить скидку из свойства заказа».

Укажите тип расчета скидки из списка:
- % — в свойство записывается процент скидки на корзину заказа (указав «не более» можно ограничить максимальную скидку в количественном выражении),
- RUB на общую сумму товаров — в свойство записывается фиксированная скидка на корзину заказа,
- RUB на каждый товар — в свойство записывается фиксированная скидка за каждый товар в корзине.

После создания правила, реализуйте заполнение свойства в форме оформления заказа или на событие компонента sale.order.ajax.
В случае, когда свойство заполняется непосредственно пользователем в форме оформления заказа, для применения скидки необходимо вызвать пересчет заказа BX.Sale.OrderAjaxComponent.sendRequest(). Не забывайте валидировать вводимые значения.
В случае, когда свойство заполняется на событии заказа (рекомендованное OnSaleComponentOrderCreated), не забывайте передавать $arUserResult['CALCULATE_PAYMENT'] = 'Y'.
Пример для события в init.phpДобавляем событие и задаем значение 399, чтобы проверить скидку.
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleComponentOrderCreated', (static function(\Bitrix\Sale\Order $order, &$arUserResult, \Bitrix\Main\HttpRequest $request, &$arParams, &$arResult) { $propertyCollection = $order->getPropertyCollection(); $property = $propertyCollection->getItemByOrderPropertyCode('BONUSES'); if (! $property instanceof \Bitrix\Sale\PropertyValueBase) { return; } $property->setValue(399); $arUserResult['CALCULATE_PAYMENT'] = 'Y'; }) ); |
Добавляем товар в корзину и оформляем заказ.

Смотрим заказ в административной части.

Скидка применена, все работает!
Поддержка (вопросы, ошибки, идеи) осуществляется по электронной почте info@conversite.ru
Режим работы: 09:00-18:00 по московскому времени.
Время реакции на обращение: 48 часов.
Выходные дни: суббота и воскресенье.
Закажите любой модуль у нас на сайте с бесплатной установкой и гарантией 14 дней
Мы работаем с физическими и юридическими лицами. И предоставляем сразу два варианта оплаты.
- Наличные. Вы подписываете товаросопроводительные документы, расплачиваетесь денежными средствами, получаете товар и чек.
- Безналичный расчет. Принимаем карты Visa и MasterCard. Доступен при курьерской доставке.
Ваш заказ можем доставить собственными ресурсами, при условии вашего нахождения в городе. Либо через 4 варианта доставки:
- Курьерская доставка. Курьерская доставка работает с 9:00 до 19:00. Когда товар поступит на склад, курьерская служба свяжется для уточнения деталей. Специалист предложит выбрать удобное время доставки и уточнит адрес.
- Самовывоз из магазина. Для получения заказа обратитесь к сотруднику в кассовой зоне и назовите номер.
- Сотрудничаем с постаматами. Срок хранения — 3 дня.
- Предоставляем почтовую доставку через почту России. Когда заказ придет в отделение, на ваш адрес придет извещение о посылке. Вскрывать коробку самостоятельно вы можете только после оплаты заказа.
Дополнительная вкладка для размещения информации о товарах, доставке или любого другого важного контента. Поможет вам ответить на интересующие покупателя вопросы и развеять его сомнения в покупке. Используйте её по своему усмотрению.
Вы можете убрать её или вернуть обратно, изменив одну галочку в настройках компонента. Очень удобно.
- Комментарии
- ВКонтакте