Свертка дублирующихся справочников (управляемые формы)

Опубликовал Сергей (strange2007) в раздел Администрирование - Чистка базы

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

Краткое описание возможностей и функционала:

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

Из минусов и осторожностей:

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

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

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

Наименование Файл Версия Размер
СвёрткаДублей_УФ.epf
.epf 80,74Kb
24.11.16
22
.epf 80,74Kb 22 Скачать
СвёрткаДублей_УФ.epf
.epf 80,92Kb
20.01.17
1
.epf 80,92Kb 1 Скачать

См. также

Комментарии
1. rjhev korum (корум) 303 24.11.16 11:50 Сейчас в теме
(0) есть отличия от тысяч клонов?

Сам писал или переделка чего-то найденного?
strange2007; +1 Ответить
2. Сергей (strange2007) 124 24.11.16 12:18 Сейчас в теме
Есть небольшие отличия гибкостью настроек и широтой возможностей. Например, можно сделать так, что дублем будут считаться элементы у которых владелец будет один из нескольких. Алгоритм можно внести любой, в зависимости от ситуации.
Так-же определение правильного элемента можно вертеть-крутить как угодно, в т.ч. и по кол-ву ссылок на тот или иной элемент.
С нагрузкой и информативностью можно много чего понаделать. Например, при поиске ссылок нагрузку на сервер можно увеличить, а при определении правильных сделать больше упор на информативность, чтобы примерно представлять сколько ещё часов всё будет работать.
И да, сам писал. Совсем сам.
корум; +1 Ответить
3. rjhev korum (корум) 303 24.11.16 12:49 Сейчас в теме
4. Agema Z (Agema) 24.11.16 13:28 Сейчас в теме
Пока почитаю отзывы. Пригодится
5. Сергей (strange2007) 124 25.11.16 07:55 Сейчас в теме
Нашёл! Инструмент создавался примерно месяц. Из них 12 дней активной работы и 7 дней доработок по чуть-чуть
6. Александр (МимохожийОднако) 116 30.11.16 08:10 Сейчас в теме
(0) В БП3.0 есть встроенная обработка ПоискИУдалениеДублей. Она сильно отличается функциональностью от данной обработки?
7. rjhev korum (корум) 303 30.11.16 09:40 Сейчас в теме
(6) по описанию, отличается сильно. при определении верного истинного элемента можно опираться на свой код, на "правильного" владельца, на нужный префикс и т.д.

Держу на заметке, но пока необходимости нет - не качаю.
8. Сергей (strange2007) 124 30.11.16 09:41 Сейчас в теме
(6) Скорее всего отличия есть. Может плохо смотрел, но там не нашёл как свернуть дубль, например:
1. "Козлов Иван "
2. "Иван Козлов..."
9. Сергей (strange2007) 124 30.11.16 09:48 Сейчас в теме
(7) Так и я её первую версию (под ТК) делал от необходимости, а не от пальцегнутости)))))
По правде там ещё небольшая вкусность в полной автоматизации и в работе с нагрузкой на компы. Но это можно оценить в критических ситуациях
10. Дмитрий Жиляков (Zhilyakovdr) 79 30.11.16 17:48 Сейчас в теме
Не изобретайте велосипеды
http://infostart.ru/public/124277/
Открывать в режиме обычного приложения
11. Сергей (strange2007) 124 01.12.16 04:50 Сейчас в теме
(10) Это очень хорошая разработка, но она не перекрывает весь спектр задач, которые преследовал я. А именно там не нашёл информации по распределению нагрузки. Т.е. запусти я подобный инструмент на любом предприятии, где имеется приличная нагрузка на сервера и заказчик меня бы порвал))))))))
Так же там не нашёл каким образом сравнить, например, номенклатуру у которых:
1. Могут совпадать артикулы.
2. Если п.1 не выполняется, то сравнивать по набору свойств.
3. Если п.2 не выполняется, тогда сравнить по наличию остатков в базе.

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

Хотя конечно же, может я там много галочек и кнопочек не нашёл. Не спорю.

