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