1. Преимущества решения
Работает в любой конфигурации без доработок
Ни одного имени справочника в коде. Обработка читает метаданные и сама предлагает: какие справочники есть, какие у них поля, есть ли иерархия групп или иерархия элементов, какие реквизиты пригодны для сравнения. Справочник без подходящих полей она пропускает с пометкой, а не падает с ошибкой.
Не зависит от БСП
Никаких требований к «Библиотеке стандартных подсистем», к версии платформы конкретной редакции, к наличию подсистемы «Поиск и удаление дублей». Обработка самодостаточна.
Правила сравнения задаёте вы
Не «жёсткий алгоритм разработчика», а конструктор. Любой реквизит справочника можно включить в сравнение и назначить ему роль:
- основной — по нему ищутся кандидаты;
- подтверждающий — сам пару не создаёт, но отклоняет её при расхождении значений;
- исключающий — при срабатывании пара отвергается.
У каждого строкового реквизита — своя точность совпадения. Логика основных правил переключается между «все» и «любое». Наборы правил сохраняются в профили и переносятся в другую базу текстом.
Видно, почему пара НЕ стала дублем
Отдельная страница «Диагностика» показывает, сколько пар нашёл быстрый этап и по каким именно правилам они отклонены, с количеством по каждой причине. Это отличает инструмент от «чёрного ящика»: если результат не такой, как вы ждали, видно, какое правило мешает.
Безопасность заложена в конструкцию
- по умолчанию выбран режим, который ничего не удаляет — только заменяет ссылки и ставит пометку удаления;
- перед обработкой обязателен предварительный план, а любое изменение отметок его сбрасывает;
- удаляются только пары, у которых замена прошла без единой ошибки;
- если таблицу не удалось опросить, карточка не удаляется — «не знаю» не приравнивается к «ссылок нет»;
- каждый удаляющий режим требует отдельного подтверждения, где прямо назван результат.
Большие базы читаются пакетами
Анализ идёт порциями с keyset-пагинацией, без OFFSET и без сравнения «всех со всеми»: быстрый этап отбирает кандидатов по ключам блокировки, тяжёлые показатели считаются только для найденных пар. Размер пакета подбирается адаптивно. Анализ можно приостановить и продолжить с той же позиции.
2. В чём польза
Отчёты снова сходятся
Пока номенклатура задвоена (или любой другой справочник), отчёт по продажам показывает две строки вместо одной, ABC-анализ считает долю неправильно, а остатки размазаны по двум карточкам. После объединения цифры собираются в одну строку — без ручного переноса документов.
Себестоимость и остатки считаются по одной карточке
Партии, цены и движения, привязанные к дублю, переносятся на эталон вместе со ссылками. Это именно перенос ссылок в документах и регистрах, а не «пометить дубль и забыть».
Менеджеры перестают заводить третью карточку
Дубли размножаются, пока их не видно. Регулярный прогон и постоянные исключения («эту пару мы проверили, это не дубли») удерживают справочник в чистоте: однажды разобранный состав больше не всплывает в результатах.
Обмен и интеграции перестают спотыкаться
Задвоенные контрагенты и номенклатура ломают сопоставление при обмене с сайтом, маркетплейсом, ЕГАИС, банковскими выписками. Чистый справочник — меньше ручных сопоставлений.
Экономия времени, которое считается в часах
Ручной разбор — это открыть карточку, найти где используется, переоткрыть документы, поправить, повторить. Обработка делает поиск использований и перенос ссылок за один прогон, а вам остаётся решение «дубль или нет» — то, что действительно требует человека.
Риск потери данных снижен намеренно
Перед записью — план и повторная проверка карточек по актуальным данным. Замена и удаление разведены на три режима, и по умолчанию выбран самый осторожный. Обработка сознательно отказывается удалять, когда не может доказать, что ссылок не осталось.
3. Пример использования
Задача. В «Управлении торговлей» менеджеры годами заводили номенклатуру вручную. В справочнике накопились карточки-близнецы: «Насос циркуляционный Grundfos UPS 25-40», «Насос циркуляционный GRUNDFOS UPS 25/40», «Grundfos UPS 25-40 насос». Отчёт по продажам показывает три позиции вместо одной.
Шаг 1. Выбираем, что анализируем. Открываем обработку, в секции «Что анализируем» оставляем охват «Один справочник» и выбираем «Номенклатура». Строка под переключателем сразу говорит, что произойдёт при запуске.

Если справочников надо обработать несколько, переключатель ставится в «Группа справочников»: поле выбора одного справочника с формы убирается, а в списке появляются флажки и массовые отметки.

Справочников в конфигурации сотни, поэтому в списке есть поиск по названию и по имени в метаданных, массовые отметки найденного и фильтр показа.
Шаг 2. Настраиваем правила. На вкладке «Настройки анализа» оставляем основное правило «Наименование» с похожестью. Дополнительные реквизиты можно добавить подтверждающими: если у двух карточек значения заполнены и различаются — это разные позиции, пару отклонить.

Шаг 3. Сужаем область. Чтобы не ждать прогон по всей номенклатуре, указываем папку отбора — «Бытовая техника». Для первого знакомства это правильный путь: результат виден за секунды.

Шаг 4. Анализ. Жмём «Начать анализ». Прогресс показывает, какой справочник обрабатывается, сколько карточек прочитано, сколько пар-кандидатов найдено. Хронометраж этапов виден на «Диагностике».
Шаг 5. Разбираем результаты. В дереве появляются группы. У каждой — вердикт системы и оценка похожести. Эталоном автоматически выбрана карточка с наибольшим числом использований и заполненными реквизитами — та, которая реально работает в документах.

Шаг 6. Проверка. Отмечаем дубли галочками, эталон не трогаем. Жмём «Проверить план» — обработка формирует план: сколько пар, в каком режиме, перечень «что → на что». В базу пока ничего не записано.

Шаг 7. Обработка. «ОБРАБОТАТЬ», подтверждаем в диалоге. Ссылки в документах и регистрах переезжают на эталон, дубли получают пометку удаления. Протокол фиксирует, что сделано, и отдельно — служебные записи регистров, которые конфигурация создала сама и которые удалению не мешают.
Результат. Отчёт по продажам показывает одну позицию с полной историей. Дубли помечены и удаляются штатной «Удалением помеченных объектов» — или, если вы выбрали соответствующий режим, удалены сразу после проверки, что ссылок на них не осталось.
Дальше. Пары, которые вы признали не дублями (разные фасовки, разные производители с похожими названиями), помечаются как «Это не дубли» и больше в результатах не появляются — но остаются видны серой строкой, чтобы было понятно, что вы уже разобрали.
4. Функциональные возможности
Выбор области анализа
- переключатель охвата: один справочник или группа справочников за один прогон;
- список всех справочников конфигурации с галочками, поиском по названию и по имени в метаданных;
- массовые команды: пометить все, снять все, пометить найденные, снять найденные, только этот;
- фильтр показа: только выбранные или все;
- в списке сразу видно вид иерархии, текущие правила сравнения и результат прошлого анализа по каждому справочнику;
- очередь проходится последовательно, дубли ищутся только внутри одного справочника.
Правила сравнения
- любой реквизит справочника как признак сравнения, набор берётся из метаданных;
- роли: основной, подтверждающий, исключающий;
- способы: точное совпадение и похожесть с настраиваемым порогом для каждого реквизита;
- логика основных правил: «все» или «любое»;
- режимы поиска, влияющие на ширину отбора кандидатов;
- правила свои у каждого справочника и сохраняются между сеансами;
- профили правил: сохранить, применить, удалить, выгрузить в текст, загрузить из текста — перенос в другую базу без привязки к конфигурации.
Ограничение области
- отбор по наименованию;
- отбор по папке справочника с учётом вложенности;
- постоянные исключения: не анализировать папку со всем содержимым, не анализировать карточку;
- исключение проверенных составов: помеченная «не дубль» группа больше не появляется;
- учёт карточек, помеченных на удаление, — включён по умолчанию, потому что на них могут оставаться ссылки;
- общий лимит позиций и размер пакета, в том числе адаптивный.
Анализ
- предварительная оценка объёма: быстро показывает число пар-кандидатов, не строя групп;
- полный пакетный анализ с приостановкой, продолжением и отменой;
- прогресс с указанием текущего справочника, числа прочитанных карточек и найденных пар;
- хронометраж по этапам: чтение справочника, быстрый индекс, чтение кандидатов, места использования, проверка правил, формирование групп.
Результаты
- дерево, сгруппированное по справочникам, внутри — группы дублей, внутри — карточки; открывается раскрытым;
- эталон выбирается автоматически по числу использований, заполненности реквизитов и отсутствию пометки удаления; можно назначить другой;
- два независимых признака, показанных разными средствами: оценка системы — текстом вердикта и начертанием шрифта, ваше решение — флажком, колонкой «Решение» и фоном строки;
- вердикты: «Точный дубль», «Вероятный дубль», «Сомнительный»;
- маркеры решения d04; `80; d06; `75; дублируют цвет, чтобы список читался и без него;
- по каждой карточке: код, наименование, сравниваемые реквизиты, отличия, число использований, остаток, пометка удаления;
- отметка кандидатов поштучно, группой или по всему справочнику;
- пометка «Это не дубли» с сохранением строки в списке;
- панель показателей: групп, точных дублей, не разобрано, к обработке, не дубли, проверено.
Расшифровка использования
- где именно встречается карточка: справочники, документы, бизнес-процессы, задачи, табличные части, регистры сведений, накопления, бухгалтерии и расчёта;
- по каждому месту: объект конфигурации, тип места, признак записи регистра;
- если какие-то таблицы не удалось опросить, об этом сказано прямо — список мест неполный.
Обработка
Все три режима выбираются одним полем, и рядом всегда написано, что именно произойдёт.
Режим по умолчанию — «Заменить ссылки и пометить дубли на удаление»: безвозвратно не удаляется ничего


