1с поиск дублирующихся элементов. Удаление дублей в справочниках. Обработка для поиска дублей

В последних редакциях конфигурации на базе 1С 8.3 появилась отличная возможность автоматизировать поиск и замену дублей справочников. Это делается с помощью специальной обработки 1С — Поиск и замена дублей. Она встроена в такие прикладные решения на управляемых формах, как: , .

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

Внимание! Перед работой с обработкой обязательно сделайте резервную копию базы данных.

Обработка для поиска дублей

Обработка Поиск и удаление дублей расположена на вкладке «Администрирование», в разделе «Поддержка и обслуживание»:

В самом низу:

Получите 267 видеоуроков по 1С бесплатно:

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

1С предложит варианты дублей:

На примере холодильника «СТИНОЛ»: система отметила элемент с окончанием «101» как оригинал, а элемент «103» как дубль. В окне справа мы видим, в каких документах участвует данных элемент номенклатуры.

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

B этой стaтьe мы рассмотpим возможность поиcка и удаления дублeй в «1С:Предприятие 8.3» и «1С:Предприятие 8.2». Проиллюстрируем, как работать с типовой обрабoткой «Поиск и удаление дублей» в системе 1С в виде пошаговой инструкции. А также подробно рассмотрим, как в 1С 8.3 осуществить поиск повторов и как правильно сделать удаление дублей.

Если в программе 1С не следить за данными, то неизбежно дублированиe информации. Чаще всего это происходит в справочниках «Номенклатуpа» и «Контpагенты».

Поиск и удаление дублей в «1С:Предприятие 8.2»

В 1С 8.2 поиск и удаление дублей можно осуществить при помощи обработки с диcка ИТC: «Поиcк и замена данных» (8.2). Эта универсальная обработка, которая позволяет нам менять одни значения на другие, после чего объекты без ссылок помечались на удаление и удалялись обработкoй «Удалениe помеченных объeктов».

Процесс поиcка и удалeния дублей в 1C 8.2 можно вести отдельными операциями:

  • Путём фиксирования наличия дубля в программе.
  • Определением наибольшего количества ссылок на найденную пару.
  • Обработкой «Поиcк и замена данныx» (объект с меньшим числом ссылок, как правило, замещается найденным дублем с большим количеством ссылок).
  • Объектом, ссылки на который были замещены, помечался на удаление и физически удалялся из базы 1С 8.2 по обработкe «Удаление помеченныx oбъектов».

Поиск и удаление дублей в «1С:Пред- приятие 8.3»

В программный продукт «1С:Бухгалтерия 8. Редакция 3.0» уже встpоен уникальный механизм поискa и устранения дублeй. Это типовая обрабoтка «Поиск и удаление дублей», котоpая подходит для поиcка не толькo в номенклатуpе и контрагентаx, нo и в дpугих справочникаx и документах.

Типовая обработка в 1С 8.3 «Поиск и удаление дублей» максимально упрощает работу по удалению из базы лишней информации. Причём, по правильному удалению – без нарушений учёта в базе данных!

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

Обработку можно вызвать:

  • Главное меню/Вcе функции/Обpаботки/Поиск и удаление дублeй.
  • Раздел Администрирование/Поддержка и обслуживание.
  • Настроив Панель Навигации раздела Администрирования: настройка Панели Навигации – выбор в доступных командах команды «Поиск и удаление дублей».

Возможности обpаботки «Поиск и удаление дублей»

Что нам нужно знать об этой обработке?

  • Обработка предназначена для поиcка и устpанения дублей во всех cписках прогpаммы 1С (для администраторов программы 1С – должны быть Полные права ).
  • Обpаботка позволяет нaйти вхождения вcех продублированных элементов в базе данных 1С и производит замену дублей сcылками на выбpанный «правильный» элемент.

Как работать с этой обработкой мы пошагово рассмотрим в этой статье.

Шаг 1. Запуск поиска дублирующих- ся элементов

Вызываем форму обpаботки «Поиск и удаление дублей».

Устанавливаем условия выбора элементов поиска:

1. Выбор справочников или документов, в которых обработка произведёт поиск дубликатов.

2. Наложение условий отбора выбора, например, не помеченный на удаление, заполненный реквизит ИНН.

3. Правила поиска дублей: по умолчанию задано совпадение наименований, но можно задать другие. Например, совпадение ИНН или кодов (при первом случае в 1С 8.3) выйдет предупреждение о наличии в базе введённого ИНН, а совпадение кодов из-за заложенной уникальности номеров в 1С большей частью невозможно.

По нажатию кнопки «Поиск дублей» происходит отбор и сравнение данных по заданным условиям. Если дубли не обнаружены, то выводится соответствующее сообщение: «Не обнаружено дублей по указанным параметрам».

При обнаружении дублей - выводится перечень дублей. Перечень состоит из 2-х частей: слева - найденные элементы. Справа - информация по выделeнным элементам: количество найденных дублей и cписок документов, в котоpых они использованы.

Шаг 2. Выбор оригинала

Один из элементов левой части автоматически программой 1С выбиpается как оригинал.

Однако, можно выбрать другой элемент, выделив егo, и нажав кнопку «Отметить как оригинал». Дубли в спиcке маркируются флажками.

Шаг 3. Непосредственно удаление дублей в «1С:Предприятие 8.3»

Удаление дублей происходит по кнопке «Удалить дубли». Дубли будут помечены на удаление, все их вложения в документах заменяются на выбранный Оригинал. Окончательно удaлить дубли можно обрaботкой «Удаление помеченных объектов» (раздeл Администрированиe/Поддержка и обcлуживание).

Пример удаления дублeй в справочникe «Банковские счетa»

Заполняем форму «Поиск и удаления дублей»:

1. Справочник банковские счета.

2. Не помечены на удаление.

3. Сравнивать по наименованию.

Например, в базе 1С 8.3 есть 3 дубля банковских счетов, посмотрим, как обработка удалит лишние ссылки:

нажимаем на кнопку «Найти дубли». Программа 1С 8.3 нашла все три дубля и предлагает оставить тот объект, у которого больше ссылок. Это разумно, так и делаем;

нажимаем кнопку «Удалить дубли». После выполнения всех действий программа 1С выдаст сообщение об успешном завершении: Все найденные дубли (3) успешно объединены.

Смотрим справочник «Банковские счета»:

два банковских счёта помечены на удаление. Теперь удаляем их по обработке «Удаление помеченных объектов» .

Будьте внимательны! Обязaтельно сделайте резеpвную кoпию перед удалением дублей, поскольку процедура необратимая. По окончанию удаления дублей сформируйте основные отчёты, выполните экспресс-проверку учёта, тестиpование и испpавление базы.

По материалам Профбух8.ру

Очень часто по вине пользователей в программе вводятся дубли элементов . Чаще всего такие случаи бывают при создании партнеров и номенклатуры. Пользователь может неверно провести поиск существующих элементов в базе и в результате создать новый элемент.

В результате мы получим два отдельных элемента, по которым ведется учет в программе. В таких случаях приходится придумывать различные методы как устранять эти элементы.

Например, в случае с дублями номенклатуры, объединять номенклатурные позиции-дубли в отдельную группу, редактировать документы, списывать-оприходовать товары и т.д. В общем «картина» печальная.

В релизе УТ 11.1.6 появилась замечательная возможность искать и удалять дубли элементов (справочников и т.п.), заменяя во всех местах использования дублирующие элементы выбранным.

Применимость

Статья написана для редакции УТ 11.1 . Если вы используете эту редакцию, отлично – прочтите статью и внедряйте рассмотренный функционал.

Если Вы работаете со старшими версиями УТ 11, то данный функционал является актуальным . Наиболее заметным отличием УТ 11.3/11.4 от редакции 11.1 является интерфейс Такси. Поэтому, чтобы освоить материал статьи – воспроизведите представленный пример на своей базе УТ 11. Таким образом, Вы закрепите материал практикой:)

Реализация поиска и удаления дублей элементов

Представим себе ситуацию, что в нашей базе есть два партнера «Иванов ООО» и «Иванович ООО». На обоих партнеров выписывались документы продажи товара и проводились приходные кассовые ордера.

Через некоторое время выяснилось, что это один и тот же партнер. Один менеджер записал партнера в базе как «Иванов ООО», а другой (когда выписывал новую реализацию) неверно расслышал наименование клиента и создал в базе партнера «Иванович ООО».

