Вы рассчитываете индивидуальные скидки для своих клиентов. Когда клиентов немного и возможно держать в голове каждого из них — процесс идет налажено. Но, когда клиентов становится больше, становится невозможно запомнить размер скидки каждого из них. Функция Бипиума исключает влияние человеческого фактора и автоматизирует процесс расчета и начисления индивидуальных скидок.
Принцип работы
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bb670952f4aa4225a0_lpE_TCEm0bqbJ2-e63JWGF5mXAb6qxKHYXrOhxUyjID0a_No6TsGUqdEt9glI6sZyYj6Xrj-7FNuMGN3eZBX9HjqBcTpgT5pDun38S0p1pNbt96O0o6QsUp0tyPWvs5eEHIpTV3GrNkiVwhEhIAl7CoZxX_qbQapS0gxsfDgSVLht5utB6mbvnFGx9Nyjw.png)
Принцип работы основан на каталоге с правилами скидок для каждого клиента. При сохранении записи в каталоге «Покупки» («Заказы») сценарий рассчитывает итоговую сумму заказа с учетом и без учета персональной скидки. Если в каталоге с правилами скидок есть персональная скидка для выбранного клиента, то итоговая сумма снижается на величину скидки.
Реализация
Создание каталогов
Дальнейшее описание подразумевает то, что у вас уже есть каталог с вашими клиентами. Если его еще нет – создайте каталог «Клиенты» и заполните его произвольным образом.
Каталог с правилами скидок
Создайте каталог «Правила скидок». В нём будут храниться проценты скидок по каждому клиенту.
Структуры каталога «Правила скидок»:
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bb7991057d8096a019_W-HgY0mCldV41d-5B5wQTzZDdzGceQr_1jUSiJ0S-cLmKFEWdCLnin2-cH8lgH2xtT9aIlXL-kXwHGaR1F_B4WwMe5mRhRJDTHaXks_YPj9vjRq10WVxrXQKLZWwhPsARZGfHSkHf1TB0Ioc8202eoRTqwLQYOYVnSgxJks9dTDBAnCRP2BfRb0PZSITmw.png)
- Клиент (связанный каталог)
Описание: Клиент, для которого будет указана скидка.
Настройки: связанный каталог «Клиенты», обязательное поле.
- Скидка (число)
Описание: Величина скидки в процентах.
Настройки: Обязательное поле.
Каталог с товарами
Создайте каталог «Товары». В этом каталоге фиксируются наименование товара и его стоимость. При необходимости можете добавить в него другие произвольные поля.
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bb33ad3e9517997e58_UfFlqLGYs_p-eeVuuqQRzi80s9np_cqAgaoeuvrJ3h8XkX_aPj_-7sdXUVwWnKYhxqIK-AFwCa4SwS2-p2fbhcZ1ZlKB6j35JjeSEnhzH6q25QsI4wRXxuAlrnHj8ZFVY4EPccxWUILQOzn7OpoGZKyFFs6VEo7Kt1soTLinNCl-T7iMZXlUej8KC7YKNQ.png)
- Наименование (текст)
Описание: Наименование товара.
Настройки: текст, обязательное поле.
- Стоимость (число)
Описание: Стоимость за 1 единицу товара.
Настройки: обязательное поле.
Каталог с количеством товаров
Создайте каталог «Товары и количество». В этом каталоге указывается товар и его количество. Каталог является связующим между каталогами «Товары» и «Заказы» (описан ниже). Заполните каталог следующими полями:
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bbcbe18ff008d91a79_xQVFa4KKqqasl8kIZtg53w7yS6uUeMa-7pUv94J7JfZzaDZ-g-QfgEiayWkk6n5XSVkEQoFB8NPLQ5pQAJPevpWjZaLPpfu_X519pj3l7OL2U5SxeIFEhaBrmXO5vE_XoQGGw956PTChWSbZ0jyLR2MGEZfIs_Y67ne9vrDq7DLjgCPfRAZmHYV0ICfjNA.png)
- Товар (связанный каталог)
Описание: Поле для выбора товара.
Настройки: Связь с каталогом «Товары», обязательное поле.
- Количество (число)
Описание: Количество заказываемого товара.
Настройки: Обязательное поле.
Каталог с заказами
Создайте каталог «Заказы». В этом каталоге будет собрана информация о всех заказах клиентов. Заполните каталог следующими полями:
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bb8ec7276b194dde3d_iFEW_I3QcKvuWTgVAh7ilVKIsMTmGWUurgOx-X-AQJLJKqXJGIhV2_9lnhcIXX2uXg4l1jziYwEuVRb1wi4IcouoGzmRCImq0IpJwX2qEuxxrxpnTPuuYUzUdoXOFEsW8iwgH_91Xs_AHkico9gmgrfkt953qa4iDJWqIW37QInLZDEoLwvv1CeKT1aslA.png)
- Клиент (связанный каталог)
Описание: Клиент, оформляющий заказ.
Настройки: Связанный каталог «Клиенты», обязательное поле.
- Товары (связанный каталог)
Описание: Приобретаемый товар.
Настройки:
- Связанный каталог «Товары и количество».
- Можно связывать несколько записей.
- Снимите «галочку» с «Можно выбирать из существующих».
- Поставьте «галочку» на «Создание без всплывающего окна».
- В «Поля» выберите «Товар» и «Количество», доступ – «изменять».
- Обязательное поле.
- Количество (число)
Описание: Количество приобретаемого товара.
Настройки: Обязательное поле
- Сумма (число)
Описание: Сумма без учета скидки.
Настройки: Редактируемое только через API
- Сумма (со скидкой) (число)
Описание: сумма с учетом скидки.
Настройки: Редактируемое только через API
Событие для запуска расчета
Для запуска сценария расчета суммы заказа используются событие с типами «Запрос на создание записи» и «Запрос на изменение записи». Это событие отслеживает сохранение записи при изменении значений полей, которые участвуют в расчете.
Пример события:
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bbc492cb81d1ed09e1_FJGpHu6tOgZ3B7n9AXioSEb9PQ9oJGKx2X7cPAfV3FdoLlMXPAZYeYzN9mGV3mcTmRDl4MJtmC3FLbadvAUqkJu-ZmS8B4Lu2xygJddLRqaEyzDmiXcmHvn3SfR3tT_eHmWl5W3P5xZ9uYxJAqbAYgeRE4KFx22PIKPk48VgHJaH5ahWrDBNIvMcZx64uA.png)
При изменении полей «Клиент» или «Товары» в записи «Заказа» событие запускает сценарий расчета сумм для клиента. Прикрепите файл сценария в поле «Выполнить» созданного события.
Сценарий расчета сумм для клиента
Сценарий расчета сумм для клиента выглядит следующим образом:
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bb8cfe910f2dae1f08_lvictNIPEZiF-4L6kSU-JduDBwIgyTQwKiLa3vpfnZZSgjEv6LfNQBFZKqFDSbXE1c_GHXsM9lR9EDR8zkSP4E2ymsHSBnwvd63xJKLr6VsrY_ASIobypmj7uTvBOamcU3MbI3g0K8_alKjUGHsRWC5MHNILtKHW0-iYNEz986Mf2nSsIuBnTgP2QLYC.png)
Сценарий выполняет:
- Проверку на заполненность полей «Клиент» и «Товар».
- Поиск индивидуальной скидки для клиента в каталоге «Правила скидок».
- Подсчет полной суммы заказа в цикле.
- Подсчет суммы заказа с учетом скидки.
- Запись в карточку заказа полной суммы и суммы с учетом скидки.
В сценарии необходимо изменить выделенные компоненты:
- params. Замените id полей в объекте «fields» согласно описанию компонента.
Тестирование
Создайте новые записи в каталогах «Клиенты», «Правила скидок», «Товары».
В каталоге «Заказы» выберите клиента (с правилом скидки), добавьте товары и укажите их количество. Если все сделано верно, то при сохранении записи поля «Сумма» и «Сумма (со скидкой)» автоматически заполнятся.
![](https://cdn.prod.website-files.com/63457bdec59a41792504b512/63a429bcc97e6ad2ac17a3d4_gBbg9yuILQ2OuEjGCeevyQNvrQUdy-1rSP__3bjK0WmjkJOj8pYBB7e0uv8nNnEXTFBPTS2Q8I-3aNIQRPxC9sPPKMm_7b-YhMeaV5WnEOm3C_7uDSwhiizUqEu2XBtSPMdPzJ_h9fIPGJ1Onvdpq-H6mQz5UXGrfhvbXgNFZNgEehFMJhgIHP8q_uq5NQ.png)