|
Режим |
Что делает |
Обратимость |
|
**Заменить ссылки и пометить дубли на удаление** (по умолчанию) |
переносит ссылки на эталон, дубли помечает на удаление |
ничего не удаляется безвозвратно |
|
**Заменить ссылки и удалить дубли** |
то же, затем проверяет каждую карточку на оставшиеся ссылки: без ссылок — удаляет, со ссылками — оставляет помеченной |
удаление безвозвратно |
|
**Только удалить дубли, без замены ссылок** |
удаляет немедленно, ссылки не заменяет и не проверяет |
удаление безвозвратно, ссылки становятся битыми |
Механика замены:
- перенос ссылок в объектах, табличных частях и всех четырёх видах регистров;
- независимые регистры сведений обрабатываются перезаписью ключа;
- предварительный план с перечнем пар и режимом;
- повторная проверка карточек по актуальным данным перед записью;
- запрет циклов замены и ситуации «карточка одновременно дубль и эталон»;
- запрет замены между разными справочниками;
- ошибка одной пары не отменяет обработку остальных;
- протокол с итогом, ошибками и отдельными заметками о служебных записях регистров.
Прозрачность и диагностика

- страница «Диагностика»: причины отклонения пар с количеством по каждой;
- страница «Методика»: как именно работает поиск, что означают роли правил и пороги;
- страница «Протокол решений»: что было сделано, с чем и почему;
- сообщение об устаревших результатах называет, что именно изменилось после анализа.
Перед первым запуском
Сделайте резервную копию базы. Замена ссылок необратима: автоматической отмены нет. Первый прогон разумно выполнить на копии — так вы подберёте правила сравнения, ничем не рискуя.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.27.79
- 1С:Комплексная автоматизация 2, релизы 2.5.27.79
- 1С:ERP Управление предприятием 2, релизы 2.5.27.79
- Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.205.17
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.205.17
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.123
- Розница, редакция 3.0, релизы 3.0.14.123
- 1С:Управление холдингом 3.2 (русский и английский интерфейсы), релизы 3.2.11.20
Вступайте в нашу телеграмм-группу Инфостарт