Найти дубли в регистре сведений 1с

Обновлено: 06.07.2024

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

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

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

Ситуация

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Ищем дубли

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

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

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

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

Кстати, подписывайтесь на новые уроки.

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

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

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

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

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

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

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

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

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

То есть, если вы в поле "Отбирать" поставили "Все элементы" и дубли не нашлись - смысл в настройке поля "Отбирать" нет. Оно позволяет только сузить результаты, но не расширить.

Уфф. надеюсь я кому-то помог сэкономить время. До меня самого почти час доходило что же я делаю не так.

А тем кому нужен более настраиваемый поиск по дублям я советую подсистему "Инструменты разработчика".

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

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Анна Викулина

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

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

Для поиска и удаления дублей, в программе 1С Бухгалтерия 8.3 предусмотрена одноименная обработка. Рассмотрим принцип ее работы.

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

Открыть обработку можно в разделе меню «Администрирование» - «Обслуживание» перейдя по гиперссылке «Поиск и удаление дублей».

В открывшемся окне необходимо указать область поиска, заполнив поле «Искать в:».

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

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

В этом случае можно сопоставить элементы по каким-то другим реквизитам. Для справочника «Контрагенты» – это ИНН, КПП, для справочника «Номенклатура» – Артикул и т.п.

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

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

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

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

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

Рис.8 Поиск и удаление дублей в списках номенклатуры

Рис.8 Поиск и удаление дублей в списках номенклатуры

Аналогично предыдущему описанию ищем и удаляем дубли.

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

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

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

Дата публикации 13.11.2019

Использован релиз 3.0.73

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


  1. Раздел: Администрирование – Обслуживание.
  2. В блоке "Корректировка данных" перейдите по ссылке "Поиск и удаление дублей".
  3. Установите правила поиска дублей и запустите поиск:
    • В поле "Искать" выберите область поиска (справочник, вид документа и др.) (рис. 1).
    • В поле "Отбирать" задайте условия, по которым будут отбираться элементы для поиска дублей – по кнопке "Выбрать" (в поле справа) откройте форму "Правила отбора", добавьте правила (кнопка "Добавить новый элемент") и укажите для каждого правила элемент отбора, вид сравнения и значение.
    • По ссылке в поле "Сравнивать" установите правила поиска дублей – отметьте флажками реквизиты, при совпадении которых элементы будут считаться дублями (рис. 2). Совпадение может быть полным (правило "Совпадает") или неполным (правило "Совпадает по похожим словам" (не для всех реквизитов)).
    • Запустите поиск дублей по кнопке "Найти дубли".
  4. После выполнения поиска в левое окно формы будут выведены элементы, имеющие дубли, в правое окно – объекты, которые имеют ссылки на найденные элементы с дублями (рис. 3). Элемент с наибольшим количеством ссылок на него автоматически признается основным (оригинальным) и помечается значком (рис. 3).
  5. По кнопке "Отметить как оригинал" можно изменить основной (оригинальный) элемент (рис. 4).
  6. По кнопке "Удалить дубли" на основной (оригинальный) элемент будут перенесены все ссылки из объектов информационной базы, а дубли будут помечены на удаление.
  7. Удаление помеченных объектов выполняется обработкой "Удаление помеченных объектов" (раздел: Администрирование).





Цель данной статьи – помочь начинающим разработчикам немного лучше разобраться с таким важным аспектом программирования на платформе 1С 8.3 как запросы.

Разберем на простом примере, как с помощью такого инструмента как консоль запросов найти дублирующие друг друга записи в справочнике 1С 8.3. Согласитесь, ведь зачем перегружать справочник лишними элементами, если у нас уже есть элемент с такими реквизитами.

Пример будет показан на самой простой конфигурации 1С 8.3. За основу была взята учебная конфигурация, с помощью которой специалисты сдают экзамен. После чего в справочнике номенклатура был добавлен дополнительный реквизит «Производитель». Теперь откроем режим предприятия, добавим в справочник «Номенклатура» по три дубля двух наименований (причем у двух из них будет также совпадать и производитель).



Откроем консоль запросов и для начала напишем следующий текст:



В данном запросе происходит группировка выборки по названию, а к полю «Ссылка» применяете функцию «Количество» 1С.


Тем самым узнаем, сколько с таким названием элементов справочника.


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



2. Добавление поиска по производителю

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



Теперь выполним его и проверим полученный результат:



Таким образом можно построить и гораздо более сложные запросы для поиска дублей. Нужно всего лишь добавить в выборку новое поле и сгруппировать.

Читайте также: