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