gifts2017

Удаление помеченных объектов с отображением иерархии ссылок (с возможностью немонопольного удаления и быстрой очистки регистров сведений)

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

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

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

Обработка является универсальной и работает во всех конфигурациях на платформе 8.1, а также в конфигурациях на платформе 8.2 в режиме толстого клиента.

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

P.S. Старый скриншот оставил, так как в комментариях имеется ссылка на его содержание.

Преимущества и отличия данной обработки от встроенной:

  1. Отображение иерархии ссылок объектов (см. скриншот).
  2. Возможность удалять объекты не монопольно.
  3. Возможность отбора по метаданным.
  4. Возможность отбора по дате документов.
  5. Возможность очистки неподчиненных регистров сведений.
  6. Возможность пометки "зависимых" объектов на удаление.
  7. Возможность просмотреть иерархию ссылок на непомеченные на удаление объекты (например, удаляемый объект ссылается на непомеченную на удаление номенклатуру. В иерархии ссылок будут отображены все документы, в которых встречается данная номенклатура. Таким образом, можно быстро оценить, к чему приведет пометка на удаление номенклатуры).

Я крайне не рекомендую удалять объекты не монопольно, если есть реальная возможность удалить объекты штатными средствами.

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

Причины скачать:

  1. Быстрый и наглядный анализ возможности удаления объектов (что подтверждено опытом многих пользователей).
  2. Возможность отбора по метаданным и датам документов для анализа возможности удаления только тех объектов, которые Вас интересуют в данный момент.
  3. Простейшая очистка неподчиненных регистров сведений в один клик (например, версий объектов).
  4. Возможность групповой пометки на удаление объектов, из-за которых невозможно удаление объекта.
  5. Возможность открытия любого объекта из дерева, в том числе и записей неподчиненных регистров сведений (открывается форма списка по умолчанию, отфильтрованная по соответствующей записи).
  6. Возможность сформировать дерево объектов с анализом ссылок не только на помеченные на удаление объекты.
  7. Опыт эксплуатации более 400 пользователей бесплатной версии и ни единого комментария о найденных ошибках, только положительные отзывы.
  8. Успешный опыт применения данной обработки в масштабах крупного промышленного предприятия (4200+ работников)  для обслуживания нескольких информационных баз (ЗиК, УПП, Документооборот).
  9. Открытый код.
  10. Возможность использования обработки для регламентной очистки информационных баз от помеченных на удаление объектов (требуется доработка конфигурации клиента).

С 18.08.2015 публикация переведена из платных в условно бесплатные (покупка за $m), поэтому счетчик скачиваний обнулился.

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

Наименование Файл Версия Размер Кол. Скачив.
Обработка удаления помеченных объектов с отображением иерархии ссылок (с возможностью немонопольного удаления и быстрой очистки регистров сведений) - v8.2
.epf 20,95Kb
18.08.15
125
.epf 20,95Kb 125 Скачать
Обработка удаления помеченных объектов с отображением иерархии ссылок (с возможностью немонопольного удаления и быстрой очистки регистров сведений) - v8.1
.epf 21,15Kb
18.08.15
3
.epf 21,15Kb 3 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Зубцов (iov) 10.02.12 10:17
2. jetoo (Jetoo) 10.02.12 13:39
Каково количество уровней вложенности?
3. Дмитрий Луканов (TheGrr) 10.02.12 13:53
(2) jetoo, уровень вложенности не ограничен. Существует лишь условие, что один объект должен присутствовать в ветке один раз (иначе зациклится).
Но обработка формирует дерево в двух режимах:
1. Анализируются ссылки только на помеченные на удаление объекты.
2. Анализируются ссылки на все объекты (медленнее и рекомендуется при анализе возможности удаления какого-то одного типа метаданных). На скриншоте показан второй вариант, где отображаются ссылки на не помеченный на удаление документ внутреннего заказа. Если бы дерево формировалось в первом режиме, то ссылок на записи регистров сведений мы бы не увидели.
4. Дмитрий Луканов (TheGrr) 10.02.12 17:13
5. front11 (front11) 16.02.12 11:46
Особенности и отличия данной обработки от встроенной:
Отображение иерархии ссылок объектов.
Возможность удалять объекты не монопольно.
Возможность отбора по метаданным.
Возможность очистки неподчиненных регистров сведений.
Возможность пометки объектов на удаление.
Возможность просмотреть иерархию ссылок на непомеченные на удаление объекты (например, удаляемый объект ссылается на непомеченную на удаление номенклатуру. В иерархии ссылок будут отображены все документы, в которых встречается данная номенклатура. Таким образом, можно быстро оценить, к чему приведет пометка на удаление номенклатуры).


