"Оцифровка" бизнес-процессов.

   
     +7 (910) 778-05-31, romanb@nxt.ru
Коснитесь для звонка

Настройка компонента «C этим товаром покупают»

Часто компонент "C этим товаром покупают" отказывается работать в связи с тем, что заказы не переводятся в статус доставленых, выполненых("Y") и т.п.

Как функционирует компонент(ответ саппорта):

Для корректного функционирования этого компонента необходимо: 

1. Чтобы в настройках модуля Интернет-магазин была указана опция "Генерировать список также продаваемых продуктов" и указан период регенерации 
2. В настройках компонента sale.recommended.products указано, сколько раз товары должны будут быть куплены вместе в одном заказе, чтобы вывелся этот блок 
3. Заказы должны быть в статусе оплачены и доставлены 

Агент, выполняющийся с заданым временным циклом периодически поглядывает в таблицу заказов и заполняет таблицу b_sale_product2product, из которой по идее и беруться товары.

Так вот, если заказ принят и обработан, но на сайте это никак не отмечается(частенько бывает, если есть бэк-офис на 1С:Предприятие), то и в таблицу b_sale_product2product он не попадет. 

Как решить…

Можно конечно проставлять статусы каждому заказу, но проще отредактировать запрос, который находится в файле "/bitrix/modules/sale/general/product.php".

"INSERT INTO b_sale_product2product (PRODUCT_ID, PARENT_PRODUCT_ID, CNT)
            select b.PRODUCT_ID as PRODUCT_ID, b1.PRODUCT_ID as PARENT_PRODUCT_ID, COUNT(b1.PRODUCT_ID) as CNT
            from b_sale_basket b
            left join b_sale_basket b1 on (b.ORDER_ID = b1.ORDER_ID)
            inner join b_sale_order o on (o.ID = b.ORDER_ID)
            where
                o.ALLOW_DELIVERY = 'Y'
                AND b.ID <> b1.ID
            GROUP BY b.PRODUCT_ID, b1.PRODUCT_ID"

Нужно просто удалить "o.ALLOW_DELIVERY = 'Y' AND" и заказы будут попадать независимо от статуса.

Один Комментарий на данный момент.

  1. Чтоб сформировалась таблица , принудительно вызовите выполнение агента 

    \CSaleProduct::RefreshProductList()

    Там по дефолту стоит 345600сек, ждать придется долго в режиме разработки и не понимать в чем дело и почему не работает

Добавить комментарий для Егор Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *