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

· 8 мин

Содержание

Пометка на удаление сама по себе ничего из базы не стирает — объект просто получает красный значок и перестаёт попадать в новые документы. Физически справочники, документы и записи регистров убирает отдельная процедура: Администрирование → Обслуживание → Удаление помеченных объектов в режиме «1С:Предприятие» либо одноимённый пункт в Конфигураторе.

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

Что значит пометка на удаление и зачем нужна очистка

Когда вы нажимаете Delete на элементе списка (или команду удаления в командной панели), 1С не стирает запись, а ставит пометку. Объект остаётся в базе, но:

  • 🔴 помечается красным значком и перечёркивается в списках;
  • 🚫 не предлагается для подбора в новых документах;
  • 📉 продолжает занимать место в базе и участвовать в индексах.

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

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

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

Чистят базу обычно по двум причинам: убрать ошибочно введённые документы и дубли справочников, а заодно уменьшить размер базы и ускорить работу. Для файловых баз это особенно заметно — объём 1Cv8.1CD напрямую влияет на скорость.

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

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

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

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

Если в базе остались активные сеансы, 1С не даст установить монопольный режим и прервёт удаление. В файловой базе закройте все окна программы; в клиент-серверной завершите сеансы через консоль администрирования или кнопкой «Завершить сеансы» в самой обработке.

Перед запуском удаления
Выполнено: 0 / 5

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

Групповое удаление в режиме «1С:Предприятие»

Это основной и самый безопасный способ для рабочих баз. Процедура встроена в типовые конфигурации и сама следит за ссылками.

Путь к обработке зависит от конфигурации, но раздел Обслуживание есть во всех типовых:

КонфигурацияПуть к обработке
Бухгалтерия 3.0Администрирование → Обслуживание → Удаление помеченных объектов
ЗУП 3.1Администрирование → Обслуживание → Удаление помеченных объектов
Управление торговлей 11НСИ и администрирование → Обслуживание → Удаление помеченных объектов

Порядок действий:

  1. Откройте обработку по пути из таблицы.
  2. Выберите режим. Автоматически удалить все помеченные объекты уберёт всё, что прошло проверку ссылок. Выбрать объекты для удаления даёт галочками отметить только часть — удобно, когда чистите точечно.
  3. Нажмите кнопку удаления. Программа переведёт базу в монопольный режим и проанализирует ссылки.
  4. Дождитесь итогов. Объекты без ссылок удаляются сразу; те, на которые ещё ссылаются живые документы, попадут в список «не удалено» с указанием, что именно мешает.

💡 Начните с режима Выбрать объекты — так вы увидите полную картину по ссылкам перед тем, как что-то стирать. Автоматический режим хорош, когда база уже вычищена и помечены заведомо «мусорные» объекты.

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

Удаление через Конфигуратор

Способ для случаев, когда режим Предприятие недоступен: нетиповая конфигурация без обработки, повреждённая база, разовая чистка силами администратора.

  1. Запустите базу в режиме Конфигуратор.
  2. Откройте меню Администрирование → Удаление помеченных объектов.
  3. Конфигуратор потребует монопольный доступ — закройте все сеансы Предприятия.
  4. В открывшемся окне отметьте объекты и запустите удаление. Конфигуратор тоже проверит ссылки и не удалит объект, на который ссылается непомеченный.

Результат тот же, что и в режиме Предприятие: запись, на которую ещё ссылаются, останется, и её причину удаления Конфигуратор покажет в списке.

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

На практике для типовых рабочих баз удобнее режим Предприятие: он не требует перезапуска в Конфигуратор и сам аккуратно управляет блокировкой. Конфигуратор остаётся запасным вариантом.

Контроль ссылочной целостности: почему объект не удаляется

Главная причина, по которой помеченный объект остаётся в базе, — на него ссылается другой, непомеченный объект. 1С не стирает такую запись, иначе в ссылающемся документе образовалась бы «битая ссылка».

Типичный пример: вы пометили контрагента, но на него ссылается проведённый документ реализации. Пока документ живёт, контрагент не удалится.

Что с этим делать:

  • 📄 Найти и исправить ссылку. В списке «не удалено» 1С показывает, какие объекты ссылаются на помеченный. Откройте их, замените значение на актуальное либо пометьте на удаление и их тоже.
  • 🔁 Пометить всю цепочку. Если удаляете контрагента вместе со всеми его документами — пометьте и документы; тогда они уйдут одним проходом.
  • ↩️ Снять пометку. Выяснилось, что объект ещё нужен, — просто снимите пометку, и он перестанет мешать.
Диагностика: выберите симптом

Особенности файловых и клиент-серверных баз

Механизм удаления одинаков, но подготовка и ограничения различаются.

Файловая база. Всё проще: резервная копия — это копия файла 1Cv8.1CD, монопольный режим достигается закрытием всех окон программы на всех компьютерах, где открыта база. После крупной чистки имеет смысл дополнительно выполнить Тестирование и исправление в Конфигураторе со сжатием таблиц — физический размер файла заметно уменьшится.

Клиент-серверная база. Сеансы завершают через консоль администрирования серверов или кластер. Удаление лучше вести из режима Предприятие — обработка корректно переводит базу в монопольный режим и предлагает завершить чужие сеансы. Физически место на диске освобождает СУБД при своих регламентных операциях, а не само удаление в 1С.

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

Ещё одно различие — скорость. В файловой базе анализ ссылок упирается в диск, в клиент-серверной — в СУБД и настройки блокировок. На больших базах (десятки гигабайт) удаление тысяч объектов может идти десятками минут; это нормально, прерывать процесс на середине не стоит.

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

Как не копить помеченные объекты

Чистку базы проще не запускать авралом, а держать под контролем:

  • 🗓️ Проводите удаление помеченных по графику — например, раз в месяц в нерабочее время.
  • ✅ Помечайте ошибочные документы сразу, не накапливая, — так меньше запутанных цепочек ссылок.
  • 🔍 Перед массовой пометкой справочников проверяйте, где они используются, через отчёт по ссылкам на объект в его форме.
  • 💾 Перед каждой чисткой — свежая резервная копия, без исключений.

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

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

Чем пометка на удаление отличается от удаления?
Пометка только помечает объект красным значком и прячет его из подбора — физически он остаётся в базе и восстановим. Физически запись убирает отдельная процедура удаления помеченных объектов, и это уже необратимо.
Можно ли восстановить объект после физического удаления?
Из рабочей базы — нет. Вернуть удалённый объект можно только из резервной копии, сделанной до удаления. Поэтому бэкап перед чисткой обязателен.
Почему 1С пишет, что на объект есть ссылки, хотя документы помечены?
Проверьте, что ссылающиеся документы не только помечены, но и распроведены, а также что помечены записи всех связанных объектов. Живая (непомеченная) ссылка из любого места блокирует удаление.
Нужно ли выгонять пользователей для удаления помеченных?
Да. Процедура работает в монопольном режиме: активные сеансы нужно завершить, иначе удаление не начнётся. Запускайте в нерабочее время.
Уменьшится ли размер базы после удаления помеченных?
Логически объектов станет меньше сразу. Физический размер файловой базы сократится после Тестирования и исправления со сжатием таблиц; в клиент-серверной место освобождает СУБД при регламентных операциях.