Столько информативности, спасибо!
6. d ryabov (ryabov_d) 17.02.12 11:39
Осталось только объединить эту обработку с обработкой по поиску дублей и замене значений)
7. Дмитрий Луканов (TheGrr) 17.02.12 12:05
(6) ryabov_d, вы правы. Поиском и заменой значений много дублей пришлось заменить :) Но для этого в стандартный поиск и замену значений добавил подбор. Если интересно, можете глянуть: Ссылка
8. d ryabov (ryabov_d) 17.02.12 13:01
(7) TheGrr,
Да, полезное добавление. Но я имел ввиду удаление второго значения после объединения дублей.
9. latrium (latrium) 23.02.12 13:43
Вот это полезная вещь. Спасибо огромное
10. Роман Романов (romansun) 23.02.12 14:14
вот чем мне всегда импонируют такие вещи - просто, наглядно и со вкусом. Без миллиона разных кнопок, закладок и режимов.

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

пасибо )
11. Дмитрий Луканов (TheGrr) 23.02.12 15:01
(10) romansun, спасибо за спасибо :) Приятно видеть лестные отзывы и отсутствие сообщений об обнаруженных багах :D
12. Игорь Дзеса (Kamikadze) 25.02.12 00:09
не пробовал, но судя по описанию затраты времени приличные. за это и плюс
13. Инга Поташова (inga75) 28.02.12 12:08
Очень необходимо, особенно когда много пользователей
15. Юрий Осипов (yuraos) 04.03.12 10:15
(3) TheGrr,
Респект и уважение автору и единомышленнику!
У меня есть аналогичная разработка, но для 1С-77.

Замечание насчет уровня вложенности - наверное следует его опционально ограничивать,
иначе на построение дерева ссылок может уйти много времени.
В моей выше упомянутой обработке есть ограничения на уровень вложенности и на максимальное число ссылок на один объект.
Если ограничения превышены - рекурсивный поиск прекращается.
Соответствующие строки выделяются в дереве ссылок красным цветом и не могут быть удалены.

Пара вопросов:
1) При построении дерева ссылок реально используется защита от зацикливания или
при наличии рефлексивных ссылок придется прерывать обработку насильственно?
2) Можно ли открывать объекты при клике в дереве (и выполнять прочие действия, например, пометить объект на удаление)?
В том числе при клике по строке сответствующей записи регистра?
В последнем случае было бы полезно открывать список записей регистра с активизацией нужной строки?
16. Дмитрий Луканов (TheGrr) 04.03.12 16:02
(15) yuraos,
1) Защита от зацикливания присутствует, в предыдущих комментариях я об этом писал.
2) Открывать объекты можно. Если это запись РС, то будет открыта дефолтная форма списка, отфильтрованная по соответствующей записи.

Пометить на удаление отмеченные объекты или же удалить записи неподчиненных РС также можно (это в подменю "Дополнительно").

По поводу ограничения уровня вложенности объектов. Для ускорения построения дерева поиск ссылок выполняется один раз в самом начале, при этом есть два режима поиска ссылок (в предыдущих комментариях они описаны). Соответственно ограничить уровень вложенности на этапе поиска ссылок не представляется возможным (без ущерба для быстродействия), так как неизвестно где в дереве окажется тот или иной объект.
17. Igor (balgarin) 07.03.12 14:20
классная вещь, удобнее чем штатная
18. Александр Щемелёв (zavyzka) 07.03.12 15:05
Штатная тоже не особо напрягает.
19. Дмитрий Луканов (TheGrr) 07.03.12 15:24
(18) zavyzka, отличия от штатной очевидны в плане удобства. И когда речь идет о сотнях и тысячах помеченных на удаление объектов, то анализировать возможность удаления данной обработкой на порядок удобнее, чем скакать по списку объектов штатной обработки.
20. arjuna (arjuna) 09.03.12 14:56
Да, таких нужных мелочей не хватало в стандартной обработке.
21. Lena_Rich (Lena_Rich) 09.03.12 16:33
Спасибо за обработку - чудная штучка! НАГЛЯДНО. Изящная работа. Автору респект.
22. Владимир Клименко (KliMich) 10.03.12 21:44
Спасибо! Намного лучше, чем стантартная
23. Гость 20.03.12 20:55
24. Дмитрий Титов (dtitov) 22.03.12 19:47
Очень достойно. Автору респект. С удовольствием плюсую!!!
25. Дандронтий Крузенштерн (dandrontiy) 27.04.12 10:31
А с чем связано ограничение, что если объект встретится два раза, то обработка зациклится ?
это написано тут: (3) TheGrr, ?
Вообще тема очень полезная и реализация судя по скриншоту достойная.
Спасибо большое!
26. Дмитрий Луканов (TheGrr) 27.04.12 10:42
(25) dandrontiy, приведу пример. Есть номенклатура, у которой задана единица хранения остатков. У единицы хранения остатков в свою очередь владельцем будет эта номенклатура. В дереве это будет выглядеть следующим образом:
Справочники
Номенклатура
Аптечка медицинская
шт

Если же не вводить ограничение, то получится зацикливание ветки дерева (из-за того, что единица измерения также ссылается на номенклатуру-владельца):
Справочники
Номенклатура
Аптечка медицинская
шт
Аптечка медицинская
шт
Аптечка медицинская
......
27. Александр Овсянников (_LEV_) 27.04.12 15:45
Поддерживаю - "Осталось только объединить эту обработку с обработкой по поиску дублей и замене значений) "
Разработка несомненно полезная. Спасибо.
28. Anna (AB3012) 27.04.12 23:19
вот чем мне всегда импонируют такие вещи - просто, наглядно и со вкусом. Без миллиона разных кнопок, закладок и режимов.

ссылку на такую работу не стыдно кинуть грамотному заказчику и не потребуется еще писать ему толстенное "руководство по эксплуатации" ПРИСОЕДЕНЯЮСЬ КО ВСЕМ ПОЛОЖИТЕЛЬНЫМ ОТЗЫВАМ ОЧЕНЬ ПОЛЕЗНАЯ ШТУКА...
29. Старый (Старый) 03.05.12 18:07
30. Лилия Корнеева (ulili) 04.05.12 12:50
Спасибо очень удобный инструмент!
31. Alex Stasyuk (GreenFox) 10.05.12 13:04
Спасибо попробую применить в своих разработках.
32. Юрий Н (graphbuh) 16.05.12 17:18
Интересно, а почему вы не сделали данную обработку платной? На текущий момент вполне оригинальный продукт.
33. Дмитрий Луканов (TheGrr) 16.05.12 17:23
(32) graphbuh, да была мысль сделать какой-то премиум функционал. Но не придумал какой XD А в виде "as is" Вы бы заплатили? :)
34. Дмитрий Луканов (TheGrr) 16.05.12 17:30
(32) graphbuh, да и к тому же плюсы не многие ставят, куда уж платить. А хочется, чтобы обработкой пользовались. Как вариант, можно оставить электронные кошельки и посмотреть на добровольную финансовую благодарность.
35. Юрий Н (graphbuh) 16.05.12 17:46
Я да. У меня была проблема - быстро поудалять объекты в 1С документооборот. А там как раз засада с регистрами.
И я наклепал подобную вашей штуку где то часов за шесть, увидел что не успеваю убрать все баги и поступил как все - тупой запрос и удаление всего и вся. Перед этим как раз искал на инфостарте и в принципе 1000-1500 руб готов был выложить за удобный инструмент. Т.е. как раз принадлежу к числу внедренцев которые покупают чужие разработки если это экономически выгодно. А вы убили прогресс на корню - т.к. если я сейчас просто выложу более убогий велосипед будут пинать. А если доработаю и выложу платный - запинают :) Поэтому будет лучше если вы учтете все замечания и сделаете в итоге продукт платным. И в принципе это честно. Т.к. те кто плюсовал скачали его бесплатно. Было бы неплохо для всех нас, если бы это превратилось в тенденцию.
36. Юрий Н (graphbuh) 16.05.12 18:17
Мне кажется добровольная финансовая благодарность это из области фантастики (сужу по себе). С одной стороны разработчик, в момент когда он творит, не должен думать о бабках и о времени. И часто хороший программист, не очень хороший менеджер и продавец. Плюс зачастую разработчик не может объективно оценить работу, это же его творение. Мне кажется для продвижения и полноценной обратной связи (не все же скажут разработчику, что они думают о продукте) нужен на сайте менедежер, который будет отбирать разработки, связываться с автором и , с его согласия , продвигать их. Вообще монетизация убила не один сайт, поэтому необходимо чтобы изменилась какая то критическая масса людей, которая поставляет разработки. Т.е. какой то свод правил, в котором будет пункт, что возможность делать свою работу качественно в рыночных условиях предполагает адекватную оплату. Если ты продал по демпинговой цене работу, ты подрываешь возможности качественного оказания услуг другими участниками.
37. Дмитрий Луканов (TheGrr) 16.05.12 19:11
(36) graphbuh, огромное спасибо за ценные мысли и рассуждения на тему :) Думаю, платной обработке быть. Главное, задать пинка в нужном направлении, что Вам, несомненно, удалось.
39. Александр Овсянников (_LEV_) 13.07.12 13:48
Мне кажется добровольная финансовая благодарность это из области фантастики (сужу по себе). С одной стороны разработчик, в момент когда он творит, не должен думать о бабках и о времени. И часто хороший программист, не очень хороший менеджер и продавец. Плюс зачастую разработчик не может объективно оценить работу, это же его творение. Мне кажется для продвижения и полноценной обратной связи (не все же скажут разработчику, что они думают о продукте) нужен на сайте менедежер, который будет отбирать разработки, связываться с автором и , с его согласия , продвигать их. Вообще монетизация убила не один сайт, поэтому необходимо чтобы изменилась какая то критическая масса людей, которая поставляет разработки. Т.е. какой то свод правил, в котором будет пункт, что возможность делать свою работу качественно в рыночных условиях предполагает адекватную оплату. Если ты продал по демпинговой цене работу, ты подрываешь возможности качественного оказания услуг другими участниками.

