К статье
Практический материал

Справочники и Данные · 11 мин

Как удалить дубликаты в 1С: пошаговая инструкция

Как найти и удалить дубликаты в 1С: штатная обработка поиска и удаления дублей, объединение номенклатуры и контрагентов, проверка ссылок и типичные ошибки.

Дубликаты элементов справочников — одна из самых распространённых проблем в базах 1С. Две карточки одного контрагента, три позиции номенклатуры с одинаковым товаром под разными названиями, повторные физические лица — всё это искажает отчёты, ломает обмены данными и мешает корректному учёту. Чаще всего дубли появляются при загрузке данных из Excel, при обмене между базами, при ручном вводе без проверки существующих элементов.

Удалить дубликаты в 1С можно двумя способами: штатной обработкой «Поиск и удаление дублей», которая входит в состав большинства типовых конфигураций на управляемых формах, и программным способом через встроенный язык. Первый вариант подходит пользователям и администраторам, второй — разработчикам при массовой или нестандартной обработке.

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

Где искать дубликаты и почему они появляются

Чаще всего дубли встречаются в справочниках «Номенклатура», «Контрагенты», «Физические лица», «Организации» и «Договоры». Признаки проблемы: в отчётах один и тот же контрагент отображается несколькими строками, взаиморасчёты «размазаны» по двум карточкам, при выборе из списка видно несколько почти одинаковых элементов.

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

Один контрагент в отчётах выводится несколькими строкамиЕсть дубли карточки

Сравнить ИНН и КПП в карточках — совпадают ли реквизиты

Дубли появляются после каждого обменаПроблема в настройке синхронизации

Проверить правила сопоставления объектов в настройках обмена

Похожие названия с опечаткамиДубли ручного ввода

Использовать поиск дублей с нечётким сравнением наименований

Подготовка: резервная копия и оценка масштаба

Перед любыми массовыми изменениями справочников сделайте резервную копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD при закрытой программе либо выгрузить базу через конфигуратор («Администрирование» → «Выгрузить информационную базу»). Для клиент-серверной базы копию делает администратор средствами СУБД или через выгрузку .dt.

Это не формальность: замена ссылок затрагивает документы за все периоды, и отменить её «в один клик» нельзя. Если обработка ошибочно объединит двух разных контрагентов, восстановить раздельные данные без копии будет крайне трудоёмко.

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

Штатная обработка «Поиск и удаление дублей»

В типовых конфигурациях на управляемых формах (УТ 11, ERP, КА, БП 3.0 и других) обработка находится в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» → «Поиск и удаление дублей». В некоторых конфигурациях путь называется «НСИ и администрирование» → «Обслуживание». Если пункта нет, проверьте права: нужна роль администратора или полные права.

Порядок работы: выберите вид справочника (или документа), задайте правила сравнения — какие реквизиты сравнивать и как (точное совпадение, совпадение по похожим словам). Например, для контрагентов логично сравнивать по ИНН, для номенклатуры — по наименованию и артикулу. Нажмите «Найти дубли» — программа покажет группы похожих элементов.

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

Порядок действий в штатной обработке
  1. 1
    Сделайте резервную копию базы
  2. 2
    Откройте «Администрирование» → «Обслуживание» → «Поиск и удаление дублей»
  3. 3
    Выберите вид объекта и настройте правила сравнения (например, по ИНН для контрагентов)
  4. 4
    Нажмите «Найти дубли» и просмотрите найденные группы
  5. 5
    В каждой группе укажите оригинал, отклоните ошибочные совпадения
  6. 6
    Выполните «Удалить дубли» и дождитесь замены ссылок
  7. 7
    Запустите «Удаление помеченных объектов» и проверьте отчёты

Настройка правил поиска: точное и нечёткое сравнение

Качество результата зависит от правил сравнения. Точное совпадение по уникальному реквизиту (ИНН, артикул, штрихкод) даёт надёжные пары, которые почти всегда можно объединять автоматически. Поиск по похожим наименованиям находит больше кандидатов, но требует ручной проверки каждой группы: «Иванов И.И.» и «Иванов Иван Иванович» могут быть как одним человеком, так и разными.

Практический подход: сначала прогоните поиск по строгим правилам (совпадение ИНН/КПП, артикула) и обработайте эти группы, затем — по мягким (похожие наименования) с ручным просмотром. Для номенклатуры полезно сравнивать сочетание «наименование + единица измерения + вид номенклатуры», чтобы не объединить разные товары с похожими названиями.

Ручное объединение дублей без обработки

Если дублей немного (две-три карточки), можно обойтись без обработки поиска. Во многих конфигурациях в карточке элемента доступна команда «Объединить» или «Заменить дубли» через меню «Ещё». Альтернативный ручной способ: найти все ссылки на дубль через команду «Ещё» → «Найти ссылки» (или через «Все функции» → стандартная обработка поиска ссылок), открыть каждый документ и вручную заменить элемент, после чего пометить дубль на удаление.

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

Программное удаление дублей для разработчиков

Для массовой или регламентной обработки используют встроенный язык. Логика такая: запросом находятся группы дублей по ключевым реквизитам, затем методом НайтиПоСсылкам() определяются все объекты, ссылающиеся на дубль, ссылки заменяются на оригинал, объекты записываются, дубль помечается на удаление через УстановитьПометкуУдаления().

Пример поиска ссылок на дубль:

