Удаление объектов универсальная: выборочная очистка базы через внешнюю обработку
Давно у меня была обработка, которая мне помогала при различных чистках баз. Решил сделать аналог для управляемых форм — с небольшим дополнением.
«Удаление объектов универсальная» — скачайте .epf и откройте в своей базе: конфигурацию не меняем. Управляемые формы, привычная компоновка для отбора, просмотр найденных объектов и ссылок, удаление выбранных строк или удаление по дереву. В актуальной версии добавлено фоновое удаление через БСП с прогрессом по потокам.
- Удаление необратимо. Сначала отработайте сценарий на копии базы.
- Подбор и удаление могут занять время. Если доступен реальный фон БСП, ход удаления отображается на вкладке «Прогресс удаления».
- Кнопка «Прервать удаление» работает кооперативно: отмена запрашивается для фоновых заданий и применяется не мгновенно, а по мере обработки текущих пакетов.
- Если включены «Фоновое выполнение» и «Выполнять в транзакции», транзакция охватывает один пакет/поток, а не всё удаление целиком.
Содержание
- Запуск обработки
- Вкладки окна
- Типовой порядок действий
- Вкладка «Главная»: дерево и отбор
- Группа «Настройки» — что означают флажки
- Команды
- Вкладка с таблицей результатов
- Два способа удаления
- Фоновое удаление и прогресс
- Примеры экрана
- Где открывать
Запуск обработки
Сохраните файл внешней обработки (.epf) на диск. В 1С откройте его через меню работы с файлами (внешние обработки) или добавьте в справочник дополнительных отчётов и обработок — так, как принято у вас в организации.
Заголовок окна: «Удаление объектов универсальная». Режим: управляемое приложение (тонкий или толстый клиент).
Вкладки окна
Главная
Дерево типов объектов с колонками «Синоним» и «Тип», блок «Настройки», стандартный отбор СКД, команды «Показать отобранные объекты», «Удалить объекты без просмотра (быстро)», «Общий отбор» и «Удалить отбор из всех».
Просмотр и выбор…
Полное имя вкладки: «Просмотр и выбор отобранных объектов (для ссылочных объектов)». Список найденных объектов и команды «Установить все», «Снять все», «Выбрать можно удалить», «Удалить выбранные», «Показать ссылки».
Прогресс удаления
Статус фонового удаления и таблица потоков: поток, состояние, обработано, всего, ошибок, удалено, пропущено. Здесь же находится команда «Прервать удаление».
Типовой порядок действий
Вкладка «Главная»: дерево и отбор
- Дерево — типы объектов конфигурации (справочники, документы, регистры сведений и др.) с колонками объекта и типа. Флажок на строке включает объект в дальнейшие действия по дереву.
- Отбор — стандартный элемент настроек компоновки данных (фильтр по полям выбранного объекта). Настройки для каждого объекта хранятся отдельно: переключите строку дерева и при необходимости задайте другой отбор.
- Общий отбор — применяет текущий элемент отбора к выбранным объектам дерева, если поле есть в их СКД. «Удалить отбор из всех» убирает такой элемент из сохранённых настроек.
Группа «Настройки» — что означают флажки
| Элемент | Смысл для пользователя |
|---|---|
| «С» — «-» (даты), «Для всех объектов» | Ограничение по периоду там, где это поддерживается для выбранных типов; «Для всех объектов» расширяет применение дат по правилам обработки. |
| Проверять ссылочность | Перед удалением проверяются ссылки на объект; в таблице результатов учитывается возможность удаления. |
| Очищать ссылки | Позволяет очищать ссылки в других объектах по правилам обработки (осторожно: меняет связанные данные). |
| Очищать связанные регистры сведений | Дополнительная очистка записей регистров, связанных с объектом. |
| Только помеченные на удаление | В выборку попадают только объекты, уже помеченные в базе на удаление. |
| Выполнять в транзакции | Группировка записей в транзакции по этапам; точное поведение см. в тексте подтверждения перед удалением. |
| Подсчитывать количество ссылок | Считает, сколько других объектов ссылается на найденные; колонка заполняется при выполнении «Показать отобранные объекты», операция длится дольше. |
| Полностью очищать регистры сведений | Для отмеченных в дереве регистров сведений — режим полной очистки (не для справочников/документов в смысле «удалить элемент»). |
| Фоновое выполнение | Пытается запускать удаление через БСП «Длительные операции» без длительной блокировки формы. Если реальный фон недоступен, обработка предупреждает пользователя и выполняет синхронное удаление. |
| Потоков удаления | Количество фоновых заданий: от 1 до 16. В файловой базе задания обычно выполняются последовательно; реальная параллельность ожидается в клиент-серверном варианте. |
Команды
Подписи и состав действий — как на скриншотах интерфейса обработки.
| Команда | Что делает |
|---|---|
| Показать отобранные объекты / Показать объекты | Строит список объектов по текущим отборам и параметрам «Настройки» и показывает его на вкладке «Просмотр и выбор отобранных объектов…». |
| Удалить объекты без просмотра (быстро) | Запускает удаление по выбранным в дереве типам и их отборам сразу, без предварительного просмотра и отметок в таблице на вкладке просмотра. |
| Установить флажки / Снять флажки | На «Главной» ставит или снимает отметки в дереве объектов; для группы метаданных действие распространяется на дочерние строки. |
| Установить все / Снять все | Ставит или снимает отметки во всех строках списка на вкладке «Просмотр и выбор отобранных объектов…». |
| Выбрать можно удалить | Отмечает только строки, для которых удаление допустимо (объекты без блокирующих ссылок при включённой проверке ссылочности). |
| Удалить выбранные | Удаляет объекты в строках списка, которые вы отметили флажком на вкладке просмотра. |
| Показать ссылки | Открывает окно со всеми ссылками на объект из текущей строки списка (где он используется в данных). |
| Общий отбор | Применяет текущий элемент отбора к выбранным объектам дерева, у которых есть подходящее поле. |
| Удалить отбор из всех | Удаляет текущий элемент отбора из сохранённых настроек выбранных объектов. |
| Прервать удаление | Запрашивает остановку текущего фонового удаления и отменяет зарегистрированные фоновые задания, если их идентификаторы доступны. |
Таблица на вкладке просмотра
В списке выводятся отобранные объекты, признак пометки удаления в базе, при включённом подсчёте — число ссылок, признак возможности удаления, тип. Чтобы не удалить лишнее, пользуйтесь «Выбрать можно удалить» и командой «Показать ссылки».
Два способа удаления — не перепутайте
«Удалить выбранные» — удаление только тех строк списка на вкладке «Просмотр и выбор отобранных объектов…», которые вы отметили флажком.
«Удалить объекты без просмотра (быстро)» — удаление по настройкам на «Главной» без работы со списком на вкладке просмотра.
Перед выполнением всегда проверьте отборы ещё раз и при сомнениях сделайте резервную копию базы.
Фоновое удаление и прогресс
Флаг «Фоновое выполнение» включает запуск удаления через БСП: ДлительныеОперации.ВыполнитьВФоне. Для реального фонового режима база должна содержать БСП-механизмы дополнительных отчётов и обработок, а сама обработка должна быть найдена в справочнике дополнительных отчётов и обработок. Если эти условия не выполнены, будет показано предупреждение, после чего удаление пойдёт синхронно.
Поле «Потоков удаления» задаёт число фоновых заданий от 1 до 16. Объекты делятся между потоками; прогресс отображается на вкладке «Прогресс удаления» в колонках «Поток», «Состояние», «Обработано», «Всего», «Ошибок», «Удалено», «Пропущено». Для удаления по дереву с регистрами сведений или с режимом полной очистки регистров обработка использует штатный синхронный сценарий.
Кнопка «Прервать удаление» запрашивает остановку: обработка проставляет признак отмены и пытается отменить фоновые задания. Уже начатый пакет может завершиться до фактической остановки.
Примеры экрана
Ниже показаны основные экраны обработки.

Рис. 1 — Дерево, настройки и отбор для выбранного объекта.

Рис. 2 — Таблица найденных объектов и командная панель.

Рис. 3 — Результат команды «Показать ссылки».

Рис. 4 — Статус фонового удаления и таблица потоков.
Где открывать
Обработка рассчитана на платформу 1С:Предприятие 8.3 в режиме управляемого приложения.
Тестировалась на конфигурации «Зарплата и управление персоналом», редакция 3.1 (3.1.36.75), но должна работать и в других конфигурациях на управляемых формах, если в базе есть БСП. Функциональность зависит от метаданных той информационной базы, в которой вы открыли файл: дерево и отборы строятся по её составу. Реальный фоновый режим требует БСП с подсистемой дополнительных отчётов и обработок; без неё удаление выполняется синхронно.
Если что-то в списке команд или вкладок отличается от описания — сверьтесь с актуальной версией вашего файла .epf: подписи элементов берутся из формы обработки.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.392
Вступайте в нашу телеграмм-группу Инфостарт