К статье
Практический материал

Справочники и Данные · 13 мин

Почему в 1С не удаляются помеченные на удаление объекты и что с этим делать

Разбираем причины, по которым 1С не удаляет помеченные объекты: ссылки, права, монопольный режим. Пошаговые инструкции по удалению в типовых конфигурациях.

Пометка на удаление в 1С — это только первый этап: объект остаётся в базе, а физически удаляется лишь после процедуры «Удаление помеченных объектов». Если после этой процедуры элемент справочника или документ всё ещё присутствует в базе, значит, платформа нашла причину его сохранить. Чаще всего это ссылки из других объектов, но есть и менее очевидные препятствия: права доступа, монопольный режим, обмены данными, особенности регистров.

Важно понимать саму логику механизма. 1С никогда не удаляет объект, пока на него ссылается хотя бы один другой объект базы — это защита целостности данных. Поэтому сообщение «не удалён» — не ошибка программы, а штатная реакция. Задача администратора — найти, кто именно ссылается на объект, и решить, что делать с этими связями.

Ниже разобраны основные причины, по которым объекты не удаляются, способы найти блокирующие ссылки и безопасный порядок действий для типовых конфигураций на управляемых формах (БП, УТ, ERP, ЗУП) и для старых конфигураций на обычных формах.

Как устроено удаление объектов в 1С

Механизм удаления в 1С двухступенчатый. Сначала пользователь ставит пометку на удаление — это обычный признак в записи объекта, сам объект при этом никуда не девается и продолжает участвовать в движениях и ссылках. Затем администратор запускает обработку «Удаление помеченных объектов» (в типовых конфигурациях — раздел «Администрирование»), и платформа проверяет каждый помеченный объект на наличие ссылок.

Если ссылок нет — объект удаляется физически. Если ссылки есть — объект остаётся в базе, а обработка выводит список «мест использования»: конкретные документы, элементы справочников и записи регистров, которые на него ссылаются. Пока все эти ссылки не устранены, объект будет «висеть» в помеченных бесконечно долго.

Отдельный случай — регистры сведений с режимом «Подчинение регистратору» и движения документов. Записи таких регистров удаляются вместе с регистратором, но если помеченный документ не удаляется из-за ссылок, его движения тоже остаются и продолжают влиять на отчёты, если отбор по пометке не настроен.

Причина 1: на объект ссылаются другие объекты

Это причина номер один — она объясняет подавляющее большинство случаев. Типичный пример: контрагент помечен на удаление, но на него ссылаются реализации прошлых периодов, договоры, заказы, контактные лица, банковские счета. Пока хотя бы одна такая ссылка существует, контрагент не удалится.

Ссылки бывают явными и скрытыми. Явные видны в списке мест использования сразу. Скрытые — это, например, реквизиты составных типов, дополнительные сведения, записи независимых регистров сведений, критерии отбора. Обработка удаления показывает их все, но список бывает длинным, и пользователи часто просматривают его невнимательно.

Как найти все ссылки на объект

В типовых конфигурациях список мест использования выводится прямо в окне удаления помеченных объектов: выделите неудалённый элемент — справа появятся объекты, которые ему мешают. Дополнительно можно воспользоваться командой «Ещё → Найти ссылки» (в ряде конфигураций — «Поиск ссылок на объект») прямо из формы элемента или использовать универсальную обработку «Поиск ссылок на объекты» с диска ИТС.

Порядок удаления объекта со ссылками
  1. 1
    Пометьте объект на удаление стандартной командой.
  2. 2
    Откройте «Администрирование → Обслуживание → Удаление помеченных объектов» (в некоторых конфигурациях путь «НСИ и администрирование → Поддержка и обслуживание»).
  3. 3
    Запустите удаление и дождитесь результата.
  4. 4
    Если объект не удалён — раскройте его в списке и посмотрите места использования.
  5. 5
    По каждому месту использования решите: удалить ссылающийся объект, заменить в нём ссылку или отменить удаление исходного объекта.
  6. 6
    Повторите удаление помеченных объектов и убедитесь, что список неудалённых пуст.

Что делать со ссылками: три варианта

Первый вариант — пометить на удаление и ссылающиеся объекты тоже, если они не нужны (например, ошибочно введённый документ и связанный с ним элемент справочника). Второй — заменить ссылку: если контрагент-дублёр помечен на удаление, его нужно заменить на основного контрагента во всех документах. Для этого в типовых конфигурациях есть обработка «Поиск и удаление дублей» («Администрирование → Обслуживание → Корректировка данных»), которая автоматически заменяет ссылки.

