Автоматическое распределение товаров по группам (категориям) — это классическая задача управления основными данными (Master Data Management). Особенно остро она стоит в компаниях с широким ассортиментом, таких как магазины одежды, где новые позиции поступают от множества поставщиков с разными наименованиями. В рамках данной статьи мы разберем по шагам различные подходы к автоматизации этого процесса: от простейших текстовых фильтров до использования внешних сервисов и интеллектуальных алгоритмов.
Самый быстрый и доступный способ реализации — это создание таблицы правил, где каждому ключевому слову соответствует определенная группа справочника Номенклатура. Проанализируем простейший программный код, который можно встроить в обработку загрузки данных из Excel.
Основная логика заключается в поиске подстроки в наименовании, которое прислал поставщик. Чтобы избежать проблем с регистром, всегда приводим строку к верхнему регистру с помощью функции ВРЕГ().
// Пример упрощенной логики распределения
НаименованиеПоставщика = ВРЕГ(СтрокаExcel.Наименование);
Если СтрНайти(НаименованиеПоставщика, "БОТИНКИ") > 0 Тогда
НоваяГруппа = Справочники.Номенклатура.НайтиПоНаименованию("Обувь/Ботинки");
ИначеЕсли СтрНайти(НаименованиеПоставщика, "КЕДЫ") > 0 Тогда
НоваяГруппа = Справочники.Номенклатура.НайтиПоНаименованию("Обувь/Кеды");
ИначеЕсли СтрНайти(НаименованиеПоставщика, "БЛУЗКА") > 0 Тогда
НоваяГруппа = Справочники.Номенклатура.НайтиПоНаименованию("Одежда/Блузки");
КонецЕсли;
Важный нюанс: при использовании такого подхода мы неизбежно столкнемся с проблемой вложенности правил. Рассмотрим ситуацию: поставщик прислал позицию «Комплект: Брюки + Жакет». Если правило для слова «Брюки» сработает первым, товар попадет в группу брюк, хотя фактически это костюм. Поэтому правила должны применяться в порядке «от частного к общему» или иметь систему приоритетов.
Чтобы не «зашивать» правила в программный код, разработаем механизм, позволяющий пользователям (менеджерам НСИ) самостоятельно настраивать условия распределения. Для этого отлично подходят Сегменты номенклатуры.
Проанализируем следующую схему работы:
ПорядокПрименения. Первым срабатывает правило с наименьшим порядковым номером.Этот метод позволяет гибко менять правила без привлечения программиста, что значительно удешевляет поддержку системы в долгосрочной перспективе.
Если ассортимент стандартный (например, потребительские товары), нет смысла изобретать велосипед. Фирма 1С предоставляет сервис 1С:Номенклатура, который содержит уже классифицированный каталог. При загрузке товара по штрихкоду или наименованию сервис может вернуть готовую категорию, описание и даже изображение.
Также рассмотрим возможность интеграции с API маркетплейсов (Яндекс.Маркет, Ozon). Алгоритм работы следующий:
Преимущество: высокая точность за счет того, что классификацией занимаются мощные нейросети крупных площадок. Минус: такие запросы часто являются платными или требуют сложной настройки авторизации.
Одной из главных проблем автоматизации являются опечатки и сокращения в данных поставщика («бруки», «джемп. муж.»). Чтобы решить эту задачу, выясним причины ошибок и применим методы предварительной обработки (Preprocessing).
Перед тем как определять группу, выполним следующие действия:
Как показывает практика, стопроцентная автоматизация в сложных товарных группах (одежда, запчасти) невозможна. Всегда встретится позиция, которую ИИ или правила определят неверно. Поэтому наиболее эффективным решением будет система предложений.
При загрузке новой номенклатуры алгоритм не записывает группу «намертво», а подсвечивает наиболее вероятные варианты. Менеджеру остается лишь подтвердить выбор или скорректировать его одним кликом. Это в разы ускоряет работу по сравнению с ручным поиском в дереве групп, но сохраняет контроль за качеством данных.
Подведем итог. Выбор метода зависит от бюджета и объема данных. Если товаров немного, достаточно внедрить менеджера НСИ как «живую нейросеть» — это часто оказывается дешевле разработки сложного ИИ. Если же счет идет на десятки тысяч позиций в месяц, оптимальным будет гибридный подход:
1. Сначала проверяем товар по штрихкоду (GTIN) в глобальных регистрах.
2. Затем применяем настраиваемые правила (сегменты) с приоритетами.
3. В спорных случаях оставляем поле Родитель пустым и выводим такие позиции в специальный список для ручной обработки оператором.
Такой подход позволит автоматизировать до 80-90% входящего потока данных, минимизировав при этом количество ошибок в справочнике Номенклатура.