Реализовано два алгоритма: Полный и Упрощенный.
При ПОЛНОМ режиме контроля в список «удаляемых» включаются помеченные на удаление объекты:
1. Не имеющие ссылок;
2. Имеющие в ссылках только записи в регистрах сведений;
3. Имеющие только одну ссылку — самого себя;
4. Не имеющие неудаляемых ссылок (используется рекурсивная проверка ссылок).
В Упрощенном режиме контроля п.4 не выполняется.
Для удобства работы с отдельными помеченными объектами реализовано несколько функций на командной панеле списка ссылок.
Если у вас сильно засоренная база внушительных размеров, эксплуатируемая большим количеством пользователей круглосуточно и нет никакой возможности монопольного запуска на достаточно продолжительный период времени, возможен следующий вариант использования данной обработки:
Делаем копию базы.
В копии запускаем обработку.
Нажимаем кнопку ЗАПОЛНИТЬ.
Проставляем флаги.
Нажимаем кнопку КОНТРОЛЬ.
…
По окончании контроля, справа на форме появится таблица со ссылками на объекты, которые можно удалить.
Жмем на ней правой кнопкой и выполняем команду .
Сохраняем его в формате mxl. Кнопку УДАЛИТЬ НЕ нажимаем, потом эти объекты могут пригодиться.
Далее, стартуем обработку в рабочей базе.
Жмем кнопку ЗАПОЛНИТЬ.
Сверху справа на форме есть поле для выбора вашего сохраненного в формате mxl файла, выбираем его и нажимаем кнопку с синей стрелкой. Заполнится таблица объектов, которые можно удалить.
Проставляем флаги на этой таблице и жмем кнопку УДАЛИТЬ (внизу справа).
Примечание. Если удаляется много объектов, то лучше все-таки само удаление выполнять монопольно. Оно не так долго выполняется, как контроль.
Важно! «битые ссылки» могут образоваться в том случае, если за время выполнения контроля или после того, как сделали копию базы, кто-то «распометил» помеченные объекты.
Риск будет минимальным при работе вторым вариантом (через копию). При заполнении таблицы (нажали синюю стрелку),
будут выдаваться сообщения типа — не найден. Это как раз те, которые «распометили».
Если в базе все-таки появились ссылки , легко определить по копии, что это были за объекты и восстановить их переносом из скопированной базы (есть обработка — универсальный обмен между идентичными базами).
А в чем преимущества (недостатки) по сравнению с аналогичной обработкой с диска ИТС?
Присоединюсь к (1).
(1) plevakin,
+1
Отбора по метаданным не хватает.
Го на диск ИТС…!
Благодарю за подсказку, сходила на диск. Знала бы, ее бы допилила, но гимнастика для мозгов тоже нужна. Алгоритм контроля другой, мой отработал немного быстрее, хотя на большой базе не проверяла. Я свою задачу решала — удалить все, но не мешать юзерам, поэтому контроль на копии, а потом удаление в рабочей базе по уже готовому списку.
Это полезная фича.
Плюс за осторожность работы с базами.
Сама идея удалять на копии — очень интересна. Вот как бы копию зделать, не выгоняя пользователей в файловой бд? Это если пользователи работают круглосуточно … А если нет … то можно удалить и штатными средствами без гемороя …
а я пользовалась обработкой удаления с инфостарта с отбором по метаданным и не знала что она на диске ИТС есть
Вещь, конечно, полезная. Но аналогов в интернете много, есть и покруче
За старания +.Полезно.
А мне она понравилась. Для себя доработал: добавил в вызовы
процедур, где идет обращение к данным привеигированный режим исполнения
кода. Теперь можно не имея прав работать с удалением.
Большая работа! Спасибо автору!
Понравилась обработка — наглядно и полезно
Люди добрые, а о какой обработке с диска ИТС идет речь? Где лежит?
D:1CItsEXEEXTREPSUNIREPS8
Спасибо большое за обработку.
Сейчас протестируем.