Правила переноса товаров

Правила переноса позволяют автоматически перемещать товары из одной категории в другую в пределах одного сайта. Правила применяются в порядке возрастания приоритета (чем меньше число, тем выше приоритет). Все товары, соответствующие условию фильтрации, будут перенесены в целевую категорию. Это нужно для того, чтобы не сидеть и вручную распределять новые и не очень товары в нужные категории и тратить кучу времени, а делать это без участия человека. Логика основана на довольно жесткой фильтрации товаров с помощью SQL подобных запросов, так как данные обычно выглядят так себе и даже человеку не всегда удается сразу понять, что там появилось.

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

Добавление правила переноса товаров

При добавлении правила выбирается Категория-источник, из которой товары будут перенесены и Целевая категория, в которую буду перенесены товары. Если вы не уверены в правильности записи запроса, снимайте опцию Активно для проверки товаров, которые попадают под правило. Если в поле Условие фильтрации пусто, то будет перенесены все товары из указанной категории. После сохранения правила будут доступны кнопки:

Кнопки предпросмотра списка товаров

Предпросмотр товаров - нажмите для просмотра списка товаров, которые попадают под действие правила, после того как вы убедитесь в том, что условие фильтрации написано правильно, активируйте правило.

Предпросмотр товаров

Поля, доступные в условиях

Поля товара

name - название товара
supplier_code - артикул поставщика
manufacturer_code - артикул производителя
model - модель
price - цена
availability - наличие (true/false)
stock - остаток на складе
unit - единица измерения
brand__name - название бренда (через двойное подчеркивание)
category__name - название категории
description - описание
completeness - комплектация
barcode_ean13 - штрихкод EAN-13
weight_kg - вес в кг
length_mm, width_mm, height_mm - габариты
is_active - активность товара (true/false)

Поля характеристик

specification_original_name - оригинальное название характеристики (как в прайс-листе)
specification_canonical_name - каноническое название характеристики (после ручной обработки)
specification_value - значение характеристики (ищет и в каноническом, и в оригинальном)
specification_canonical_value - только каноническое значение характеристики
specification_raw_value - только оригинальное значение характеристики

Поля из прайс-листов

price_list_category - категория товара в прайс-листе

Поддерживаемые операторы

ОператорОписаниеПример
LIKEПоиск по шаблонуname LIKE "%дрель%"
NOT LIKEИсключение по шаблонуname NOT LIKE "%аккум%"
=Равенствоbrand__name = "Makita"
!=Не равноavailability != false
>Большеprice > 10000
<Меньшеstock < 5
>=Больше или равноweight_kg >= 2.5
<=Меньше или равноlength_mm <= 500
INВ спискеsupplier_code IN ("123", "456")
NOT INНе в спискеbrand__name NOT IN ("Bosch", "Makita")
IS NULLЗначение не заданоmodel IS NULL
IS NOT NULLЗначение заданоbarcode_ean13 IS NOT NULL
BETWEENВ диапазонеprice BETWEEN 1000 AND 5000
ANDЛогическое Иname LIKE "%дрель%" AND price < 5000
ORЛогическое ИЛИname LIKE "%дрель%" OR name LIKE "%перфоратор%"

Примеры условий

1. Перенос по ключевым словам в названии

name LIKE "%радиатор%" AND name LIKE "%стальной%" AND name NOT LIKE "%алюминиевый%"

2. Перенос по бренду и цене

brand__name = "Kermi" AND price BETWEEN 5000 AND 15000

3. Перенос по характеристикам

specification_canonical_name = "Тип подключения" AND specification_value LIKE "%боковое%"


4. Перенос по категории в прайс-листе

price_list_category LIKE "%Отопление%Радиаторы%"


5. Комбинированное условие

(name LIKE "%дрель%" OR name LIKE "%шуруповерт%") 
AND specification_original_name = "Питание" 
AND specification_raw_value LIKE "%аккумулятор%"
AND availability = true
AND price < 10000


6. Перенос товаров с характеристиками из определенного прайс-листа

price_list_category LIKE "%Электроинструмент%" 
AND specification_canonical_name = "Мощность" 
AND specification_canonical_value LIKE "%1500%"

Генерация условий по образцам

Настройка генерации sql фильтров

Для упрощения создания правил доступна функция генерации условий на основе товаров, уже находящихся в целевой категории:

По ключевым словам - анализирует названия товаров и создает условия вида name LIKE "%слово%"

Генерация фильтров по словам


По характеристикам - анализирует характеристики товаров и создает условия для поиска аналогичных товаров

Генерация фильтров по характеристикам

По категориям из прайс-листов - анализирует в каких категориях связанных источников данных есть аналогичные товары

Сгенерированные условия автоматически добавляются к существующим и не удаляют ранее созданные.

Сгенерированные правила нужно объединить как вам необходимо, результат генерации является заготовкой для составления правил, без необходимости изучать товары в целевой категории.

Запуск переноса

Перенос можно запустить двумя способами:
1. Ручной запуск - выберите правила в списке и нажмите "Применить правила переноса"
2. Автоматический запуск - все активные правила будут применяться автоматически с некоторой периодичностью.