Полностью согласен - за хорошую работу нужно брать деньги.
40. Сергей Вн (EmpireSer) 08.08.12 09:44
(39) _LEV_, добровольная финансовая благодарность существует, но не в России, а в США и в Европе.
Например создатель протокола torrent и первого bittorrent клиента - не работает и его семья хорошо живёт на добровольные "благодарности" за его работу!
42. Юрий Осипов (yuraos) 29.01.13 14:23
(15)
ЗЫ
это когда коллега платно стало?
я то еще бесплатно скачал (за 1SM).
Что с тех времен что-то кардинально улутшилось в обработке ?
...
"портировать" штоли на 8.х свою аналогичную разработку под 7.7
в качестве альтернативы
;)
43. Дмитрий Луканов (TheGrr) 31.01.13 12:58
(42) yuraos, добавился отбор по дате документов, немного поправлено оформление :) В принципе, обработка получилась удобная и стоящая, поэтому прошу за нее денег. Ну и, что немаловажно, их платят. Поэтому делать бесплатной ближайшее время не планирую.

По поводу портирования - я только "За". Приветствую здоровую конкуренцию ;)
44. sip (sip) 01.10.13 12:21
45. Сергей Иванов (xten) 14.03.14 12:22
(Заказ № 53340 от 04.02.2014 22:18) Вроде бы дату обновили. Если есть обновление вышлете на мыло? Спасибо.
46. Сергей Иванов (xten) 14.03.14 12:24
47. Пабло (CaptainMorgan) 14.03.14 12:29
Классная обработка. Возможно даже кому-то нужная.
Но мне не понятно почему надо взять существующую типовую обработку, приделать бантик и сразу бежать на базар.
48. Дмитрий Луканов (TheGrr) 14.03.14 13:43
(47) CaptainMorgan, видать вы не сталкивались с необходимостью удаления десятков тысяч объектов и необходимостью быстрого анализа возможности удаления данных объектов. Плюс возможности быстрой очистки неподчиненных РС и пометки на удаление зависимых объектов.

Обработка экономит время, а соответственно и деньги. Если считаете, что с помощью данного инструмента Вы не сэкономите больше 1500 руб. (в чем я лично сомневаюсь, если стоит задача регулярного удаления объектов), то пользуйтесь стандартными средствами удаления объектов.
49. Дмитрий Луканов (TheGrr) 14.03.14 14:03
(44) sip, так по идее должна работать в толстом клиенте 8.3. Извините, что долго отвечал, не увидел комментарий. Т.е. данную обработку можно запустить даже на базах, которые полностью написаны на управляемых формах. Достаточно запустить базу в режиме толстого клиента. Переделку под управляемые формы посчитал нецелесообразной :) Сорри.
50. Екатерина Н (katenok86) 20.10.16 14:03
Здравствуйте! Можно ли вывести на печать дерево удаляемых объектов с ссылками а объекты, препятствующими удалению (например, прав. кнопкой - вывести список)?
51. Дмитрий Луканов (TheGrr) 24.10.16 23:22
(50) katenok86, это обычное табличное поле. Все стандартные функции доступны. В том числе и вывод в табличный документ
52. Екатерина Н (katenok86) 21.11.16 17:46
Здравствуйте. Нашла у себя на сервере Вашу обработку. Качала вроде в 2012 году. Только она выдает ошибку на объекты, если имя объекта имеет более 1 первой заглавной буквы. Ошибка, к примеру:

{ПланОбмена.ФИБОбменБухгалтерскимиСправками.МодульМенеджера(777,32)}: Переменная не определена (ФИБОбменБухгалтерскимиСправками)
ВерсииФормата.Вставить("1.0", <<?>>ФИБОбменБухгалтерскимиСправками);

Подскажите, в текущей версии обработки ошибка исправлена?
53. Дмитрий Луканов (TheGrr) 23.11.16 13:22
(52) katenok86, так это ошибка не в обработке же. У вас в коде ошибка. Выполните синтаксический контроль модулей, он укажет на проблемное место (хотя его и так видно: в модуле менеджера плана обмена ФИБОбменБухгалтерскимиСправками перейдите к 777 строке, там используется ранее не объявленная переменная).
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа