Как удалить дубли в 1с 8.3. Удаление дублей в справочниках. Реализация поиска и удаления дублей элементов

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

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 ссылок.

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

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

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

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

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

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

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

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


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


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

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


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


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

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


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

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

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


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


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

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


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



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

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

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


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


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


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


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


Если возникла ошибка связанная с дублями физических лиц можно воспользоваться обработкой «Поиск и замена значений», скачать ее можно с официального сайта 1С https://its.1c.ru/db/metod8dev/content/3683/hdoc . Ниже показан пример на конфигурации 1С:Зарплата и управление персоналом редакции 2.5.

Допустим в нашем случае при приёме ранее уволенного сотрудника, создали новое физическое лицо (получается задвоение физических лиц, физ. лицо всегда должно быть строго одно!!! ), а в начисления зарплаты выходило старое физическое лицо, соответственно по вновь принятому сотруднику нет начислений и невозможно сформировать никакие данные по сотруднику, например 2НДФЛ и т.д. И так после того как скачали обработку, ее нужно запустить, для этого извлекаем содержимое из скаченной папки, нам нужен файл указанный на скриншоте ниже.

Рис.1. Обработка

Запускаем 1С, в левом верхнем углу нажимаем Файл-Открыть.

Рис.3. Запуск обработки

После чего откроется окно обработки

Рис.4. Окно обработки

В окне обработки в поле «Что заменять» соответственно нужно выбрать пункт, который нам нужно заменить в нашем случае это старое физ лицо, а в поле «На что заменять» поле, которое нужно присвоить. Выбираем и нажимаем «Найти ссылки».

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

Петропавловский Владислав. Специалист Линии консультаций

В последних редакциях конфигурации на базе 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.ру

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то