Третий вариант — отказаться от удаления. Если на объект ссылаются документы закрытых периодов или документы, участвующие в регламентированной отчётности, удалять его нельзя: нарушится учёт. В этом случае правильное решение — снять пометку и оставить объект как архивный, при необходимости запретив его использование в новых документах настройками.

Причина 2: не хватает прав или мешают настройки доступа

Операция «Удаление помеченных объектов» требует права «Удаление» на соответствующие объекты метаданных, а в типовых конфигурациях — как правило, роли администратора или специальной роли на удаление помеченных. Если у пользователя есть право только на интерактивную пометку, но нет права физического удаления, обработка либо недоступна, либо завершается с ошибками по части объектов.

Дополнительно мешать могут ограничения доступа на уровне записей (RLS): пользователь видит объект и ставит пометку, но механизм удаления при проверке ссылок сталкивается с недоступными ему данными. В таких случаях удаление должен выполнять администратор с полными правами.

Проверьте также, не включён ли для объекта запрет изменения данных по дате запрета редактирования. Дата запрета не блокирует само удаление помеченных напрямую, но связанные механизмы контроля в некоторых конфигурациях могут препятствовать обработке объектов закрытых периодов.

Причина 3: монопольный режим и активные сеансы

Для физического удаления объектов платформе требуется монопольный доступ к базе на время операции (в клиент-серверном режиме — отсутствие блокировок конкретных записей). Если в базе работают другие пользователи и держат открытыми формы связанных объектов, удаление может завершаться с ошибками «объект заблокирован» или частично не выполняться.

Практическая рекомендация: запускайте удаление помеченных в нерабочее время или попросите пользователей выйти. В клиент-серверном варианте посмотрите активные сеансы через консоль кластера, в файловом — через «Администрирование → Активные пользователи». Фоновые задания и регламентные операции (обмены, синхронизации) тоже могут держать блокировки — перед массовым удалением их стоит приостановить.

Причина 4: обмены данными и планы обмена

В распределённых базах и базах с настроенной синхронизацией (например, УТ ↔ БП, обмен с сайтом, РИБ) пометка на удаление сама по себе является объектом обмена: она должна уехать в другую базу. До выгрузки изменений объект с пометкой может вести себя необычно, а попытки удалить его физически — конфликтовать с регистрацией изменений.

Характерная ситуация: объект удалён в одной базе, но в другой по нему введены новые документы — при обмене пометка снимается или возникает коллизия. Поэтому в базах с обменами удаление помеченных нужно выполнять согласованно во всех узлах, после успешной синхронизации.

Ещё один нюанс — регистрация объекта в плане обмена. Если объект зарегистрирован к выгрузке, платформа может удерживать его до отправки сообщения. После успешного обмена повторное удаление обычно проходит.

Причина 5: особые случаи — регистры, предопределённые элементы, дубли

Предопределённые элементы

Элементы справочников, созданные в конфигураторе (предопределённые), нельзя удалить в пользовательском режиме — платформа это запрещает. Пометка на них может ставиться, но физическое удаление невозможно. Чтобы избавиться от такого элемента, нужно изменять конфигурацию, что в типовых решениях нежелательно.

Записи независимых регистров сведений

Записи независимых регистров сведений не имеют ссылочной структуры как у объектов, но удаляются штатно через пометку не всегда — у них нет пометки удаления вовсе. Если «не удаляется» запись регистра (например, курса валют или штрихкода), её нужно удалять непосредственно из формы регистра, а не через удаление помеченных.

Дубли после замены ссылок

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

Типичные ошибки при удалении
01
Удалять объекты напрямую через конфигуратор или внешние обработки с отключённым контролем ссылочной целостности — в базе появляются битые ссылки вида «Объект не найден».
02
Игнорировать список мест использования и многократно перезапускать удаление — без устранения ссылок результат не изменится.
03
Удалять помеченные объекты закрытых периодов — нарушается отчётность и последовательность проведения.
04
Запускать массовое удаление без свежей резервной копии — при ошибке откатить изменения будет нечем.
05
Удалять объекты в одной базе при активной синхронизации, не проверив вторую сторону обмена.

Безопасный порядок действий и проверка результата

