Готовые решения для 1С-Битрикс
Карточка решения
База знаний по решению:
Расширение правил ограничений доставок и оплат

Все часто задаваемые вопросы по решению: Расширение правил ограничений доставок и оплат

Настройка правил ограничений

По группе пользователя

Видео-инструкция по настройке правила ограничений по группе пользователя:


По дню недели

Видео-инструкция по настройке правила ограничений по дню недели:


По доменному имени сайта

Видео-инструкция по настройке правила ограничений по доменному имени сайта:

По произвольной PHP-функции

Исключение по произвольной PHP-функции это программируемый тип исключения - для его реализации потребуется помощь вашего разработчика. Данный тип исключений используется в случаях когда нужно отключить определенный способ оплаты или доставки нужно по сложному нетиповому сценарию.

Как использовать?

1. В init.php добавляем функцию которую будет выполнять правило для проверки необходимости вывода службы с установленным ограничением

class callableResriction { public static function callableRestrictionFunctions($params){ // $params - массив с входящей информацией о текущем оформляемом заказе // $params['orderItems'] - массив id товаров в оформляемом заказе // $params['order'] - объект заказа if(intval(date('H')) > 20){ // Не показывать службу если время позднее 8 часов вечера return 0; } return 1; } }

Это очень простой пример - тут проверяется текущее время, если время больше 20 часов - служба скрывается.

2. В службе доставки или оплаты создаём ограничение по произвольной php-функции. В параметре "Вызываемая функция" указываем название функции которую вы добавили в init.php в формате

callableResriction::callableRestrictionFunctions

php-resr.png

3. Дорабатываем необходимые проверки и условия в функции. Если элемент нужно вывести функция должна вернуть 1, если элемент нужно скрыть - 0. Функция имеет 1 входной параметр $params в ключах которого будет дополнительная информация для удобства (на момент написания заметки, ключа два - orderItems и order)