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