В результате в базе есть 2 продажи на партнера «Иванов ООО» и 2 продажи на партнера «Иванович ООО»:

А также 2 приходных кассовых документа на партнера «Иванов ООО» и 2 приходных кассовых документа на партнера «Иванович ООО»:

Для увеличения нажмите на изображение.

Для исправления сложившейся ситуации используемся новым механизмом УТ11 под названием «Поиск и удаление дублей».
Перейдем в раздел программы «Администрирование» – «Поддержка и обслуживание» и перейдем по гиперссылке «Поиск и удаление дублей».

Для увеличения нажмите на изображение.

Перед нами откроется окно обработки:

Для увеличения нажмите на изображение.

В поле «Искать в» укажем справочник «Партнеры».

В поле «Отбирать» укажем отбор по необходимым партнерам («Иванов ООО» и «Иванович ООО»), поскольку мы уже знаем, каких партнеров нам необходимо объединить. Гиперссылка примет значение условия отбора.

Для увеличения нажмите на изображение.

Обязательно нужно выбрать одно из правил. В нашем случае установим флажок напротив правила «Клиент» (поскольку в карточках обоих партнеров этот флажок установлен) и нажмем кнопку «Выбрать». После выбора гиперссылка поменяет значение.

Для увеличения нажмите на изображение.

После указания необходимых отборов и правил сравнения нажмем кнопку «Найти дубли».

В результате мы получим следующую выборку:

Для увеличения нажмите на изображение.

Список найденных дублей состоит из двух частей.

В левой части – найденные элементы. Показываются в списке в виде дерева. Группируются по наименованию.
В правой части выдается информация по выделенным элементам:

  • по группе элементов (т.е. по каждому наименованию) – отчет о количестве найденных дублей у выделенного элемента.

Для увеличения нажмите на изображение.

  • по элементам – отчет об использовании в программе. Здесь будет отображаться фраза «Не используется» или перечень документов (мест) программы, в которых использован этот элемент.

Для увеличения нажмите на изображение.

Один из элементов, которые используются в программе, автоматически выбирается как оригинал. В нашем случае это партнер «Иванов ООО». В обработке он помеченный синей стрелкой.

Для того чтобы поменять элемент, который необходимо оставить в программе, выделите его и нажмите кнопку «Отметить как оригинал».

Дубли в списке отмечаются флажками. В нашем случае – партнер «Иванович ООО».

Чтобы просмотреть выделенный элемент нужно нажать кнопку «Открыть» или же воспользоваться двойным щелчком мыши по элементу.

Оставим партнера «Иванов ООО» основным партнером-оригиналом.

После этого нажмем кнопку в обработке «Удалить дубли».

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

Для увеличения нажмите на изображение.

Проверим все ли верно программа выполнила.

Перейдем в справочник “Партнеры”:

Для увеличения нажмите на изображение.

Как видим, партнер-дубль «Иванович ООО» помечен на удаление. Все верно.

Перейдем в список документов продаж. Две продажи исправлены на партнера «Иванов ООО» (колонка «Партнер»). Но контрагент в документах не исправлен (колонка «Контрагент»).

Для увеличения нажмите на изображение.

Перейдем в список приходных кассовых документов. Здесь мы видим, что изменений нет.

Для увеличения нажмите на изображение.

В чем же причина?

Откроем один из приходных кассовых документов проведенный на «Иванович ООО».

Для увеличения нажмите на изображение.

В документе мы увидим, что в табличной части в поле «Партнер» обработка «Поиск и удаление дублей» заменила партнера «Иванович ООО» на партнера «Иванов ООО». В поле же «Контрагент» выбран элемент «Иванович ООО».

Откроем карточку контрагента «Иванович ООО».

Для увеличения нажмите на изображение.

Как видим, контрагент «Иванович ООО» привязан к партнеру «Иванов ООО». Т.е. обработка удаления дублей привязала контрагента «Иванович ООО» к партнеру «Иванов ООО».

Откроем карточку партнера «Иванов ООО» и перейдем в пункт панели навигации «Контрагенты». В списке будет отображаться два контрагента:

Для увеличения нажмите на изображение.

Получается, что партнеров мы объединили, но остались контрагенты, которых также нужно объединить в одного.

