Пошаговая инструкция: от запуска «Удаления помеченных объектов» до разрешения конфликтов ссылок. Для файловых и клиент-серверных баз.
Что такое пометка на удаление и зачем контроль ссылок
В 1С нельзя просто «удалить» объект — сначала его помечают, потом выполняют процедуру удаления с проверкой связей.
1С не позволяет удалить объект, на который есть ссылки из других документов или справочников. Это защита от «битых ссылок», которые повредили бы целостность базы. Процедура «Удаление помеченных объектов» автоматически проверяет эти связи и сообщает о конфликтах.
Пометка на удаление — Клавиша Del или контекстное меню → «Пометить на удаление». Объект не исчезает из базы, только помечается значком перечёркнутого мусорного ведра. Он продолжает участвовать в отчётах до физического удаления.
Физическое удаление — Выполняется отдельной процедурой: Администрирование → Удаление помеченных объектов (или Сервис → Удаление помеченных объектов в старых конфигурациях). Удаление проходит только при отсутствии ссылок.
Контроль ссылок — Перед удалением система проверяет все таблицы базы на наличие ссылок на удаляемый объект. Если ссылки есть — выводится список мест, где используется объект.
Пошаговое удаление помеченных объектов
Порядок действий для большинства типовых конфигураций 1С (БП, УТ, ЗУП, ERP).
Войдите в режим монопольного доступа — Для файловых баз: зайдите в Конфигуратор, установите монопольный режим (Администрирование → Монопольный режим). Для клиент-серверных баз монопольный режим не обязателен, но рекомендуется — чтобы никто не создавал новые ссылки в процессе удаления.
Откройте «Удаление помеченных объектов» — В 1С:Бухгалтерия 3.0 и других современных конфигурациях: Раздел «Администрирование» → «Удаление помеченных объектов». В старых (1С 8.2 или конфигурации до обновления): Сервис → Удаление помеченных объектов.
Выберите режим: автоматический или выборочный — Автоматический — система сама выберет все помеченные объекты и попробует их удалить. Выборочный — вы вручную отмечаете, что именно удалять. Рекомендуем выборочный при большом количестве помеченных объектов.
Проверьте контроль ссылок перед удалением — Нажмите «Проверить» — система покажет, на какие объекты есть ссылки и из каких мест. Объекты с ссылками отмечены как «Не могут быть удалены». Их нужно обработать отдельно.
Удалите или обработайте объекты с ссылками — Для каждого проблемного объекта: двойной клик → откроется список мест, где на него есть ссылки. Перейдите по каждой ссылке и либо замените ссылку на другой объект, либо удалите документ/строку, которая ссылается.
Нажмите «Удалить» — После того как все конфликты разрешены (или вы решили пропустить часть объектов) — нажмите «Удалить». Система выполнит физическое удаление и покажет итоговый отчёт.
Типичные конфликты ссылок и как их разрешить
Самые частые ситуации, когда объект «не хочет» удаляться.
Контрагент используется в документах — Старый контрагент помечен, но на него есть документы за прошлые периоды. Решение: если документы закрытого периода — не удаляйте контрагента, пусть остаётся помеченным. Физическое удаление контрагента с историческими документами нарушит отчётность.
Номенклатура в остатках или регистрах — Если по номенклатуре есть остатки (ненулевые) или движения в регистрах, система запретит удаление. Сначала спишите остатки (инвентаризация / списание), затем удаляйте.
Пользователь в регистрах сведений — Удалённый пользователь 1С может быть ответственным в регистрах сведений или документах. Откройте список мест и вручную замените ссылки на другого пользователя или удалите устаревшие записи.
Объект — предопределённый элемент справочника — Предопределённые элементы (созданные в конфигураторе) нельзя удалить штатными средствами. Они будут пересозданы при следующем обновлении. Для их удаления нужно сначала снять пометку «Предопределённый» в конфигураторе — задача для программиста.
Не удаляйте объекты закрытых периодов. Удаление контрагентов, номенклатуры, статей затрат, задействованных в закрытых отчётных периодах, нарушит историческую отчётность и может привести к ошибкам при перепроведении документов прошлых лет.
Нюансы клиент-серверной базы
В клиент-серверном варианте удаление помеченных объектов имеет свои особенности.
В клиент-серверной базе физическое удаление выполняется через СУБД. При большом числе объектов процедура может занять значительное время и нагрузить сервер.
Блокировка сеансов перед удалением — Рекомендуется установить блокировку начала новых сеансов (Администрирование → Блокировка начала сеансов) до начала удаления, чтобы пользователи не создавали новые ссылки в процессе.
Удаление через консоль кластера (для администраторов) — В крупных базах с тысячами помеченных объектов удобно использовать обработку «Групповое перепроведение» или внешние обработки для массовой очистки ссылок перед запуском стандартной процедуры.
Мониторинг СУБД во время удаления — Процедура генерирует множество DELETE-запросов в СУБД. Следите за нагрузкой через pg_stat_activity (PostgreSQL) или Activity Monitor (MS SQL) — при перегрузке отложите на нерабочее время.
Регулярный регламент удаления. Оптимально выполнять удаление помеченных объектов регулярно (раз в месяц/квартал), а не копить тысячи помеченных объектов. Большое число помеченных объектов замедляет запросы и отчёты.
Пометка и физическое удаление: разница
См. структурированный premium-вариант выше.
Пошаговая процедура удаления
См. структурированный premium-вариант выше.
Конфликты ссылок: как разрешить
См. структурированный premium-вариант выше.
Нюансы клиент-серверной базы
См. структурированный premium-вариант выше.
Часто задаваемые вопросы
Можно ли удалить объект без монопольного режима?
В клиент-серверном варианте — да, монопольный режим не обязателен для удаления помеченных объектов. Но рекомендуется установить блокировку начала сеансов, чтобы пользователи не создавали новые ссылки в процессе. В файловом варианте монопольный режим нужен.
Почему объект помечен на удаление, но не удаляется?
На него есть активные ссылки из других объектов базы. Запустите «Удаление помеченных объектов», нажмите «Проверить» — система покажет список мест, где используется этот объект. Устраните ссылки, затем повторите удаление.
Как найти все помеченные объекты в базе?
Через «Удаление помеченных объектов» → «Выборочное удаление» — там отображается полный список по типам объектов. Также можно использовать отчёт «Помеченные на удаление» из набора стандартных отчётов (если есть в конфигурации) или задать поиск через «Редактирование списка».
Что будет, если не выполнять удаление помеченных объектов?
База будет расти, часть объектов с пометкой будет замусоривать справочники и мешать поиску. При большом накоплении возможно незначительное замедление отдельных запросов. Критичных последствий для целостности нет — это плановый регламент, не срочная операция.
Можно ли снять пометку на удаление с объекта?
Да, в любой момент до физического удаления. Откройте объект (или выделите его в списке) и нажмите Del повторно — пометка снимется. Или: контекстное меню → «Снять пометку удаления».