Администрирование · 10 мин
Как в 1С убрать помеченные на удаление объекты
Как в 1С окончательно удалить помеченные объекты: обработка «Удаление помеченных объектов», контроль ссылок, права, монопольный режим и типичные ошибки.
Пометка на удаление в 1С — это только первый этап: объект остаётся в базе, перестаёт участвовать в проведении и отчётах, но продолжает занимать место и мешать поиску. Окончательно убрать такие записи можно штатной обработкой «Удаление помеченных объектов», которая проверяет ссылки и удаляет только те объекты, на которые никто не ссылается.
Ошибки на этом этапе опасны: удаление «вслепую» может разрушить целостность данных, а работа без резервной копии не оставит шанса на откат. Поэтому важно понимать, как работает механизм контроля ссылочной целостности, какие права нужны и что делать, если объект не удаляется.
Что происходит при пометке на удаление
Когда пользователь нажимает «Пометить на удаление» (Delete или F8 в зависимости от конфигурации), 1С не стирает запись, а лишь устанавливает у объекта служебный признак. Помеченный документ исключается из проведения, его движения по регистрам стираются, а в списках он отображается с перечёркнутой пиктограммой.
Физически запись остаётся в таблицах базы данных. Это сделано намеренно: на объект могут ссылаться другие документы, элементы справочников и записи регистров, и мгновенное удаление разрушило бы эти связи. Поэтому второй этап — контролируемое удаление — выполняется отдельной процедурой с проверкой ссылок.
Подготовка: резервная копия и монопольный доступ
Перед любым массовым удалением сделайте выгрузку информационной базы через «Администрирование → Выгрузить информационную базу» (файл .dt) или штатный бэкап средствами СУБД, если база клиент-серверная. Удаление помеченных объектов — необратимая операция: восстановить данные можно только из копии.
Обработка удаления требует монопольного доступа к базе. В файловом варианте попросите всех пользователей выйти, либо завершите сеансы через консоль кластера (для серверных баз) или через «Администрирование → Пользователи → Активные пользователи», если в конфигурации есть такая возможность. При активных сеансах обработка откажется работать или завершится с ошибкой блокировок.
Запуск обработки «Удаление помеченных объектов»
В конфигурациях на управляемых формах (Бухгалтерия, Управление торговлей, ERP и подобных) путь такой: раздел «Администрирование» → группа «Обслуживание» → пункт «Удаление помеченных объектов». Если пункт не виден, проверьте права — обработка доступна пользователям с правами администратора или ролью на удаление помеченных объектов.
В конфигурациях с обычным интерфейсом (например, старые версии УПП, «Комплексная автоматизация») обработка находится в меню «Операции → Удаление помеченных объектов». Внешне обработки отличаются, но логика одна: система сканирует базу, строит список помеченных объектов и проверяет ссылки.
- 1Сделайте резервную копию базы (выгрузка .dt или бэкап СУБД).
- 2Завершите сеансы всех пользователей и фоновые задания.
- 3Откройте «Администрирование → Обслуживание → Удаление помеченных объектов».
- 4Выберите режим: «Автоматическое удаление всех помеченных объектов» или «Выборочное удаление».
- 5Нажмите «Удалить» и дождитесь окончания контроля ссылок.
- 6Просмотрите список неудалённых объектов и разберите ссылки, мешающие удалению.
- 7Повторно запустите обработку после устранения связей.
Режимы удаления: автоматическое и выборочное
Режим «Автоматическое удаление» пытается удалить все помеченные объекты за один проход. Это быстрый вариант для регулярной регламентной чистки, когда вы уверены, что помечено только действительно лишнее. Система сама удалит всё, что не имеет ссылок, и покажет перечень того, что удалить не удалось.
Режим «Выборочное удаление» отображает дерево помеченных объектов, где можно снять флажки с тех, что трогать не нужно. Этот вариант безопаснее, если в базе работает много пользователей и кто-то мог пометить нужный объект по ошибке. Перед запуском полезно развернуть список и проверить хотя бы крупные группы: контрагентов, номенклатуру, документы за последние периоды.
Сравнение вариантов
Подходит для регулярной регламентной чистки. Быстро, но удаляет всё подряд — ошибочно помеченное пропадёт без проверки.
Подходит, когда пометки ставят разные пользователи. Позволяет отфильтровать лишнее, но требует времени на просмотр списка.
Вариант для разработчиков: УстановитьПометкуУдаления + УдалитьОбъекты. Гибко, но при ошибке в коде можно удалить нужное — только на копии.
Что делать, если объект не удаляется
Если после работы обработки объект остался в списке неудалённых, причина почти всегда одна — на него есть ссылки. Обработка показывает, какие именно объекты мешают: это могут быть документы, другие элементы справочников, записи регистров сведений. Откройте список ссылающихся объектов двойным щелчком по строке.
Дальше два пути. Первый — заменить ссылку: открыть мешающий документ и указать в нём другой элемент (например, актуального контрагента вместо дубля). Для массовой замены дублей удобна штатная обработка «Поиск и удаление дублей» («Администрирование → Обслуживание → Корректировка данных»). Второй путь — пометить на удаление и сам ссылающийся объект, если он тоже не нужен, а затем повторить удаление.
Отдельный случай — ссылки из «закрытых» периодов. Удалять документы прошлых отчётных периодов, чтобы освободить контрагента, нельзя: это исказит учёт. В такой ситуации объект оставляют помеченным либо снимают пометку и просто прекращают его использовать.
Как выбрать действие
Ограничения, права и типичные ошибки
Удаление может блокироваться не только ссылками. Дата запрета изменения данных (настройка в «Администрирование → Поддержка и обслуживание» или в разделе настроек прав) не даст пометить или удалить объекты закрытого периода. Также мешают: отсутствие прав у пользователя, установленный режим совместимости с подчинёнными объектами (например, нельзя удалить элемент справочника, пока существуют помеченные подчинённые элементы — они удаляются вместе с владельцем или требуют отдельной обработки).
После большого удаления физический размер файла базы не уменьшится автоматически: освободившееся место остаётся «внутри» файла. Для файловых баз выполните тестирование и исправление с включённой опцией сжатия таблиц (chdbfl или конфигуратор → «Администрирование → Тестирование и исправление»), для серверных — штатные средства сжатия СУБД.
Проверка результата
После завершения обработки убедитесь, что удаление прошло корректно. Откройте списки, где были помеченные объекты: их не должно быть ни в обычном, ни в отфильтрованном виде. Повторный запуск обработки должен показать пустой или минимальный список помеченных объектов.
Дополнительно проверьте ключевые отчёты (оборотно-сальдовую ведомость, анализ склада) за открытые периоды — цифры не должны измениться, если удалялись только неиспользуемые объекты. Для файловых баз после масштабной чистки имеет смысл выполнить тестирование и исправление, чтобы убедиться в отсутствии ссылочных ошибок.
Как проверить результат
Пусто или остались только объекты с осознанно сохранёнными ссылками
Масса неудалённых объектов без разбора причин
Показатели совпадают со значениями до чистки
Суммы изменились — удалено что-то лишнее
Ошибок ссылочной целостности не обнаружено
Ошибки «битых ссылок» — требуется восстановление или исправление
Удобно встроить удаление помеченных объектов в регламент: например, выполнять его раз в месяц после закрытия периода, когда все пометки уже осмысленны. Регулярная чистка небольшими порциями проходит быстрее и безопаснее, чем разовое удаление накопленного за годы массива.
FAQ
Почему обработка «Удаление помеченных объектов» не видна в меню?
Чаще всего не хватает прав: обработка доступна администраторам и пользователям с соответствующей ролью. Также в некоторых конфигурациях пункт находится в другом разделе — попробуйте найти его через строку поиска в меню «Все функции».
Можно ли удалить объект в обход контроля ссылок?
Технически разработчик может выполнить прямое удаление методом Удалить() без контроля, но в базе останутся «битые ссылки» — записи вида «Объект не найден». Это ломает отчёты и обмены данными, поэтому обход контроля допустим только в исключительных случаях с последующей выверкой.
Удалятся ли помеченные объекты сами по расписанию?
Нет, штатно 1С не удаляет помеченные объекты автоматически. Можно настроить регламентное задание с вызовом процедуры удаления, но это делается через доработку и только с надёжным регламентом резервного копирования.
Чем отличается пометка на удаление от установки пометки у элементов иерархического справочника?
При пометке группы помечаются и все вложенные элементы. При окончательном удалении группа удалится вместе с подчинёнными элементами, если на них нет внешних ссылок, поэтому перед запуском стоит развернуть и проверить содержимое помеченных групп.
Восстановится ли удалённый объект из резервной копии отдельно?
Из файла .dt восстанавливается база целиком, точечного восстановления одного объекта штатными средствами нет. Если нужен один объект, базу из копии разворачивают рядом и переносят данные вручную или обработкой выгрузки-загрузки.
Что важно запомнить
Помеченные объекты удаляются обработкой «Удаление помеченных объектов» в монопольном режиме и только после резервного копирования. Неудалённые объекты — это объекты со ссылками: сначала разберите связи, затем повторите удаление. После чистки проверьте отчёты и при необходимости сожмите таблицы базы.