Заказать проект
Оставьте заявку для получения коммерческого предложения.
Заполните форму и мы вышлем Вам предложение в котором решим,
чем можем вам помочь.
 Интеграция скидок и купонов интернет магазина с 1С

Интеграция скидок и купонов интернет магазина с 1С

26 Марта 2018
Сергей Побережный
Middle back end developer
Сергей  Побережный
следующая статья

Во время создания интернет-магазина встречается ситуация, когда клиент имеет готовую базу товаров в 1С. И в новом проекте он хочет ее сохранить, чтобы не переучивать свой контент-персонал заполнять и вести учет в Битриксе. В стандартном функционале предусмотрена интеграция базы товаров и обмена заказами. В большинстве случаев ее настройка не занимает много времени.

И тут ваш заказчик говорит, что планирует ввести на своем сайте скидки на товары либо промокоды. Причем, управлять всем этим делом он хочет из 1С! Грубо говоря, всё товарное управление должно вестись из одной входящей точки. Но есть одно но: базовый функционал Битрикса не позволяет работать со скидками в формате 1С.  В данной статье я приведу пример кастомной интеграции скидок и купонов для управления ими через 1С (создание/изменение/удаление).

 Для начала поговорим про скидки. Идея заключается в том, что менеджер в 1С создает запись, в которой указывает товары, либо категории товаров, величину скидки и период ее действия. После сохранения, данные передаются на сайт и скидка в системе создается автоматически. Аналогичные действия происходят, когда запись скидки в 1С редактируется либо удаляется. Логика построена следующим образом. При создании скидки в 1С на сайт в Highload блок, например «ASkidkiDlyaSayta», приходит запись скидки. Или если скидка обновилась, то обновляется соответствующая запись в блоке. На входе мы имеем такие данные: ID скидки (для обновления/удаления), период действия, процент скидки, ID товаров и групп подпадающих под действие скидки.


             Рис. 1 – запись скидки в Highload блоке

После этого срабатывает одно из событий в зависимости от типа действия (создание/обновление/удаление).

https://lh4.googleusercontent.com/GADaucbK9jTIAvPoZiMeRcYFYui2Ow3_-EoHSVLqY_VZ1_gV1YuY4FqtAMs555hUFUQx9Gx8VMVk9VRiSgxIHD26Oes6f-0lXUn311kftBphAytnY2frh23UI5i9U2cCfz1KVzQeqWdCt_DLhA
Рис. 2 – обработчики событий

В обработчике собирается массив скидки, который соответственно передается в 1 из методов класса CCatalogDiscount (Add, Update, Delete) рисунки 3,4,5.


          Рис. 3- добавление скидки

https://lh4.googleusercontent.com/NUACgD8xbDwaGRmVb3iLwzg4m0lptoJgO5fiFB0kzKHW7CASH9vj-5Pz1WaUQxznJ37rwI89_CjRlvy-5lFguCOOls6ikRvatFC-jaM5zsMbGLXpUy6PJp8k-se2kbYHQ5Rs8Xx7R4KM3M-UlQ
                  Рис. 4 – обновление скидки

https://lh4.googleusercontent.com/n_KqIc6MvrxuH_GA6ivAXQD3O_5rMxUqnM3TkMcbbOZPzyGLPNCJUMcw1D8DOvZYk4M9hpuowHn7vcolOL9Pgd6SUvUHNwAdjuKTfYdQbq4ol55glBgudcFwkuUMFvbmNJLrE5hKFau72CyRaw
              Рис. 5 – удаление скидки

Далее поговорим о купонах. Основа логики динамической генерации купонов построена так же, как и на скидках. Из 1С в Highload блок, например «APromoKodyDlyaSayta», приходят записи с данными о том, на какие товары и купоны необходимо генерировать. На входе мы получаем следующий набор данных: ID записи из 1С, срок действия купона, процент скидки, ID товаров и групп, тип купона (одноразовый или многоразовый), а также, количество использований купона (если многоразовый).


                 Рис. 6 - запись купона в Highload блоке

Генерация проходит в 2 этапа. Сначала генерируется правило работы с корзиной. В нем указывается процент скидки и товары (либо группа товаров), к которым ее применить. В зависимости от вида действия (добавление/изменение/удаление) вызывается соответствующий метод класса CSaleDiscount (Add/Update/Delete). После создания правила необходимо создать сам купон, который будет к нему привязан. Для добавления купона, используем класс DiscountCouponTable. В параметрах мы указываем период действия, ID правила работы с корзиной, которое применяется при активации купона, тип купона (одноразовый/многоразовый). Также,  код самого купона и количество его использований в случае, когда необходимо ограничить многоразовое применение.

https://lh4.googleusercontent.com/fOtg_NVaVh8LHRgeAVflnbAI_x3zQGxWPM76CRnIxOQ9DDsxpws5u68BlL0rEMULWWsEnScxdjyN0HMwWXDKbAYDPS_VSBz9Non8UpaLPrx-K4mj-XpUyqHYXtqltCpMaVQK6h0xR7i9MKTFZw
               Рис. 7 – создание купона

Таким образом, мы автоматизировали процесс управления скидками и купонами на сайте, исключив лишнюю входную точку. Упростили задачу для менеджеров, которые будут заниматься товарным управлением сайта. И самое главное – выполнили задачу клиента и сохранили базу 1С. Теперь персонал заказчика будет доволен, ведь никто не будет тратить время на создания скидок и купонов вручную:) 


Need help?

Ask a question.

Chat Now
Записаться На Консультацию
Записаться На Консультацию
Мы свяжемся
с вами
в течении
10 минут
laptop
Мы свяжемся с вами в течении 10 минут