---
title: Поиск и удаление дублей
slug: bsp/поиск-и-удаление-дублей
---


## НайтиДублиЭлемента
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Поиск дублей для указанного значения ЭталонныйОбъект.
//
// Параметры:
//     ОбластьПоиска - Строка - имя таблицы данных (полное имя метаданных) области поиска.
//                              Например, "Справочник.Номенклатура". Поддерживается поиск в справочниках,
//                              планах видов характеристик, видах расчетов, планах счетов.
//     ЭталонныйОбъект - ЛюбаяСсылка, СправочникОбъект - элемент, для которого производится поиск дублей.
//     ДополнительныеПараметры - Произвольный - параметр для передачи в обработчики событий менеджера.
//
// Возвращаемое значение:
//     ТаблицаЗначений:
//       * Ссылка       - ЛюбаяСсылка - ссылка элемента.
//       * Код          - Строка
//                      - Число - код элемента.
//       * Наименование - Строка - наименование элемента.
//       * Родитель     - ЛюбаяСсылка - родитель группы дублей. Если Родитель пустой, то элемент является
//                                      родителем группы дублей.
//       * ДругиеПоля - Произвольный - значение соответствующего полей отборов и критериев сравнения дублей.
//
Функция НайтиДублиЭлемента(Знач ОбластьПоиска, Знач ЭталонныйОбъект, Знач ДополнительныеПараметры) Экспорт
```

Пример вызова
```bsl
Результат = ПоискИУдалениеДублей.НайтиДублиЭлемента(ОбластьПоиска, ЭталонныйОбъект, ДополнительныеПараметры) 
```
</details>

## ДополнитьДублиСвязаннымиПодчиненнымиОбъектами
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Добавляет к коллекции дублей связанные подчиненные объекты.
//
// Параметры:
//  ПарыЗамен		 - см. ОбщегоНазначения.ЗаменитьСсылки.ПарыЗамен
//  ПараметрыЗамены	 - см. ОбщегоНазначения.ПараметрыЗаменыСсылок
//
Процедура ДополнитьДублиСвязаннымиПодчиненнымиОбъектами(ПарыЗамен, ПараметрыЗамены) Экспорт
```

Пример вызова
```bsl
ПоискИУдалениеДублей.ДополнитьДублиСвязаннымиПодчиненнымиОбъектами(ПарыЗамен, ПараметрыЗамены) 
```
</details>

## НайтиПохожиеСтроки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет поиск всех вхождений заданной строки в переданном массиве строк.
//
// Параметры:
//  ИсходнаяСтрока - Строка - набор строк, разделенных символом разделителя (параметр Разделитель),
//                            в которых выполняется поиск.
//  СтрокаПоиска   - Строка - строка, вхождение которой необходимо найти.
//  Разделитель    - Строка - символ, используемый для разделения исходной строки на элементы.
//                            Требуется передавать, если исходная строка состоит из массива строк.
//  ПараметрыПоиска - см. ПараметрыПоискаПохожихСтрок.
//
// Пример:
//  ИсходнаяСтрока = "Токарный станок~Вентилятор настольный~Стол обеденный~Стул обеденный";
//  ИндексыПохожихСтрок = ПоискИУдалениеДублей.НайтиПохожиеСтроки(ИсходнаяСтрока, "Стол обеденный");
//  // Для данного набора из четырех строк при поиске строк похожих на "Стол обеденный"
//  // результатом будет "2,3", т.е. строки "Стол обеденный" и "Стул обеденный".
//
// Возвращаемое значение:
//  Строка - индексы дублей строк, разделенные запятыми. Нумерация начинается с 0.
//
Функция НайтиПохожиеСтроки(ИсходнаяСтрока, СтрокаПоиска, Разделитель = "~", ПараметрыПоиска = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = ПоискИУдалениеДублей.НайтиПохожиеСтроки(ИсходнаяСтрока, СтрокаПоиска, Разделитель, ПараметрыПоиска);
```
</details>

## ПараметрыПоискаПохожихСтрок
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает параметры для функции НайтиПохожиеСтроки.
//
// Параметры:
//  ПодключитьКомпоненту - Булево - если Истина, выполняется подключение компоненты поиска строк.
//                                  Для целей оптимизации, если планируется многократный вызов функции
//                                  поиска похожих строк.
//
// Возвращаемое значение:
//  Структура:
//     * ПроцентСовпаденияСтрок          - Число - по умолчанию 90.
//     * ПроцентСовпаденияНебольшихСтрок - Число - по умолчанию 80.
//     * ДлинаНебольшихСтрок             - Число - по умолчанию 30.
//     * СловаИсключения - Массив из Строка
//     * КомпонентаПоиска - ОбъектВнешнейКомпоненты
//
Функция ПараметрыПоискаПохожихСтрок(ПодключитьКомпоненту = Истина) Экспорт
```

Пример вызова
```bsl
Результат = ПоискИУдалениеДублей.ПараметрыПоискаПохожихСтрок(ПодключитьКомпоненту);
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