МассивСсылок = Новый Массив;

МассивСсылок.Добавить(ДубльСсылка);

ТаблицаСсылок = НайтиПоСсылкам(МассивСсылок);

Для Каждого Строка Из ТаблицаСсылок Цикл

Объект = Строка.Данные.ПолучитьОбъект();

// замена реквизита на ОригиналСсылка

Объект.Записать();

КонецЦикла;

Такой код следует запускать сначала на копии базы и в транзакции, чтобы при ошибке откатить изменения. Учтите, что замена в документах требует их перепроведения или записи в режиме загрузки — выбор зависит от того, должны ли пересчитаться движения.

Программная замена ссылок на больших объёмах выполняется долго и блокирует записываемые объекты. Планируйте такие операции на нерабочее время и разбивайте обработку на порции по несколько сотен элементов.
ПЗ
Практическое замечание

Проверка результата и удаление помеченных объектов

После замены ссылок дубли остаются в базе с пометкой на удаление. Окончательно их убирает обработка «Удаление помеченных объектов» («Администрирование» → «Обслуживание»). Если объект не удаляется, система покажет, какие объекты ещё на него ссылаются, — значит, замена прошла не везде, и оставшиеся ссылки нужно обработать повторно.

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

Контрольные точки

Как проверить результат

Количество строк контрагента в отчётах
Норма

Одна строка, суммарные остатки совпадают с прежними

Тревожный признак

Две строки или расхождение итогов

Удаление помеченных объектов
Норма

Дубли удалены без сообщений о ссылках

Тревожный признак

Система показывает неудалённые объекты со ссылками

Поиск дублей повторно
Норма

Групп дублей нет или остались только отклонённые

Тревожный признак

Те же пары находятся снова

Типичные ошибки и профилактика дублей

Самая частая ошибка — объединение разных элементов: двух однофамильцев, двух товаров с похожими названиями, двух договоров одного контрагента. Вторая ошибка — удаление дублей без замены ссылок через прямую пометку на удаление: документы остаются с «битыми» ссылками вида «Объект не найден». Третья — обработка в рабочее время на активной базе, когда пользователи параллельно создают новые дубли или документы.

Чтобы дубли не появлялись снова, настройте профилактику: включите контроль уникальности по ИНН в карточке контрагента (в типовых конфигурациях есть соответствующие проверки), используйте при загрузке данных сопоставление по ключевым реквизитам, регламентируйте правила наименования номенклатуры. При обменах между базами проверьте настройки сопоставления объектов — большинство «регулярных» дублей рождаются именно там.

Типичные ошибки
01
Пометка дубля на удаление без замены ссылок — в документах появляются битые ссылки «Объект не найден»
02
Автоматическое объединение по похожим наименованиям без ручной проверки — объединяются разные контрагенты или товары
03
Работа без резервной копии — ошибочное объединение невозможно быстро отменить
04
Игнорирование причины появления дублей — после чистки обмен снова создаёт дубли

Ответы на частые вопросы

Можно ли отменить удаление дублей после замены ссылок?

Штатной команды отмены нет. Пока дубль не удалён окончательно, можно снять пометку удаления, но ссылки в документах уже указывают на оригинал — возвращать их придётся вручную или повторной заменой. Поэтому резервная копия перед операцией обязательна: только она даёт полноценный откат.

Почему обработка не находит очевидные дубли?

Поиск работает строго по заданным правилам сравнения. Если наименования отличаются сильно или сравнение настроено по реквизиту, который у дублей заполнен по-разному (например, у одного есть ИНН, у другого нет), пара не будет найдена. Ослабьте правила: уберите часть реквизитов, включите поиск похожих наименований.

Что делать, если дубль не удаляется при удалении помеченных объектов?

Значит, на него остались ссылки, которые обработка не заменила — например, в объектах, недоступных по правам, или в редких типах хранения. Список мешающих объектов показывает само удаление помеченных. Откройте каждый объект и замените ссылку вручную, затем повторите удаление.

Меняются ли проводки и отчёты прошлых периодов после объединения?

Суммы, количество и сами проводки документов не изменяются — меняется только аналитический разрез: ссылка на дубль заменяется ссылкой на оригинал. В отчётах за прошлые периоды операции отобразятся по объединённому элементу, что обычно и требуется, но сверку с ранее сданной отчётностью стоит выполнить.

Как удалить дубли в старой конфигурации на обычных формах, где нет штатной обработки?

Используйте универсальные внешние обработки поиска и замены дублей с диска ИТС или аналогичные, либо ручной способ: поиск ссылок на элемент и замена в каждом документе. Логика та же — сначала замена всех ссылок, затем пометка на удаление и контрольное удаление помеченных объектов.

Как предотвратить появление дублей при обмене с сайтом или другой базой?

Проверьте настройки сопоставления объектов в обмене: поиск должен выполняться по устойчивым ключам (ИНН, код, GUID, артикул), а не только по наименованию. Если сопоставление настроить нельзя, запускайте поиск дублей регламентно после каждой загрузки, пока объём накопленных дублей мал.

Итог

Что важно запомнить

Дубликаты в 1С удаляются в три шага: резервная копия, замена ссылок через обработку «Поиск и удаление дублей» с ручной проверкой групп, затем удаление помеченных объектов и контроль по отчётам. После чистки устраните причину появления дублей — иначе они вернутся.