Опять воспользуемся обработкой «Поиск и удаление дублей». В поле «Искать в» укажем справочник «Контрагенты», в поле «Отбирать» укажем отбор по партнеру «Иванов ООО» и в поле «Сравнить» выберем правило «Партнер».

Для увеличения нажмите на изображение.

Нажмем кнопку «Найти дубли».

Для увеличения нажмите на изображение.

Ничего изменять не будем, жмем кнопку «Удалить дубли».

После проведения всех необходимых операций программа выдаст сообщение об объединении «Контрагентов» в один элемент.

Для увеличения нажмите на изображение.

Откроем карточку партнера «Иванов ООО». Мы увидим, что контрагент «Иванович ООО» помечен на удаление.

Для увеличения нажмите на изображение.

В списках документов продаж и приходных кассовых ордеров теперь отображается корректная информация. Т.е. у всех документах партнер «Иванович ООО» и контрагент «Иванович ООО» были заменены на «Иванов ООО».

Для увеличения нажмите на изображение.

Ну что ж, уважаемые читали, в данной статье мы рассмотрели новую обработку «Поиск и удаление дублей». Рассмотрели основные её настройки и принципы использования. Мы видим, что настройки не сложные, а функционал полезный.

Если информации в базе не много, то да, документы и справочники можно заменить вручную. Но если документов сотни, то их поиск и ручное исправление займет очень много времени.

С обработкой «Поиск и удаление дублей» никакие дубли Вам не страшны. Так, что вперед проверять, нет ли случайно в Вашей информационной базе дублей.

Из этой статьи вы научитесь удалять дубли в любых справочниках информационной базы, используя типовые возможности конфигурации.

Показывать буду на примере Бухгалтерии 3.0, в остальных конфигурациях аналогично.

Для примера удалим дубли в справочниках Номенклатура и Контрагенты . В первом случае будем искать элементы справочника, имеющие одинаковое наименование, а во втором - с одинаковыми значениями ИНН и КПП.

Удаление дублей номенклатуры

Заходим в обработку удаления дублей:


Форма обработки выглядит так:


В верхнем поле выбираем первый справочник, Номенклатура :

Если дубли нужно искать не во всем справочнике, а с каким-то отбором (например, только в определенной группе), тогда нужно настроить отбор элементов:


Но это не наш случай - нас интересуют дубли во всем справочнике, поэтому обойдемся без отбора.


По умолчанию указано, что сравнение будет идти по наименованию. Но давайте изменим тип сравнения на Наименование совпадает . Нажмем ОК , в результате будет так:

Теперь нажимаем внизу кнопку Найти дубли :


Видим список найденных элементов (столбей слева) и список объектов, в которых используются данные элементы (столбец справа). Синей стрелки обработка выделила оригиналы, в свою очередь все остальные признаны дублями. Программа в данной случае исходит из того, на какой элемент существует больше всего ссылок. Этот элемент и признается оригиналом. Пользователь при необходимости может это изменить, выделив нужный элемент и нажав кнопку Отметить оригинал .

Нажав Удалить дубли , увидим такое окошко:

После него появится сообщение со статусом обработки:


Т.е. Осталось в справочнике 2 элемента из 5 изначальных. Все ссылки заменены на эти два элементы. Но дубли программа не удалила, а только расставила на них пометки удаления и заменила их везде, где они использовались в программе на оригиналы. Удалять помеченные дубли будем чуть позже.


Удаление дублей контрагентов

В настройках правил поиска дублей в данном случае требуется отключить поиск по наименованию и активировать поля ИНН и КПП (чтобы именно по этим полям был осуществлен поиск). Все настройки поиска дублей настраиваются именно здесь.


Должно получится вот так:



Первые группы дублей - это некорректные данные демо-базы, не будем с ними разбираться. Для этого просто снимем с них галки, чтоб программа их не затронула. Обработаем последнего контрагента из списка.

Также нажимаем Удалить дубли .

Теперь давайте окончательно удалим объекты, помеченные на удаление:


Укажем выборочное удаление:


Выберем только контрагентов и номенклатуру:


Появится такое сообщение:


Если повторно попробуем найти дубли в номенклатуре, то программа в этот раз их уже не найдет:


Данная обработка позволяет выполнять поиск, замену и удаление дублирующихся элементов любого справочника.


Поиск может выполняться в двух режимах:


По равному значению реквизита,


По похожим словам


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


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

