Как окончательно удалить помеченные на удаление объекты в базе 1С 8.3

· 9 мин

Содержание

Пометка на удаление в 1С 8.3 — это ещё не удаление. Объект остаётся в базе и физически исчезает только после запуска отдельной обработки Удаление помеченных объектов. Запустить её можно из раздела Администрирование → Обслуживание, а если команды там нет — через Главное меню → Все функции → Стандартные → Удаление помеченных объектов.

Такой порядок сделан не из вредности. Пока документ, справочник или запись регистра на кого-то ссылается, 1С не даст его стереть: иначе в базе появятся «висячие» ссылки и битые проводки. Поэтому сначала вы помечаете лишнее, а потом система проверяет связи и удаляет только то, что можно удалить безопасно.

Разберём весь путь: как пометить и снять пометку, что сделать до запуска, как пройти саму обработку в автоматическом и выборочном режиме, что делать с объектами, которые не удаляются из-за ссылок, и как вернуть освободившееся место на диске после чистки.

Почему помеченный объект остаётся в базе

Удаление в 1С двухэтапное. Первый этап — пометка: объект получает признак «помечен на удаление» и в списках показывается бледной иконкой с красным крестиком. Второй этап — физическое удаление специальной обработкой с контролем ссылочной целостности.

Разрыв между этапами нужен по двум причинам.

  • 🔗 Ссылки. На справочник «Контрагенты» ссылаются договоры, документы, движения регистров. Удалить контрагента «вживую» значит оставить десятки документов с пустой ссылкой. Контроль ссылок на втором этапе ловит такие случаи.
  • ↩️ Обратимость. Пометку легко снять, пока объект не удалён физически. Это страховка от случайного нажатия — вы в любой момент можете передумать.

Пометка на удаление не влияет на отчётность и проводки сама по себе. Помеченный проведённый документ продолжает формировать движения, пока вы его не распровели и не удалили. Если нужно убрать влияние на учёт — сначала отмените проведение, потом помечайте.

Удалять этой обработкой можно элементы справочников, документы, записи независимых регистров сведений, планы видов характеристик, счета и прочие объекты, которые хранятся как самостоятельные записи. А вот движения проведённых документов обработка напрямую не трогает — они привязаны к документу и исчезают вместе с ним.

Как пометить на удаление и снять пометку

Пометка ставится на уровне конкретного элемента списка или из открытой карточки.

  1. Выделите строку в списке (или откройте объект).
  2. Нажмите клавишу Delete либо вызовите правой кнопкой Пометить на удаление / Снять пометку. Та же команда есть в меню Ещё над списком.
  3. Подтвердите действие — иконка объекта станет бледной с крестиком.

Чтобы снять пометку, повторите то же действие: команда работает как переключатель. Выделять можно сразу несколько строк с зажатым Ctrl или Shift — пометка поставится на все.

Пометить проведённый документ напрямую часто нельзя — 1С сначала потребует отменить проведение. Это нормально: снимите проведение кнопкой на форме документа, затем помечайте.

Проверить, что именно вы пометили, удобно прямо в обработке удаления — на первом же шаге она соберёт полный список помеченных объектов по всей базе, а не только по текущему списку.

Что пометить на удаление не получится

Часть объектов удалить штатно нельзя, и это не ошибка.

  • 🔒 Предопределённые элементы. Папки и элементы справочников, созданные в конфигураторе (например, предопределённые группы контрагентов или статьи, на которые опирается типовая логика), обычным способом не помечаются и не удаляются. Их наличие заложено в конфигурацию.
  • 🧩 Служебные и системные объекты. Записи, которые ведёт сама программа, пользователю для удаления недоступны.

Если нужный объект не помечается по клавише Delete, скорее всего он предопределённый — трогать его не стоит, типовой механизм на него рассчитывает.

Подготовка: резервная копия и свободная база

Удаление помеченных объектов — операция необратимая и выполняется в монопольном режиме. Пока она идёт, другие пользователи работать в базе не смогут. Поэтому запускать её стоит в нерабочее время и только после резервной копии.