В общем каждый сам для себя выбирает, что и как использовать. И да, для обычных форм подобный инструмент я создал в 2010 году)))))
12. Дмитрий Жиляков (Zhilyakovdr) 79 01.12.16 10:05 Сейчас в теме
(11)
1) Любые технические работы выполняются когда сервер меньше всего нагружен, чаще всего ночью;
2) По поводу 3х пунктов, просто напросто создается три настройки;
3) Гнать с***ым веником тех людей которые так зас**ли базу;

"В общем каждый сам для себя выбирает, что и как использовать" - полностью согласен)))
А лучше всего, когда такие инструменты использовать не надо)))
strange2007; +1 Ответить
13. Дмитрий Г (Дмитрий74Чел) 14 19.12.16 14:47 Сейчас в теме
(10) Ха-ха. А если сервер 1С в другоми домене и вообще в N км от разработчика? Например на Канарских островах? Для "обычного приложения" нужен толстый клиент - а он на узком канале просто не взлетит.
Плавали, знаем. Просто поместили базу в ЦОД крупного провайдера, но канал оказался не очень - только в тонком клиенте все работает.
P.s. Конфигураторы разрабов - в другом серваке. А на боевом - только главный страшный прог.
14. Сергей (strange2007) 124 20.12.16 07:15 Сейчас в теме
(13) Немного не понял что этим хотели сказать или в чём была ирония. Инструмент, предложенный в этой ветке использует средства 1С для передачи информации между сервером и клиентом, поэтому если всё остальное работает, то и инструмент должен справиться со своей задачей.
Или смысл в (13) был про другое? Уточните.
15. Дмитрий Жиляков (Zhilyakovdr) 79 20.12.16 09:48 Сейчас в теме
(13) Про RDP и другие удаленки не слыхали.... У нас в организации около 30 своих точек и еще сеть франчази, все на нашей поддержке, разбросаны по всей стране. У большинства интернет через свистки и файловые БД и все работает нормально, а вы тут на ЦОДы жалуетесь....
16. Сергей Д (dddxddd) 17.01.17 12:43 Сейчас в теме
Пытаюсь свернуть дубли номенклатуры в БП 3.
На закладке "для запроса" при выборе "наименование" для метаданных "номенклатура" странный вариант отбора "<" ">" и т.д. интересно, это что имеется ввиду?
Пытаюсь в этой закладке отобрать для поиска дублей номенклатуру у которой одинаковые единицы измерения, но что-то не получается.
17. Сергей (strange2007) 124 20.01.17 07:17 Сейчас в теме
(16) На закладке "для запроса" задаются условия для запроса. Запросом выбирается начальный список который потом анализируется на элемент наличия дублей. Т.е. в этой закладке, например, можно выбрать только элементы без групп (ЭтоГруппа = Ложь ). Больше или меньше, это тоже условия для запроса. Например, если надо исходный список построить по условию "выбрать всех контрагентов у которых минимальное кол-во дней долга 10", тогда условие на этой закладке надо сделать "ДнейДолга > 9".
Описание поиска самих дублей описывается на второй закладке. В Вашем случае я бы сделал так:
На первой закладке запрос обрезал по группам, т.е.
ЭтоГруппа = Ложь
Т.о. будет выбран список состоящий только из элементов и без групп.

На второй закладке "Поиск дублей" добавить тоже только одну строку
ЕдиницаИзмерения Равенство
Т.о. сравниваться номенклатуры будут только по реквизиту ЕдиницаИзмерения.

На третей закладке "Определение правильного" рекомендуется только установить флаг "Поиск ссылок перед отображением дублей".
Т.о. для каждого элемента будут найдены все ссылки, чтобы при автоопределении правильного обработка выбирала правильным тот элемент, у которого больше всего ссылок.
И всё. Если больше условий нет, тогда можно запускать выполнение
18. Сергей (strange2007) 124 20.01.17 07:20 Сейчас в теме
(16) Если база очень большая и там много кто работает, то надо "играться" с механизмом нагрузок. Тут чуть позапутаней, но оно того стоит.
Ах да, чтобы скорость не была слишком долгой, то не заставляйте механизм "нырять" сильно часто на клиента, но и слишком редко тоже плохо, т.к. не видно где он там копошится и сколько времени осталось.
Оставьте свое сообщение