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