Перед любым массовым удалением сделайте резервную копию: для файловой базы — скопируйте файл 1Cv8.1CD или выгрузите dt, для клиент-серверной — средствами СУБД. Это единственная гарантия отката, если удалится лишнее.

Дальше действуйте по схеме: пометка → удаление помеченных → анализ неудалённых → устранение ссылок (замена через поиск дублей или пометка связанных объектов) → повторное удаление → контроль. Для контроля используйте отчёт «Проверка ссылочной целостности» (входит в группу отчётов администрирования в ряде конфигураций) или тестирование и исправление с проверкой ссылочной целостности в конфигураторе.

Контрольные точки

Как проверить результат

Список неудалённых объектов после процедуры
Норма

Список пуст, все помеченные объекты удалены

Тревожный признак

Остались объекты с перечнем мест использования

Отчёты по связанным данным (оборотки, карточки контрагентов)
Норма

Данные согласованы, нет записей «Объект не найден»

Тревожный признак

В отчётах битые ссылки вида «<Объект не найден> (123:...)

Синхронизация данных (если настроена)
Норма

Обмен проходит без коллизий и предупреждений об удалении

Тревожный признак

Ошибки обмена, объекты возвращаются из другой базы

Маршрут решения

Как выбрать действие

Объект не удалён, в местах использования только ошибочные документыПометьте на удаление ссылающиеся документы и повторите процедуру
В местах использования документы закрытых периодовСнимите пометку и оставьте объект в базе — удалять нельзя
Это дубль справочникаИспользуйте «Поиск и удаление дублей» для автоматической замены ссылок
Ошибка монопольного доступа или блокировокЗавершите сеансы пользователей и повторите удаление в нерабочее время
Элемент предопределённыйУдаление невозможно в пользовательском режиме — оставьте как есть

Если после всех действий объект по-прежнему не удаляется и причина неочевидна, запустите «Тестирование и исправление» информационной базы с включённой проверкой ссылочной целостности — иногда проблема кроется в повреждённых данных, которые штатная обработка не может обойти.

Итог

Что важно запомнить

Пометка на удаление не удаляет объект — физическое удаление выполняется только через «Удаление помеченных объектов» и только при отсутствии ссылок. Находите места использования, устраняйте ссылки подходящим способом, работайте с полными правами при свободной базе и всегда делайте резервную копию перед массовым удалением.

Частые вопросы

Можно ли удалить объект, на который есть ссылки, в обход контроля?

Технически да — через конфигуратор с отключённым контролем ссылочной целостности или специальными обработками. Делать этого не стоит: в местах ссылок появятся «битые» значения вида «Объект не найден», которые сломают отчёты, проведение документов и обмены. Восстановить удалённый объект без резервной копии невозможно.

Почему помеченные объекты видны в списках и отчётах?

Пометка не скрывает объект — он остаётся полноценной записью базы. В списках помеченные элементы обычно отображаются с перечёркнутой иконкой, их можно скрыть настройкой отбора. В отчётах движения помеченных документов учитываются, пока документ не будет физически удалён.

Как удалить сразу много помеченных объектов?

Используйте штатную обработку «Удаление помеченных объектов» в режиме «Автоматическое удаление всех помеченных объектов» — она обработает всю базу за один проход. Для выборочного удаления переключитесь в режим «Выборочное удаление» и отметьте нужные виды объектов. Массовую операцию выполняйте с правами администратора и без активных пользователей.

Документ помечен, но не удаляется, хотя ссылок в списке нет. Что это?

Проверьте движения документа: если он проведён, сначала отмените проведение. Также убедитесь, что у вас есть право удаления именно этого вида документов и что документ не зарегистрирован в плане обмена с ожидающей выгрузкой. Иногда помогает снятие и повторная установка пометки.

Нужно ли регулярно удалять помеченные объекты?

Да, это часть регламентного обслуживания: помеченные объекты занимают место, замедляют поиск дублей и создают шум в списках. Разумная практика — запускать удаление помеченных ежемесячно или перед регламентными операциями вроде свёртки базы, обязательно после резервного копирования.

Что делать, если после удаления в отчётах появились записи «Объект не найден»?

Это признак удаления в обход контроля ссылочной целостности. Восстановите базу из резервной копии, сделанной до удаления, либо вручную замените битые ссылки на существующие объекты во всех документах и регистрах, где они встречаются. Затем выполните тестирование и исправление с проверкой ссылочной целостности.