Часто при работе с номенклатурой пользователи сталкиваются с проблемой: в справочнике накапливаются позиции, которые фактически являются одним и тем же товаром, но называются по-разному. Попытки воспользоваться стандартной обработкой Поиск и удаление дублей часто заканчиваются неудачей — программа «не видит» очевидных дублей. Давайте разберемся, почему так происходит и как правильно организовать поиск.
Основная ошибка при использовании обработки заключается в неправильном применении фильтра Отбирать. Когда вы устанавливаете условие наименование содержит, вы жестко сужаете круг кандидатов.
Рассмотрим ситуацию на примере. У нас есть две карточки:
Если вы задаете отбор наименование содержит «Блокнот на гребне MESHU А5 60л.», 1С проверяет каждый элемент справочника. Поскольку первая строка физически не содержит в себе указанную подстроку целиком, она исключается из выборки еще до начала сравнения. Помните: обработка сначала применяет фильтр, и только потом сравнивает оставшиеся элементы друг с другом. Если нужный объект не прошел фильтр, он никогда не попадет в список дублей.
Многие пользователи ожидают, что программа проявит интеллект и поймет, что слова переставлены местами или добавлены лишние пояснения. Однако алгоритм нечеткого сравнения (использующий Расстояние Левенштейна или Алгоритм Джаро-Винклера) работает иначе:
Программа не умеет игнорировать «шумовые» слова, если они не заданы в специальных правилах. Поэтому использование очень длинных поисковых фраз в отборе приводит к тому, что вы отсекаете все подходящие под сравнение варианты.
Чтобы эффективно очистить справочник Номенклатура, мы рекомендуем изменить подход к поиску:
Самый надежный способ найти дубли — это сравнение по реквизитам, которые не меняются. Если у товаров есть Артикул или Штрихкод, настройте поиск дублей именно по этим полям. В настройках обработки Поиск и удаление дублей выберите критерий По артикулу. Это гарантированно выявит все дубли независимо от того, как именно заполнено наименование.
Чтобы алгоритмы 1С работали эффективнее, приведите названия к единому стандарту. Например:
Плохой вариант: «Блокнот на гребне MESHU А5 60л. пластиковая обложка»
Хороший вариант: «Блокнот А5 60л. MESHU, на гребне, пластиковая обложка»
Когда основные ключевые слова (название бренда, формат, тип изделия) стоят в начале, вероятность того, что программа обнаружит сходство, возрастает многократно.
Если товары различаются только цветом, обложкой или материалом, выносите эти данные в Характеристики номенклатуры, а не в само наименование. Это позволит вести учет разных видов одного товара в рамках одной карточки Номенклатура, что полностью избавляет от проблемы дублирования.
Если в базе тысячи элементов, не пытайтесь найти все дубли одним запросом. Разбейте поиск на этапы:
Отбирать используйте минимально допустимые значения, например, только «Блокнот».Следуя этим шагам, вы сможете навести порядок в справочнике Номенклатура и предотвратить появление новых дублей в будущем.