gifts2017

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

Опубликовал Денис Шарабоков (zShamaNz) в раздел Администрирование - Поиск данных

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

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

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

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

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

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

     

     

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

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

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

     

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

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

     

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

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

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

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



    Скачать файлы

    Наименование Файл Версия Размер
    ПоискИЗаменаДублирующихсяЭлементовВсеСсылки.epf 786
    .epf 54,97Kb
    29.11.11
    786
    .epf 54,97Kb Скачать

    См. также

    PowerTools от 1 000
    Подписаться Добавить вознаграждение
    Комментарии
    1. Александр Зубцов (iov) 29.11.11 23:18
    (0) А множественные фильтры ? И множественные сравнения? Не ну плюс конечно но блин маложеж. ;)

    2. Vladimir (Boroda) 29.11.11 23:50
    "Данная обработка взята из Управление Торговлей 10.3..." И, как я понял, расширен функционал. Но адаптирована ли она под иные конфигурации, нежели Управление Торговлей? Будет ли она нормально работать, без фокусов, скажем, в Бухгалтерии или ЗУПе и пр.?
    3. Денис Шарабоков (zShamaNz) 30.11.11 11:54
    (2) Boroda, она универсальна и подходит под любую конфигурацию, просто находилась в УТ.
    4. Денис Шарабоков (zShamaNz) 30.11.11 11:59
    (1) iov, я планирую сделать, но решил выложить что есть.
    5. Александр МАН (1977) 30.11.11 13:00
    А Комплексной Автоматизации не подойдёт?
    6. Виктор Левченко (lvictor58) 30.11.11 17:11
    (2) Boroda, Я попытался запустить ее в для изменения Видов расчета (в ЗУП) так вот: в документах "Перенос данных" она замену не осилила!
    7. Vladimir (Boroda) 30.11.11 18:20
    (6) Жаль! У меня в Переносах данных тоже куча дублирующей фигни... Вообще "Переносы данных" - очень специфическая штука, там ссылки на всё, поэтому может и не пойти. Под них что-то специальное писать надо. А это скорее под "нормальные" докумены, справочники и пр. сделано. Ладно, скачаю, попробую потестировать на обычных дублях.
    8. Яков Коган (Yashazz) 01.12.11 10:21
    БоянЪ. Уже бывали тут универсалки, заменяющие по ссылкам любых типов, и в т.ч. с красивыми отборами.
    9. Вадим Иванцов (grum01) 01.12.11 11:55
    Обработка стандартная, есть на любом диске ИТС и на сайте.
    Че у нас теперь плюсы за любой пустой трафик раздают?
    "-"
    10. Витос 1С (VitaliyPovod) 01.12.11 16:54
    iov пишет:

    (0) А множественные фильтры ? И множественные сравнения? Не ну плюс конечно но блин маложеж.


    Полностью согласен! :)
    11. Гость 01.12.11 16:56
    Yashazz пишет:

    БоянЪ. Уже бывали тут универсалки, заменяющие по ссылкам любых типов, и в т.ч. с красивыми отборами.


    Если не трудно можно поподробнее?
    13. Павел Ефименко (deusss) 02.12.11 07:19
    А скрины можно по качественнее. Я ничего разглядеть не могу, от этого не решаюсь скачать)
    14. Aleksey Yun (Lex1C) 02.12.11 11:11
    А документы она не "перепроводит"? т.е. Затрагивает только движения, и учет "не собьется"? Объекты меняются во всех регистрах и ссылках справочников? Я писал такое под 7.7 ну там приходилось сильно извращаться в глобальном модуле, писать обработку проведения специальную - чтобы в движениях документа ничего не трогалось, кроме указанных ссылок...
    15. Ольга Гайдукова (оля) 02.12.11 17:15
    В любом случае хорошая обработка
    16. Престиж Полякова (prestige) 04.12.11 10:19
    Решила комментировать все потенциально интересные обработки чтобы не потерялись, а на всех пригодившихся в реале ставить плюс. Пока камменты.
    17. Сергей Старых (tormozit) 06.12.11 19:05
    Похожая обработка "Поиск и замена дублей" есть в составе подсистемы "Инструменты разработчика" http://infostart.ru/public/15126/
    18. zif74 (zif74) 06.12.11 20:09
    19. Денис Шарабоков (zShamaNz) 12.12.11 13:41
    (9) grum01,отличия от стандарта описаны в шапке
    (17) tormozit, спс, нужно посмотреть))
    (14) Lex1C, Не проводит - только заменяет
    (13) deusss, )) время появится добавлю все необходимое
    20. Денис Маликов (FReIM) 15.12.11 17:44
    21. L K (ludai) 16.12.11 10:18
    (17) tormozit, если я правильно понимаю, эта обработка работает как внешняя, а чтобы той воспользоваться, надо будет объединять свою конфигурацию с той подсистемой. Меня вот очень интересует возможность заменить везде ссылку на элемент плана видов расчета в ЗУП, но вот навешивать на ЗУП ради этого подсистему не хочется.
    Надеюсь, эта обработка поможет.
    22. L K (ludai) 16.12.11 10:57
    Скачала, проверила. Ссылки в документах заменились, а в регистрах расчета нет:(((
    23. Денис Маликов (FReIM) 16.12.11 14:17
    Неплохо бы иметь возможность сортировать по выбираемому полю или представлению поля таблицу значений с найденными элементами.
    И вопрос. Во всех ли регистрах заменяются ссылки? А то вроде как ссылки находит, но вот меняет ли? По крайней мере в регистрах сведений точно находит.
    (17)
    Поскольку работаю с не типовой конфигурацией - могу заверить, что данная обработка сканирует дерево метаданных конфигурации без привязок к конкретной конфигурации.
    24. Денис Маликов (FReIM) 16.12.11 14:19
    (19) zShamaNz, Успехов в разработке! За обработку огромнейшее спасибо. Сэкономил уйму времени.
    25. L K (ludai) 16.12.11 15:30
    Стандартная обработка ПоискИЗаменаЗначений с диска ИТС отработала лучше((((
    26. Иван Шевченко (imshev) 29.12.11 10:43
    ludai пишет:

    Стандартная обработка ПоискИЗаменаЗначений с диска ИТС отработала лучше((((
    и у меня так же ((((
    27. Pavel Y (Pashikuss) 29.12.11 11:19
    ПоискИЗаменаЗначений однозначно лучше
    28. Оракул Айметдинов (jhfrek) 29.12.11 11:31
    С планами счетов не работает. По коду не могу найти.
    {Форма.Форма.Форма(2115)}: Поле объекта не обнаружено (ТипКода)
    Если Метаданные[ТипДанныхДляПоиска][мВидОбрабатываемогоСправочника].ТипКода = Метаданные.СвойстваОбъектов.ТипКодаСправочника.Число Тогда
    29. BlackJack BlackJack (blackjack666) 12.03.12 22:57
    Какие-то проблемы с поиском дублей.
    Мне нужно убрать лишние договоры. Делаю поиск по равному значению наименований с доп.группировками по владельцу и виду договора. Находит штук 6 (хотя их сотни), заменяю, запускаю заново - находит штук 5 и так далее. А если доп. группировку по владельцу не ставить, а поставить отбор, то нормально выдаёт все дублирующиеся договоры по выбранному контрагенту. Но вручную всех контрагентов пеербирать тоже не дело, их сотни.
    30. BlackJack BlackJack (blackjack666) 12.03.12 23:11
    При использовании доп.группировок по ним нужна сортировка запроса.
    31. Антон Антонов (materiy_boec) 20.04.12 10:40
    а если задублировались документы а номера у них есть разные а есть одиннаковые, обработка найдёт все или определённые только?
    32. alma soft (alma-soft) 11.05.12 16:07
    спасибо за работу автору, в качестве пожеланий мне например не хватает множественных фильтров, и как я понял нет нужной глубины просмотра, например если необходимо проверить на дубли не контрагента, а его договора.
    33. Dima K (H0SE) 11.05.12 17:30
    Спасибо за обработку.Очень сильно помогла ))
    34. Александр Иванов (ls300) 26.06.13 20:05
    Плюсище автору, очень выручил!
    35. А В (lock73) 15.07.13 16:41
    При использовании данной обработки были обнаружены некоторые проблемы при замене ссылок в ПВР. Выявленные проблемы решены в http://infostart.ru/public/194436/
    36. Марина Чирина (chmv) 15.07.13 16:44
    37. Ionmuerto 15.01.14 08:29
    Данная обработка Поиск и замена дублирующихся элементов справочников подходит под управляемые формы 1с Управление Торговлей 11.1?
    38. Денис Шарабоков (zShamaNz) 15.01.14 13:39
    она же универсальна, запустишь клиент в толстом режиме и будет счастье))
    39. Оксана Васильева (sayanogorsk) 05.05.14 16:02
    Обработка очень актуальна, особенно для ПВР. Но, к сожалению, не дорабатывает с некоторыми регистрами. Из-за чего в документе НЗРО замена происходит, а в движениях - не во всех, то же с документом премии, и, соответственно, документ Перенос данных вообще не обрабатывается.
    Можно ли поправить?
    40. Денис Шарабоков (zShamaNz) 05.05.14 17:03
    да, движения не обрабатываются, реквизиты объектов только. Я попробую модернизировать в ближайшее время..