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