Поиск дублей в номенклатуре 1с 8.3. Бухучет инфо. Где находится обрабoтка «Поиск и удаление дублей»

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

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

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

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

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

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

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

  • найденные дубли

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

  • установка эталонного значения

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

  • не является дублем

Поиск дублей 1С 8.3 подсветит эти объекты серым, это значит что они не будут участвовать в процедуре склеивания.

В последних редакциях конфигурации на базе 1С 8.3 появилась отличная возможность автоматизировать поиск и замену дублей справочников. Это делается в помощью специальной обработки 1С - Поиск и замена дублей. Она встроена в такие прикладные решения на управляемых формах как: Бухгалтерия 3.0, Управление торговлей (УТ) 11, Управление небольшой фирмой, ЗУП 3.0, ERP 2.0.

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

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

Обработка для поиска дублей и удаления дублей в 1С 8.3

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

В самом низу:

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

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

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

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

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

1С подсветит эти объекты серым, это значит что они не будут участвовать в процедуре склеивания.

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

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

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

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 изначальных. Все ссылки заменены на эти два элементы. Но дубли программа не удалила, а только расставила на них пометки удаления и заменила их везде, где они использовались в программе на оригиналы. Удалять помеченные дубли будем чуть позже.


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

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


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



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

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

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


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


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


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


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