Перед запуском обязательно сделайте резервную копию базы . Для файловой базы это копия каталога с файлом 1Cv8.1CD, для клиент-серверной — выгрузка через Конфигуратор → Администрирование → Выгрузить информационную базу (файл .dt) или штатный бэкап СУБД.

Что проверить до запуска удаления
Выполнено: 0 / 5

Монопольный доступ нужен потому, что во время удаления меняется структура связей между объектами, и параллельная работа пользователей привела бы к конфликтам. Это не постоянное поведение платформы, а требование именно этой операции.

Если база клиент-серверная, обработка сама попытается установить монопольный доступ и сообщит, что в базе есть активные сеансы. Завершать чужие сеансы принудительно без предупреждения не нужно — это оборвёт работу людей и может привести к потере несохранённых данных. Дождитесь, пока все выйдут, либо согласуйте окно обслуживания и предупредите коллег заранее.

Удаление помеченных объектов: пошагово

Основной сценарий выполняется в режиме 1С:Предприятие (не в Конфигураторе).

  1. Откройте обработку: Администрирование → Обслуживание → Удаление помеченных объектов. Если пункта нет в меню, включите команду «Все функции» (Главное меню → Сервис → Параметры → Отображать команду «Все функции»), затем зайдите через Главное меню → Все функции → Стандартные → Удаление помеченных объектов.
  2. Дождитесь, пока система соберёт список всех помеченных объектов базы. Это может занять время на большой базе.
  3. Выберите режим — автоматическое удаление всех помеченных объектов или выборочное (разберём в следующем разделе).
  4. Запустите удаление. 1С проверит ссылочную целостность: для каждого помеченного объекта проверит, не ссылается ли на него кто-то ещё.
  5. Объекты без входящих ссылок будут удалены. По объектам со ссылками обработка покажет отчёт: что удалить не удалось и кто на них ссылается.

После завершения обработка выведет итог: сколько объектов удалено и сколько осталось. Оставшиеся — это те, что держатся на чужих ссылках; с ними работаем отдельно.

На большой базе удаление идёт заметно быстрее, если помеченных объектов немного. Не копите пометки годами — чистите базу регулярно, небольшими порциями.

Автоматическое или выборочное удаление — что выбрать

У обработки два режима, и путать их не стоит.

РежимЧто делаетКогда применять
АвтоматическоеПроверяет ссылки и удаляет всё, что можно удалить безопасноРегулярная чистка, когда помеченному доверяете
ВыборочноеВы вручную отмечаете из списка, что именно удалятьКогда нужно удалить только часть помеченного

Автоматический режим не удаляет объекты со ссылками — он их пропускает и показывает в отчёте. То есть «автоматическое» не значит «снесёт всё подряд»: контроль ссылок работает в обоих режимах одинаково.

Выборочный режим полезен, когда в базе накопились пометки от разных пользователей, а вы хотите удалить, например, только тестовые документы за один период, не трогая остальное.

Практический порядок такой: первый прогон делайте автоматическим — он быстро уберёт всё, что не держится на ссылках. С оставшимися объектами, которые не удалились, разбирайтесь по отчёту вручную, а затем при необходимости запускайте выборочный режим повторно. Так вы не потеряете время на ручной перебор того, что и так удалилось бы само.

Если объект не удаляется из-за ссылок

Самая частая ситуация: объект помечен, но после обработки остался. Причина почти всегда одна — на него кто-то ссылается.

Отчёт обработки показывает дерево: сам объект и под ним — все места, где он используется. По каждой ссылке можно перейти двойным щелчком и посмотреть, какой документ или запись держит удаляемый объект.

Чаще всего объект держат проведённые документы, движения регистров и строки табличных частей других документов. Реже — настройки, реквизиты справочников (например, основной договор или основной банковский счёт контрагента), значения по умолчанию в регистрах сведений. Отчёт покажет конкретное место, гадать не придётся.

