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

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

В блоке "Тип сопоставления" выберите логику сравнения:

точное совпадение, когда значение из каталога должно полностью равняться значению из прайса; "Каталог в прайсе", когда значение товара каталога является частью значения товара прайса; или "Прайс в каталоге", когда значение товара прайса является частью значения товара каталога. Здесь же вы можете указать, требуется ли обязательное совпадение бренда товаров для создания связи.

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

Доступны три варианта: "Одно поле" — значение берется из одного конкретного поля, например, "supplier_code"; "Объединение полей" — значение формируется путем склеивания нескольких полей через указанный разделитель, например, для поля "Модель" и "Цвет" с разделителем "-" получится значение "модель-цвет"; "Извлечение по regex" — позволяет извлечь нужную часть из текстового поля с помощью регулярного выражения, что полезно, если артикул находится внутри длинного названия. Для выбранного способа укажите необходимые поля, разделители или регулярные выражения. Рядом с формой вы увидите подсказку со списком всех доступных полей для товаров каталога и прайсов, что поможет вам ввести правильные имена.

В блоке "Фильтрация по брендам" вы можете ограничить действие правила только товарами определенных брендов.

Если оставить это поле пустым, правило будет применяться ко всем товарам. Фильтрация по брендам легко решает проблему отсутствия брендов в прайс-листах поставщиков. В блоке "Область применения" выберите один или несколько прайс-листов, для которых будет работать это правило.

Если не выбрать ни одного, правило будет применяться ко всем прайс-листам. Флажок "Разрешить несколько товаров каталога" следует устанавливать только в особых случаях, когда один товар поставщика может соответствовать нескольким разным товарам в вашем каталоге. Вы должны точно понимать для чего это нужно, если не понимаете, значит это вам сейчас не нужно. После заполнения всех полей сохраните правило.

После создания правил сопоставление будет запускаться автоматически после завершения импорта любого прайс-листа. Система отслеживает статус задачи импорта, и как только импорт успешно завершается, для этого прайс-листа ставится в очередь задача на сопоставление. Она запустится и применит все подходящие активные правила для сайта. Вы также можете запустить сопоставление вручную. Для этого в списке правил выберите нужные активные правила и в выпадающем списке действий выберите "Запустить сопоставление для выбранных правил". Будет создана задача, которая применит каждое выбранное правило ко всем прайс-листам, указанным в нем. Результаты работы можно отслеживать. В списке правил в колонке "Последнее сопоставление" отображается статус и время последнего запуска. Более подробная информация доступна в разделе "История сопоставлений", где по каждой операции можно увидеть количество созданных связей, конфликтов и детали в формате JSON.

В процессе работы могут возникать различные ситуации. Рассмотрим несколько примеров.

  1. идеальное совпадение по артикулу и бренду. Вы настроили правило с типом сравнения "Точное совпадение", требование совпадения бренда включено. В качестве источника значения для каталога и прайса выбрано поле "supplier_code". В прайс-лист загружается товар с артикулом "ABC-123" и брендом "BrandX". В вашем каталоге есть товар с точно таким же артикулом "ABC-123" и брендом "BrandX". Система извлечет значения "ABC-123" из обоих товаров, сравнит их, убедится в совпадении брендов и создаст связь.
  2. частичное совпадение, когда в прайсе артикул указан с дополнительными символами. Например, в прайсе артикул записан как "Производитель ABC-123 (красный)", а в каталоге просто "ABC-123". В этом случае можно создать правило с типом сравнения "Каталог в прайсе" и включить игнорирование спецсимволов. Для извлечения значения из прайса можно использовать регулярное выражение, чтобы вычленить чистый артикул, либо просто брать поле с названием целиком. Тогда система проверит, содержится ли строка "ABC-123" внутри строки "Производитель ABC-123 (красный)", и при положительном результате создаст связь.
  3. конфликт, когда один товар прайса подходит под несколько товаров каталога. В прайс-лист загружается товар с названием "Телефон Samsung A50". У вас в каталоге есть два товара: "Смартфон Samsung A50 черный" и "Смартфон Samsung A50 синий", и ни один из них не имеет уникального артикула. Если правило не разрешает множественные связи и находит оба кандидата, то связь создана не будет. Эта ситуация будет зафиксирована как конфликт. В истории сопоставления вы увидите детали конфликта и сможете принять решение вручную: либо уточнить правило (например, добавить в сравнение поле цвета), либо удалить дублирующийся товар из каталога.
  4. товар не найден в каталоге. В прайс-лист загружается товар с артикулом "XYZ-999", но в каталоге такого артикула нет. Все правила будут по очереди применены, но ни одно не даст совпадения. В результате этот товар останется несвязанным. Это нормальная ситуация, сигнализирующая о том, что такого товара еще нет в вашем каталоге и, возможно, его нужно создать, либо это новый товар поставщика, который вы пока не закупаете.
  5. несовпадение брендов. В прайсе указан бренд "Samsung", а в каталоге у товара бренд "Samsung Electronics". Если включено требование совпадения бренда, система сначала нормализует названия (приведет к нижнему регистру), и если они не совпадут, то проверит их через словарь синонимов брендов, который хранится в системе. Если бренд "Samsung Electronics" имеет в своем списке синонимов слово "samsung", то совпадение будет засчитано. В противном случае система посчитает, что бренды разные, и не создаст связь, даже если артикулы совпадают, что защитит от ошибочного связывания товаров разных производителей.

несмотря на видимую простоту, функционал сопоставления товаров решает любые проблемы связанные с связями товаров из различных источников и товарами в каталоге.