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


Данная обработка взята из Управление Торговлей 10.3.
Отличие от стандартной обработки в том, что она позволяет выполнять поиск, замену и удаление дублирующихся элементов не только справочников , но и любого ссылочного элемента: Документы, Справочники, Планы видов расчета, Задачи, Бизнес процессы, Планы видов характеристик, Планы счетов.

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

Выберем сперва тип данных как на скриншоте.

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

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

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

     

     

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

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

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

     

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

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

     

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

    Флажок "Отключить контроль записи при замене" устанавливает режим записи у объектов "Обмен данными" при замене ссылок.

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

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



    Файлы обработки:

    -