gifts2017

Мастер поиска и удаления

Опубликовал Константин Хрипков (mbreaker) в раздел Администрирование - Чистка базы

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

Небольшое предисловие.

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

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

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

Принцип работы прост до безобразия: указали объект и нажали "Произвести поиск" (альтернативно можно просто перетащить объект на поле списка), пробежались глазами по объектам, дабы исключить попадание в этот список лишних, и нажали кнопку "Удалить" для непосредственного удаления (о, как же не хватало порой этой заветной кнопки непосредственного удаления!) или "Пометить на удаления" для последующей обработки штатными средствами (обе кнопки находятся в меню "Действия", также доступны хоткеи Ctrl+F8 и F8 соответственно).

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

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

Обработка позволяет корректно отработать такие "кольцевые" рефренсы, как "Единицы измерения" в УТ или УПП. Кто сталкивался с удалением номенклатуры в этих конфигурациях, знает, что штатной обработкой крайне сложно производить выборочные удаления. А те, кто вплотную занимается внедрениями на УПП с использованием РАУЗ, наверняка оценят поиск и корректное удаление ключей аналитики, у которых отсутствует непосредственная связь с объектами аналитики.

Из дополнительных возможностей: регулировка макимальной глубины рекурсивного поиска (бегунок справа от списка), поддержка drag'n'drop, открытие отдельных окон поиска для объектов из списка найденных ссылок, прикрепление окна к краю + возможность сделать окно прячущимся.

Отдельно также стоит отметить наличие опции "стоп-лист". Наличие в найденных ссылках объектов типа, присутствующего в стоп-листе, блокирует возможность удаления выбранного объекта. Это бывает полезно при глобальных чистках больших баз, например при такой оперции, как удаление одной из организаций в мультифирменной БД. В ходе удаления встречается ситуация, когда у контрагента в качестве основного назначен договор с удаляемой организацией. Но удалять контрагентов вместе с организацией было бы не правильным. Для исключения такого удаления тип "Справочник.Контрагенты" просто добавляется в стоп-лист и пока все контрагенты не будут исключены из списка найденных ссылок, обработка не даст удалить выбранную организацию.

P.S. Любителям холиваров на тему "такое нельзя давать в руки пользователям" отвечу сразу: нельзя - не давайте! Кстати, для таких специально предусмотрел возможность в модуле обработки определить режим работы обработки (по умолчанию РежимУдаления = 2):

// Значения режимов:
// РежимУдаления = 0; Только поиск ссылок
// РежимУдаления = 1; Поиск ссылок и пометка на удаления
// РежимУдаления = 2; Поиск ссылок, пометка на удаление и непосредственное удаление

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

Наименование Файл Версия Размер Кол. Скачив.
Внешняя обработка "Мастер поиска и удаления"
.epf 49,71Kb
27.03.14
279
.epf 1.0.1 49,71Kb 279 Скачать

См. также

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

Комментарии

1. rasswet (rasswet) 02.04.14 08:59
не было у вас случаев, когда часть надо удалить, а часть перекинуть? Например по одному сотруднику часть документов удаляем, а парочку хотим к другому сотруднику перепривязать. Возможно было бу удобно к вашей идее сделать и такой механизм?
2. юрий гулидов (gull22) 02.04.14 09:09
3. rasswet (rasswet) 02.04.14 09:10
не было у вас случаев, когда часть надо удалить, а часть перекинуть? Например по одному сотруднику часть документов удаляем, а парочку хотим к другому сотруднику перепривязать. Возможно было бы удобно к вашей идее сделать и такой механизм?
4. Константин Хрипков (mbreaker) 02.04.14 11:45
(3) rasswet, были, но для подобных случаев есть более подходящие средства. Например более "тяжёлая" разработка http://infostart.ru/public/175028/. Или предварительная обработка иными средствами (их много) перед запуском моей утилиты. Я не зря написал в описании "хотелось чего-то с одной стороны простого в работе, но максимально эффективного". Призвание данной обработки - быстрый и удобный поиск, анализ найденных ссылок и возможность рекурсивной зачистки. Превращение этого средства в "Инструменты разработчика" не предполагалось.
5. DAnry (DAnry) 03.04.14 19:06
Илюстрация класная, и главное "в тему". Практически не было пользователя, на моей памяти, который бы не задал вопроса: "Почему я не могу удалить помеченный на удаление объект?" Многим очень тяжело объяснить эту премудрость. С вашего разрешения буду пользоваться впредь этим доходчивым рисунком.
Shanya1983; ivnik; Mi4man; rayastar; EmpireSer; spetzpozh; GATTUSO; +7 Ответить 1
6. Константин Хрипков (mbreaker) 03.04.14 21:57
(5) DAnry, конечно пользуйтесь. Абсолютно не возражаю.
7. Тарас Курдельчук (softgarant) 14.04.14 17:45
Илюстрация - то что надо)
8. Юрий Баранов (YuriNevermind) 19.05.14 18:26
Подскажите пожалуйста, как добавить и запустить эту внешнюю обработку? Платформа 8.3.4.389
Документооборот 1.3.1.5
9. Юрий Баранов (YuriNevermind) 20.05.14 11:34
Пытаюсь запустить эту обработку ДрагНДропом и через Файл->Открыть, открывается пустое окошко, работает только вывод справки, что я делаю не так?
10. Константин Хрипков (mbreaker) 22.05.14 01:32
(9)Вы пытаетесь открыть обработку из под интерфейса управляемых форм (УФ) без режима совместимости с "обычными" формами. К сожалению чисто технологически это невозможно, т.к. конфигурация 1С:Документооборот одна из первых, которая написана исключительно под УФ. Единственный вариант - это завести пользователя, для которого будет запускаться режим "обычных" форм (см. настройки пользователя БД через Конфигуратор).
11. Нарек Мартиросян (KreditNIK) 28.05.14 17:28
подскажите, что-то не могу начать работать с ней. Она заточена под УТ 11,1???
12. Константин Хрипков (mbreaker) 04.06.14 13:07
(11) KreditNIK, обработка сделана в неуправляемых формах, запускать её на УТ 11 нужно под пользователем с режимом запуска = "Обычное приложение".
13. юрий гулидов (gull22) 20.06.14 11:18
Не виден бегунок в Управление производственным предприятием, редакция 1.3 (1.3.52.1)
14. Константин Хрипков (mbreaker) 20.06.14 15:22
(13) gull22, обработка совершенно самостоятельная, поэтому от конфигурации или её версии совершенно не зависит видимость элементов. Могу посоветовать сбросить персональные настройки основной формы обработки. Для этого нужно установить фокус на любом элементе формы и нажать Alt+Shift+R или кликнуть правой кнопкой мыши на заголовке формы и выбрать "Восстановить положение окна".
15. Евгений Чекушкин (check2) 06.04.15 21:33
Шикарная обработка! Спасибо. Из пожеланий могу добавить разве что возможность задавать несколько ссылок.
16. pavel ev (pavelyar) 06.04.15 21:58
Не нашел ,на УФ работает?
17. Константин Хрипков (mbreaker) 07.04.15 07:07
(15) check2, спасибо за признание труда. Всегда приятно услышать приятное, и плевать на тавтологию! ))
С несколькими ссылками неоправданно усложняется логика работы, поэтому отказался от этой идеи.
Но там включена возможность открыть ссылку из списка в новом окне для параллельной работы.
18. Константин Хрипков (mbreaker) 07.04.15 07:11
(16) pavelyar, под УФ адаптировать обработку пока не стал, т.к. УФ накладывает много ограничений на подобные вещи.
Для УФ могу посоветовать пользоваться ключом стартера /RunModeOrdinaryApplication для запуска приложения в режиме ОФ.
19. Abadonna Abadonna (abadonna83) 11.11.16 16:40
Мне обработка понравилась. Очень помогла при удаление элемента справочниками с большим количеством ссылок.. Однозначно рекомендую.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа