Правила переноса товаров
Правила переноса позволяют автоматически перемещать товары из одной категории в другую в пределах одного сайта. Правила применяются в порядке возрастания приоритета (чем меньше число, тем выше приоритет). Все товары, соответствующие условию фильтрации, будут перенесены в целевую категорию. Это нужно для того, чтобы не сидеть и вручную распределять новые и не очень товары в нужные категории и тратить кучу времени, а делать это без участия человека. Логика основана на довольно жесткой фильтрации товаров с помощью 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%"
Генерация условий по образцам

Для упрощения создания правил доступна функция генерации условий на основе товаров, уже находящихся в целевой категории:
По ключевым словам - анализирует названия товаров и создает условия вида name LIKE "%слово%"

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

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

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