Вы рассчитываете индивидуальные скидки для своих клиентов. Когда клиентов немного и возможно держать в голове каждого из них — процесс идет налажено. Но, когда клиентов становится больше, становится невозможно запомнить размер скидки каждого из них. Функция Бипиума исключает влияние человеческого фактора и автоматизирует процесс расчета и начисления индивидуальных скидок.
Принцип работы
Принцип работы основан на каталоге с правилами скидок для каждого клиента. При сохранении записи в каталоге «Покупки» («Заказы») сценарий рассчитывает итоговую сумму заказа с учетом и без учета персональной скидки. Если в каталоге с правилами скидок есть персональная скидка для выбранного клиента, то итоговая сумма снижается на величину скидки.
Реализация
Создание каталогов
Дальнейшее описание подразумевает то, что у вас уже есть каталог с вашими клиентами. Если его еще нет – создайте каталог «Клиенты» и заполните его произвольным образом.
Каталог с правилами скидок
Создайте каталог «Правила скидок». В нём будут храниться проценты скидок по каждому клиенту.
Структуры каталога «Правила скидок»:
- Клиент (связанный каталог)
Описание: Клиент, для которого будет указана скидка.
Настройки: связанный каталог «Клиенты», обязательное поле.
- Скидка (число)
Описание: Величина скидки в процентах.
Настройки: Обязательное поле.
Каталог с товарами
Создайте каталог «Товары». В этом каталоге фиксируются наименование товара и его стоимость. При необходимости можете добавить в него другие произвольные поля.
- Наименование (текст)
Описание: Наименование товара.
Настройки: текст, обязательное поле.
- Стоимость (число)
Описание: Стоимость за 1 единицу товара.
Настройки: обязательное поле.
Каталог с количеством товаров
Создайте каталог «Товары и количество». В этом каталоге указывается товар и его количество. Каталог является связующим между каталогами «Товары» и «Заказы» (описан ниже). Заполните каталог следующими полями:
- Товар (связанный каталог)
Описание: Поле для выбора товара.
Настройки: Связь с каталогом «Товары», обязательное поле.
- Количество (число)
Описание: Количество заказываемого товара.
Настройки: Обязательное поле.
Каталог с заказами
Создайте каталог «Заказы». В этом каталоге будет собрана информация о всех заказах клиентов. Заполните каталог следующими полями:
- Клиент (связанный каталог)
Описание: Клиент, оформляющий заказ.
Настройки: Связанный каталог «Клиенты», обязательное поле.
- Товары (связанный каталог)
Описание: Приобретаемый товар.
Настройки:
- Связанный каталог «Товары и количество».
- Можно связывать несколько записей.
- Снимите «галочку» с «Можно выбирать из существующих».
- Поставьте «галочку» на «Создание без всплывающего окна».
- В «Поля» выберите «Товар» и «Количество», доступ – «изменять».
- Обязательное поле.
- Количество (число)
Описание: Количество приобретаемого товара.
Настройки: Обязательное поле
- Сумма (число)
Описание: Сумма без учета скидки.
Настройки: Редактируемое только через API
- Сумма (со скидкой) (число)
Описание: сумма с учетом скидки.
Настройки: Редактируемое только через API
Событие для запуска расчета
Для запуска сценария расчета суммы заказа используются событие с типами «Запрос на создание записи» и «Запрос на изменение записи». Это событие отслеживает сохранение записи при изменении значений полей, которые участвуют в расчете.
Пример события:
При изменении полей «Клиент» или «Товары» в записи «Заказа» событие запускает сценарий расчета сумм для клиента. Прикрепите файл сценария в поле «Выполнить» созданного события.
Сценарий расчета сумм для клиента
Сценарий расчета сумм для клиента выглядит следующим образом:
Сценарий выполняет:
- Проверку на заполненность полей «Клиент» и «Товар».
- Поиск индивидуальной скидки для клиента в каталоге «Правила скидок».
- Подсчет полной суммы заказа в цикле.
- Подсчет суммы заказа с учетом скидки.
- Запись в карточку заказа полной суммы и суммы с учетом скидки.
В сценарии необходимо изменить выделенные компоненты:
- params. Замените id полей в объекте «fields» согласно описанию компонента.
Тестирование
Создайте новые записи в каталогах «Клиенты», «Правила скидок», «Товары».
В каталоге «Заказы» выберите клиента (с правилом скидки), добавьте товары и укажите их количество. Если все сделано верно, то при сохранении записи поля «Сумма» и «Сумма (со скидкой)» автоматически заполнятся.