31  /  81

Умный поиск

Умный поиск товаров при обмене между МойСклад и Битрикс24

Когда каталог товаров уже заполнен и в МойСклад, и в Битрикс24, при синхронизации могут появляться дубли: приложение не видит связь между существующими карточками и создаёт новый товар.

Умный поиск помогает найти существующий товар перед созданием новой карточки. Он работает в обоих направлениях: из МойСклад в Битрикс24 и из Битрикс24 в МойСклад.

Зачем это нужно?

Если одна сторона пустая, товары создаются с нуля, а идентификатор МойСклад сразу записывается в Битрикс24.
Если каталоги уже заполнены с обеих сторон:
- один и тот же товар может иметь разные названия;
- артикулы и коды могут совпадать, но служебная связь между карточками отсутствует;
- без поиска существующей карточки может появиться дубль.

Умный поиск уменьшает вероятность дублей. Если найти подходящий товар не удалось, приложение создаёт новую карточку и продолжает обмен.

Как работает поиск из МойСклад в Битрикс24

Приложение ищет товар последовательно:

1. Сохранённая связь. Если в товаре Битрикс24 уже записан ID товара МойСклад, приложение использует эту связь.
2. Артикул → код → внешний код. Используются только свойства, указанные в соответствиях полей приложения и заполненные в товарах. Если по одному ключу найден ровно один подходящий товар, приложение связывает карточки и записывает ID МойСклад в Битрикс24.
3. Название. Если поиск по свойствам не дал результата, приложение проверяет точное совпадение названия. Связь устанавливается только при одном кандидате. Для этого поиска название должно содержать не менее 5 символов.

Если по артикулу найдено несколько товаров, приложение переходит к коду, затем к внешнему коду и названию. Если однозначное совпадение так и не найдено, создаётся новая карточка.



Как работает поиск из Битрикс24 в МойСклад

При передаче товара, например в составе сделки, приложение сначала использует сохранённую связь с МойСклад.

Если связи нет или проверка показала, что связанный товар отсутствует, дальнейшее поведение зависит от настройки «Умный поиск».

Если умный поиск включён:
1. Приложение ищет товар по артикулу.
2. Если однозначного совпадения нет — по коду.
3. Затем — по внешнему коду.

На каждом шаге используется только сопоставленное свойство с непустым значением в товаре Битрикс24. Порядок строк в настройках не меняет приоритет: артикул → код → внешний код.

Если по ключу найден ровно один товар МойСклад, приложение сохраняет связь с ним и прекращает поиск. Если найдено несколько товаров, проверяется следующий ключ.

Если поиск по свойствам не дал результата, выполняется прежний поиск по названию. Он также используется, если умный поиск выключен или свойства не сопоставлены.

Особенность поиска по названию: в направлении Битрикс24 → МойСклад приложение использует первый результат, полученный от МойСклад по фильтру названия. Проверка уникальности названия и ограничение на короткие названия здесь не применяются. Регистр, пробелы и другие символы перед поиском не нормализуются.

Если товар не найден и по названию, приложение создаёт новую карточку в МойСклад и записывает её ID в Битрикс24.

Что нужно настроить?

1. В настройках приложения укажите поле «Идентификатор МойСклад» для товаров — обычно это уже сделано.
2. В блоке соответствий свойств добавьте нужные пары, например:
    - артикул МойСклад ↔ поле «Артикул» в Битрикс24;
    - код МойСклад ↔ соответствующее поле в Битрикс24;
    - внешний код МойСклад ↔ соответствующее поле в Битрикс24.
3. Убедитесь, что значения выбранных свойств заполнены и совпадают в обеих системах.
4. Включите умный поиск для портала в настройках.



Необязательно сопоставлять все три свойства. Например, если настроено только соответствие артикулов, приложение проверит артикул, а затем перейдёт к названию.

Для внешнего кода выбирайте поле, предназначенное для этого значения. Если системное поле Битрикс24 «Внешний код» / XML_ID уже используется для хранения ID МойСклад, для сопоставления внешних кодов используйте отдельное поле.

Чем точнее заполнены артикулы и коды, тем надёжнее сопоставление. Поиск по названию остаётся запасным вариантом.


Когда срабатывает

Из МойСклад в Битрикс24:
- при выгрузке каталога кнопкой;
- при обработке события создания или изменения товара в МойСклад;
- при передаче товара в составе документа в Битрикс24.

Из Битрикс24 в МойСклад:
- при передаче товаров в составе сделки или другого документа;
- при выгрузке новых товаров через приложение.

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


Если связанный товар удалили в МойСклад

В Битрикс24 может остаться ID удалённого товара. Когда приложение обнаружит, что товар по этому ID отсутствует, оно повторит подбор: при включённом умном поиске — по артикулу, коду и внешнему коду, затем по названию.

При успешном подборе или создании товара в Битрикс24 будет записан новый ID МойСклад.

Обнаружение удаления может произойти не сразу: проверка использует локальный файловый кэш приложения. Пока в кэше сохраняются данные удалённого товара, повторный поиск может не запускаться.


Группы товаров

В направлении МойСклад → Битрикс24 умный поиск также помогает сопоставлять группы — разделы каталога.

Если соответствующая папка уже существует в Битрикс24, приложение может найти её по точному имени, с учётом родителя, если он уже связан, и записать ID группы МойСклад через API.

Новый поиск товаров в направлении Битрикс24 → МойСклад не добавляет аналогичный механизм для групп.


Чего ждать на практике

Ситуация Результат
У товара есть действующая связь по ID Приложение использует связанный товар.
Умный поиск включён, по артикулу найден один товар Карточки связываются, ID МойСклад записывается в Битрикс24.
По артикулу нет совпадений или найдено несколько товаров Проверяются код, затем внешний код и название.
Сопоставлено только одно из поисковых свойств Проверяется это свойство, затем название.
Битрикс24 → МойСклад: умный поиск выключен или свойства не сопоставлены Сохраняется прежний поиск по названию.
МойСклад → Битрикс24: точно совпало название длиной от 5 символов, кандидат один Карточки связываются по названию.
Битрикс24 → МойСклад: поиск по названию вернул результат Используется первый найденный товар. Уникальность названия не проверяется.
Ни один этап поиска не дал подходящего результата Создаётся новый товар.
Модификации МойСклад Новый обратный поиск не ищет модификации по артикулу или кодам. В направлении МойСклад → Битрикс24 поиск модификаций по дополнительным свойствам также не применяется; используется связь по ID.


Коротко

Умный поиск — это «сначала найти и связать, потом создавать». Он помогает в обоих направлениях обмена. Для надёжной работы заполните артикулы или коды, настройте соответствия свойств и включите умный поиск.

Существующие дубли автоматически не объединяются. Если карточки уже связаны с разными товарами, одного включения умного поиска недостаточно для исправления этих связей.
Это нравится: 0 Да / 0 Нет