Настройка параметров поиска выполняется на закладке «Настройка» .


При этом обязательно следует указывать следующие параметры.


Вид справочника,


Имя реквизита - необходимо выбрать реквизит, по значению которого будет выполняться анализ


Режим поиска - в каком режиме будет выполняться поиск (описано выше).


Перечисленные выше поля являются обязательными для заполнения (отмечены другим цветом фона) - в противном случае обработка не выполнится. Кроме этого, в этом же списке также возможно выполнить ограничение отбираемых для анализа элементов справочника. Данное ограничение регулируется установкой отбора по значению любого реквизита справочника. При этом также возможен выбор типа сравнения значения реквизита со значением отбора. Например, данная возможность позволить отобрать и выполнить замену элементов с похожими наименованиями, входящих в одну и ту же группу справочника (отбор по значению поля «Родитель», тип сравнения «В иерархии»).


Кроме этого, при использовании режима поиска «по похожим словам», дополнительным параметром поиска является - «степень соответствия объектов». Значение данного параметра задается в отдельной форме настроек, вызываемой нажатием кнопки «Настройка» командной панели. Установка этого значения выполняется с помощью условной оценочной шкалы, имеющей крайние значения «Не отличаются» и «Значительно отличаются». Соответственно, при значении «Не отличаются» обработкой отбираются элементы, значения указанного реквизита которых отличаются только различным порядком слов в значении, например, «ЗАО ТД Нева» и «Нева ТД ЗАО». В случае установки значения параметра отличного от «Не отличаются» допускается как различия в составе слов значения («Свергуненко А.В., ИП» и «Свергуненко А.В»), так и различие в самих словах («Иванович» и «Ивонович»). Соответственно, в самом правом положении ползунка степень допустимого различия максимальна. По умолчанию значение данного параметра установлено как оптимальное для поиска, но в отдельных случаях может требовать изменения.


Запуск процедура поиска выполняется нажатием кнопки «Найти элементы».


Список найденных элементов отображается на закладке «Результаты поиска» . При этом потенциально дублирующиеся элементы разбиваются по отдельным группам. Выбор текущей группы для обработки выполняется с помощью выпадающего списка кнопки текущей группы, расположенной на командной панели. Причем, выводимый список элементов каждой группы возможно изменять - удалять элементы заведомо не являющиеся дублирующимися или, наоборот, вручную добавить элемент в список. (Данная возможность также позволяет не выполнять предшествующий поиск, а вручную заполнить весь список для последующей обработки, например, если никакими средствами получить желаемые результаты поиска не получается).


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


Результаты поиска ссылок на объекты отображаются на закладке «Замена» . После выполнения поиска нажатием кнопки «Выполнить замену» запускается замена всех ссылок на объекты на выбранный в предыдущем шаге правильный элемент.


Выполнение замены ссылок возможно выполнять в одной транзакции, путем установки флажка «Выполнять в транзакции». В этом случае замена будет произведена только для всех элементов одновременно. Любая неудачная попытка замены одной из ссылок отменит все сделанные до этого изменения в данных. При этом следует учитывать, что в некоторых случаях может сложиться ситуация, когда полностью автоматически замену выполнить не удастся. В таких случаях можно применять комбинированный подход - выполнять замену автоматически, после чего корректировать данные вручную, после чего опять запускать автоматическую замену. Соответственно, при таком подходе использование транзакции будет невозможным.


После того, как все ссылки на дублирующиеся элементы заменены на указанный правильный элемент (список найденных ссылок пуст) возможно выполнение процедуры непосредственного удаления этих элементов. Данная процедура запускается кнопкой «Удалить элементы».


После выполнения полного цикла поиска и замены элементов одной группы, возможен возврат на закладку «Результаты поиска» и выполнение данной процедуры уже для элементов другой группы. Повторного поиска похожих элементов выполнять не требуется.


ВАЖНО! При выполнении замены ссылок, контроля правильности устанавливаемых значений не выполняется. Также следует учитывать, что ссылки заменяются именно в том объекте, в котором они найдены. Например, если ссылка найдена в движениях документа, она будет заменена в наборе записей соответствующего регистра, сам документ при этом перепроводиться не будет! Кроме этого, необходимо помнить, что действия, выполняемые данной обработкой, являются необратимыми.