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