Поиск и удаление дублей элементов. Удаление дублей в справочниках Удаление дублей в 1с 8.3

Удаление дублей в справочниках 1С

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

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

ВАЖНО! Данная обработка подходит как для 1С Предприятие: Управление торговли 10 так и для 1С Предприятие: Бухгалтерии 2.0. В 1С Предприятие: Бухгалтерия 3.0 это обработка встроена по умолчанию в Обработках – Поиск и удаление дублей.

Описание работы обработки

ВАЖНО! В первую очередь сделать архивную копию базы . Далее необходимо зайти в базу 1С в пользовательском режиме «1С:Предприятие» и запустить обработку «Поиск и замена дублирующих элементов справочников» с помощью пункта меню Сервис – Универсальные обработки – Поиск и замена дублирующих элементов справочников, либо в пункте меню Файл нажать кнопку Открыть:

На экране должно появиться следующее:

Выбираем справочник в котором присутствуют дублирующие элементы, в поле «Справочник»

Поле «Реквизит поиска» указываем реквизит для поиска дублей:

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

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

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

Если в группе один из элементов выделен жирным цветом, значит в данной группе определен «Правильный элемент».

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

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

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


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


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


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


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


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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

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

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

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

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

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

В самом низу:

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

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

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

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

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

Поиск и удаление дублей в 1С:Бухгалтерия 8.3 (редакция 3.0)

2017-04-17T11:25:19+00:00

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

В 1С:Бухгалтерия 8.3 уже встроен механизм для поиска и устранения дублей. Это универсальная обработка "Поиск и удаление дублей ", которая подходит для поиска дубликатов не только в номенклатуре и контрагентах, но и в других справочниках.

Рассмотрим её использование на примере справочника "Контрагенты".

1. Итак, у нас есть контрагент "Аэрофлот" в папке покупатели.

2. И его дубликат (полная копия), случайно заведенная в папке поставщики. ИНН у обоих элементов совершенно одинаковый.

Наша задача воспользоваться обработкой по поиску и замене дублей так, чтобы она нашла эти элементы, указала (сопоставив их ИНН), что один дублирует другого и объединила их в один элемент.

Открываем обработку

3. Чтобы открыть обработку для поиска дублей нужно зайти в меню "Все функции"( Если у вас его нет - вам . ).

И выбрать среди всех обработок "Поиск и удаление дублей".

Настраиваем условия

4. Форма обработки перед нами. Укажем область для поиска дублей, нажав на три точки в поле "Искать в".

5. Выберем "Контрагенты" и нажмем кнопку "Выбрать".

6. Нажмем на кнопку троеточие в поле "Пометка удаления равно нет":

7. И добавим ещё одно правило отбора (кнопка "Добавить новый элемент").

8. В качестве поля для отбора выберем...

9. ... выберем ИНН.

10. В качестве вида сравнения укажем "Заполнено" и нажмём кнопку ОК:

Таким образом мы будем осуществлять поиск среди всех контрагентов, у которых заполнен ИНН.

11. Осталось задать критерий для сравнения. Нажмите пункт "Наименование совпадает по похожим словам".

12. В открывшихся правилах поиска дублей снимите галку рядом с полем "Наименование".

13. И установите галку рядом с полем "ИНН" и выберите в качестве правила для ИНН пункт "Совпадает". Нажмите кнопку "Выбрать".

Ищем дубли

14. Внизу окна нажмите кнопку "Найти дубли".

15. А вот и наш аэрофлот. Вернее два аэрофлота. И места использования каждого из них. Тот аэрофлот, рядом с которым зеленая стрелка, 1С считает главным и при удалении дублей останется именно он. Если выбор 1С оказался ошибочен - выделите другой элемент и нажмите кнопку "Отметить как оригинал". Установите галки рядом с элементами, которые по-вашему мнению являются дублями главных элементов. Теперь нажмите кнопку "Удалить дубли".

16. Обработка рапортует нам, что дубли объединены в один элемент и теперь вместо двух аэрофлотов у нас один, что и требовалось получить!

Мы молодцы, на этом всё

Кстати, на новые уроки...

Важное замечание

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

Обработка позволяет сравнивать поля друг с другом всего по двум правилам (пункт "Сравнивать"):

  • полное совпадение
  • совпадение по похожим словам, причём мы не можем настраивать эту похожесть

Всё. Других вариантов нет.

Это значит, что мы не можем настроить обработку на поиск дублей по своему принципу.

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

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

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

УДАЛЕНИЕ ДУБЛИКАТОВ В СПРАВОЧНИКАХ

1. Причины возникновения дубликатов в справочниках

Проблема дубликатов в справочниках возникает во всех базах данных, не исключение и 1С (ИБ - информационные базы в терминах 1С). Основные причины возникновения дубликатов в справочниках следующие:

  • Человеческий фактор
  • Ошибки политики обмена

При больших базах данных и большом количестве пользователей дублирование элементов справочника неизбежно. Чаще всего это происходит из-за отсутствия регламентных документов: за какие справочники кто должен отвечать и как эти справочники контролировать. Чаще всего ИБ - продукт коллективного творчества, за работу которой никто не несет ответственности. Это тема отдельной статьи.

Рассмотрим возникновение дубликатов справочников на примере конфигурации «Бухгалтерия предприятия 8» (БП ). Наиболее «захламленные» справочники это «Контрагенты» и «Номенклатура» . Это естественно, т.к. с этими справочниками работают практически все пользователи.

Простые повседневные примеры из работы небольшого предприятия.

  • Справочник номенклатуры достигает сотен тысяч наименований. Если он плохо структурирован, дубликаты неизбежны. Пришел товар на склад. Кладовщик не смог правильно выбрать товар из справочника (новый неопытный кладовщик или старый раздолбай). Заводит новую позицию в справочнике. Особенно актуально, когда складов много, работают с одной (не дай бог, распределенной) базой данных. В центральном офисе концы с концами свести не могут. Пример навскидку из реальной ИБ. Сравните номера 3148 и 3150. Найдите различия.

00000003146

Лист оцинк. плоский 0.7*1250*2500

00000003148

Лист оцинкованный

Лист оцинкованный

шт

00000003147

Лист оцинкованный

Лист оцинкованный

00000003149

Лист оцинкованный кг

Лист оцинкованный кг

кг

00000003150

Лист оцинкованный шт

Лист оцинкованный шт

шт

00000003151

Лист оцинкованный 2,0-0,5 м

Лист оцинкованный 2,0-0,5 м

шт

  • Справочник клиентов достигает десятков тысяч наименований. Сотрудников, которые продают товар, почему-то везде называют «менеджеры», хотя слово «менеджер» переводится как «управляющий» - «приказчик» по-русски. По моим наблюдениям у этой категории сотрудников самая большая текучесть кадров. У хорошего менеджера есть свои клиенты. И фирмы переманивают успешных менеджеров с его клиентами. Новый сотрудник, плохо ориентируясь в новой для него ИБ, наплодит массу дубликатов. Без комментариев.

000006108

КАМАЗ-ЛИЗИНГ-Сервис-Ногинск ОО

ООО "КАМАЗ-ЛИЗИНГ-Сервис-Ногинск" Ногинское ОСБ 2557 г.Ногинск

5031079232

000006028

КамАз-Лизинг-Сервис-Ногинск ООО

ООО "КамАз-Лизинг-Сервис-Ногинск"

  • При обмене информацией между двумя ИБ должна строго соблюдать технология обмена данными. Для примера возьмем две самые распространенные конфигурации БП и ЗУП. Ввод в справочники и обмен данными между конфигурациями должен быть строго регламентирован. Если одновременно ввести два совершенно одинаковых элемента в справочники в обоих этих конфигурациях (например, в справочник «Физические лица»), а затем произвести обмен между конфигурациями, то произойдет дублирование элементов справочника. Причина в том, что каждая запись в 1С8 имеет свой уникальный идентификатор. Сравнение записей происходит по нему, а не по содержанию как в 1С7. Поэтому две совершенно идентичные с точки зрения пользователя записи для системы 1С8 будут различными. Сотрудник введен одновременно в БП и ЗУП (это видно по разной кодировке в конфигурациях).

4536-0028

Комаров Юрий Николаевич

00004717

Комаров Юрий Николаевич

2. Поиск и замена дубликатов

Для поиска дубликатов существует много обработок, в частности на сайте Инфостарт (выбраны только для 1С8):

Универсальная обработка для поиска дубликатов по любому справочнику и любому реквизиту

Поиск дубликатов по справочнику «Физические лица» с учетом дней рождения

Поиск дубликатов по справочнику «Контагенты» с учетом ИНН

Поиск дубликатов по справочнику «Контагенты» с учетом реквизитов

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

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

Предлагается следующая последовательность действий для каждого актуального справочника:

  • Поиск дубликатов с помощью вышеперечисленных обработок
  • Анализ каждого дубликата справочника. Для каждого задублированного элемента справочника нужно оставить один экземпляр, остальные пометить на удаление. Например, два задублированных элемента справочника. Один старый, основной, с которым давно работали. Второй введен недавно, случайно, по ошибке. Оставляем первый, второй помечает на удаление.
  • Заменить ссылки с помеченных на удаление объектов на основные. Новый, ошибочный элемент введен не просто так, скорее всего на него ссылается один из новыхдокументов. Поэтому в этом документе ссылку с нового, задублированного элемента справочника необходимо изменить на основной, правильный элемент справочника.
  • Выполнить удаление помеченных объектов, т.е. удалить их из ИБ для избежания путаницы.

Эти операции необходимо производить с помощью обработок, находящихся на диске ИТС, их список находится .

Замена ссылок производится с помощью обработки «ПоискИЗаменаЗначений. epf » .

Внимание! Эта обработка универсальная. Она меняет любые ссылки! Пользоваться ей нужно очень аккуратно (граната в руках обезьяны)!!! Потренируйтесь на тестовой ИБ.

Запускаем обработку через основное меню «Файл/Открыть» . На экране появится форма обработки. На ней жмем на значок «Добавить» (или на клавишу Insert ). Добавится строка замены, в которой будем указывать «что заменять» и «на что заменять». Таких строк можно добавить несколько, но лучше не рисковать и менять ссылки по одной.

В верхнем окне обработки появится строчка. Настроим раздел «Что заменять» . Жмем на кнопку «Т» - выбор таблицы.

Появится окно с объектами конфигурации ИБ (справочники, документы). Выберем справочник «Контрагенты» для удаления из него дубликатов.

Аналогично настроим раздел «На что заменять» . Щелкаем по пустому полю. Появляются аналогичные кнопки. Жмем на «Т» , выбираем справочник «Контрагенты» .

Вернемся в раздел «Что заменять». В окне кнопка «Т» сменилась на кнопку «…» - выбор записи из справочника «Контрагенты» :

Жмем на нее и в списке выбираем помеченные нами ранее объекты. Ранее был проведен анализ «ненужных» записей и они были помечены к удалению. В приведенном примере в названии четырех организаций встречается слово «Вега». Два элемента справочника полностью совпадают. Это подтверждает не только одинаковые названия, но и одинаковые ИНН. Помечен к удалению новый элемент с большим кодом, т.к. считаем, что у более старого элемента уже имеется своя история

Выбираем элемент 6158. Система предупредит, что мы выбрали элемент, помеченный на удаление. Соглашаемся.

На форме обработки в разделе «Что заменять» появится название контрагента.

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

Экран обработки принял следующий вид:

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

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

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

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

Замену лучше производить последовательно. Сначала выполняем замену для договора - снимаем «галочку» с первой строки.

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

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

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

По умолчанию помечены к удалению все объекты. Можно «галочками» выбрать необходимые. Нажмите на кнопку «Контроль». Будет выдано сообщение:

Если сказать «Да» обработка попытается удалить помеченные объекты. Удаление произойдет, если на удаляемые объекты не имеется ссылок. Если сказать «Нет» , то после контроля будет выведен список ссылок для каждого объекта, который можно просмотреть и проанализировать.

Например для нашего контрагента «ВЕГА-М» ссылок не найдено и объект может быть удален из ИБ. Это отмечено зеленой «галочкой», список ссылок в нижнем окне пуст.

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

Для этого контрагента необходимо проделать такие же операции, какие были проделаны для контрагента «ВЕГА-М».

Для удаления объектов из ИБ необходимо нажать на кнопку «Удалить» . Будут удалены все объекты, помеченные к удалению, на которые не имеется ссылок.

В заключение еще раз напоминаю, что описанные операции производят необратимые изменения в ИБ. Пользоваться указанными обработками можно только имея хорошее понимание выполняемых действий и хороших навыков.