Дальше возможны три пути.

  • 🧹 Исправить ссылку. Открыть ссылающийся документ и подставить в него другой объект вместо удаляемого. После этого удаляемый объект освобождается.
  • 🗑️ Пометить ссылающийся объект тоже. Если документ, который держит ссылку, вам тоже не нужен — пометьте на удаление и его. Тогда удалятся оба.
  • 🔁 Перенести данные. Если удаляете дубль справочника, сначала замените его на правильный элемент во всех документах (в типовых конфигурациях для этого есть обработка поиска и замены дублей), и только потом удаляйте.

Пример. В базе два контрагента «ООО Ромашка» — один заведён дважды по ошибке. Удалить лишний напрямую не выйдет: на него ссылаются три накладные и договор. Сначала через обработку поиска и замены дублей указываете, какой элемент оставить, а какой считать дублем. Обработка переносит все ссылки на правильный элемент. После этого дубль освобождается и спокойно удаляется.

Диагностика: выберите симптом

Не удаляйте «проблемные» объекты правкой базы в обход контроля ссылок (режим правки через внешние инструменты). Так в базе остаются битые ссылки, которые потом всплывают ошибками в отчётах и проведении.

Как освободить место в базе после очистки

Удаление помеченных объектов уменьшает объём данных, но файл базы при этом сразу не уменьшается. Освободившееся пространство остаётся внутри файла как резерв.

Для файловой базы место возвращают через Конфигуратор → Администрирование → Тестирование и исправление. В окне нужен флажок Сжатие таблиц информационной базы — он физически уплотняет файл 1Cv8.1CD. Тестирование тоже делается в монопольном режиме и после резервной копии: операция долгая и на большой базе может идти часами.

Для клиент-серверной базы физический объём контролирует СУБД (например, PostgreSQL или MS SQL Server). Там сжатие — задача администратора сервера штатными средствами СУБД, а не самой 1С. Делать его регулярно обычно не нужно: СУБД переиспользует освободившееся место под новые данные.

Если цель — именно уменьшить размер файла перед копированием или переносом базы, сжатие таблиц в режиме тестирования даёт заметный эффект только после удаления большого объёма данных. После разовой чистки пары документов гонять его смысла нет.

На практике ощутимое уменьшение файла видно, когда удалены тысячи документов или крупные массивы тестовых данных. Если же вы удалили десяток справочников, размер файла почти не изменится, и это нормально — место ушло в резерв и будет переиспользовано.

Регулярная чистка вместо разовой

Удаление помеченных объектов — не аварийная мера, а часть обслуживания базы. Разумная практика — помечать лишнее сразу, а запускать обработку раз в месяц или квартал в нерабочее окно. Так список помеченных не разрастается, обработка проходит быстро, а база не копит мусор годами. Разовая чистка «под завязку» на большой запущенной базе идёт в разы дольше и чаще упирается в клубок ссылок.

Частые вопросы

Чем пометка на удаление отличается от физического удаления?
Пометка только помечает объект и обратима — её можно снять. Физическое удаление выполняет обработка Удаление помеченных объектов с контролем ссылок, и оно необратимо.
Можно ли удалить помеченные объекты в Конфигураторе?
Штатная обработка удаления работает в режиме 1С:Предприятие, а не в Конфигураторе. В Конфигураторе есть только тестирование и исправление, которое уплотняет файл базы, но не удаляет помеченные объекты.
Почему часть объектов не удалилась?
На них ссылаются другие данные. Контроль ссылочной целостности не даёт стереть объект, пока на него есть ссылки. Отчёт обработки покажет, кто именно ссылается.
Нужен ли монопольный режим и всем ли выходить из базы?
Да. Удаление идёт в монопольном режиме, поэтому остальные пользователи на время операции должны выйти. Запускайте в нерабочее окно.
Отличается ли порядок в Бухгалтерии, ЗУП и Управлении торговлей?
Нет. Это стандартная функция платформы: путь Администрирование → Обслуживание → Удаление помеченных объектов и запуск через «Все функции» одинаковы во всех типовых конфигурациях на 8.3.