Удаление помеченных объектов в 1С 8.3: от пометки до полной очистки базы
Содержание
Пометка на удаление сама по себе ничего из базы не стирает: объект остаётся в таблицах, просто получает признак «кандидат на удаление» и перечёркнутую иконку. Физически убрать его можно только отдельной операцией — в режиме 1С:Предприятие через Администрирование → Обслуживание → Удаление помеченных объектов или через одноимённый пункт в Конфигураторе.
Разница между двумя режимами принципиальная. В Предприятии удаление проходит с контролем ссылочной целостности и доступно бухгалтеру. В Конфигураторе есть возможность отключить контроль и стереть объект мгновенно — быстро, но с риском оставить в базе «битые» ссылки. Ниже — когда какой режим выбирать, что делать, если объект не удаляется, и как снять пометку, если её поставили по ошибке.
Перед массовой чисткой базы сделайте резервную копию. Удаление помеченных объектов необратимо: вернуть стёртый документ можно только из бэкапа.
Почему 1С не удаляет объект сразу, а только помечает
В 1С почти всё связано ссылками. Документ реализации ссылается на контрагента, договор, номенклатуру и склад. Проводки ссылаются на сам документ. Если удалить контрагента «одним кликом», десятки документов остались бы со ссылкой в никуда — это и есть битая ссылка, из-за которой отчёты считают неверно, а формы открываются с ошибкой.
Чтобы этого не случилось, платформа работает в два этапа:
- 🏷️ Пометка на удаление — быстрый обратимый шаг. Объект остаётся в базе, продолжает участвовать в отчётах, но помечается перечёркнутым значком. Поставить и снять пометку может любой пользователь с правами на объект.
- 🗑️ Собственно удаление — отдельная процедура. Перед стиранием платформа проверяет, не ссылается ли кто-то на объект. Если ссылки есть, объект остаётся на месте.
Такой порядок и называют контролем ссылочной целостности. Он защищает базу от разрушения, поэтому удалять данные
«начисто» штатно можно только через специальный режим, а не кнопкой Del в списке.
Пометка на удаление — хороший способ временно «спрятать» лишний элемент, не стирая его. Перечёркнутые объекты можно скрыть из списка, а в конце квартала разом убрать или вернуть.
Как поставить и снять пометку на удаление
Пометка ставится в карточке объекта или прямо в списке. В интерфейсе «Такси» (платформа 8.3) это делается так:
- Откройте нужный список — например,
Справочники → Контрагентыили журнал документов . - Выделите один или несколько элементов (с зажатым
CtrlилиShift). - Нажмите клавишу
Delлибо командуЕщё → Пометить на удаление. - Иконка объекта станет перечёркнутой — пометка установлена.
Снять пометку — та же команда. Выделите перечёркнутый объект и выберите Ещё → Снять пометку удаления (или снова Del). Признак исчезнет, объект вернётся к обычному виду.
Пока объект только помечен, но не удалён, снять пометку можно в любой момент без последствий. Движения документов и остатки при этом не меняются — пометка на удаление не распроводит документ сама по себе.
Чтобы заранее увидеть, что именно уйдёт при чистке, удобно отобрать все помеченные объекты в списке. В командной панели списка есть настройка отбора (Ещё → Настроить список или значок с воронкой): добавьте условие по признаку пометки удаления — и список покажет только перечёркнутые элементы. Так вы пересмотрите кандидатов на удаление до запуска обработки и снимете пометку с тех, что попали под неё случайно.
Удаление помеченных объектов в режиме 1С:Предприятие
Это основной способ для бухгалтера. Контроль ссылок включён всегда, испортить базу почти невозможно.
Путь в типовых конфигурациях на библиотеке стандартных подсистем:
| Конфигурация | Где искать обработку |
|---|---|
| 1С:Бухгалтерия 3.0 | Администрирование → Обслуживание → Удаление помеченных объектов |
| 1С:ЗУП 3.1 | Администрирование → Обслуживание → Удаление помеченных объектов |
| 1С:Управление торговлей 11 | НСИ и администрирование → Администрирование → Обслуживание → Удаление помеченных объектов |
Порядок действий внутри обработки:
- Выберите режим. Автоматическое удаление берёт все помеченные объекты сразу. Выборочное — покажет список, и вы отметите галочками только нужное.
- Нажмите
Удалить. - Платформа запускает поиск ссылок на каждый объект.
- Если ссылок нет — объекты стираются, появляется отчёт об успешном удалении.
- Если на объект кто-то ссылается — он остаётся, а внизу формируется список «не удалено» с указанием, что именно мешает.
Выборочный режим удобнее для первой чистки: вы видите, сколько всего помеченных объектов и какие именно уходят. Автоматический — для регулярной уборки, когда состав помеченного вам уже понятен.
В больших базах поиск ссылок идёт долго. Запускайте удаление в конце дня или на выходных и не закрывайте форму до завершения — прервёте процесс.
Что делать, если объект не удаляется: разбор ссылок
Самая частая ситуация — после запуска часть объектов осталась с пометкой, а в отчёте написано, что они «используются». Это не ошибка, а штатная защита: на объект есть живые ссылки.
Форма результата показывает дерево: сверху — объект, который не удалось убрать, под ним — список мест, где он задействован. Двойной клик по строке откроет сам документ или элемент справочника, который держит ссылку.
Дальше три пути:
- 🔗 Ссылка нужна. Значит, объект удалять рано. Снимите с него пометку — он остаётся в базе легально.
- ✂️ Ссылку можно убрать. Откройте мешающий документ, замените в нём ссылку на другой объект (например, выберите актуального контрагента вместо дубля) и запишите. После этого повторите удаление.
- 🏷️ Мешающий объект тоже лишний. Пометьте и его на удаление, затем запускайте обработку снова — платформа удалит всю цепочку за один проход, если внутри неё не осталось внешних ссылок.
Типичный пример — чистка дублей контрагента. Удалить дубль не выйдет, пока на него ссылаются документы. Сначала через обработку поиска и замены значений переносят документы на правильного контрагента, и только потом дубль удаляется.
Для таких случаев в типовых конфигурациях есть два помощника в том же разделе Администрирование → Обслуживание:
- 🔍 Поиск и удаление дублей. Сравнивает элементы справочника по выбранным правилам, находит повторы, оставляет один главный элемент и помечает остальные на удаление, автоматически переставив все ссылки на главный. После него помеченные дубли спокойно удаляются обработкой.
- 🔁 Поиск и замена значений. Берёт один объект и переносит все ссылки на него на другой объект того же типа. Удобно, когда дубль нашли глазами и нужно вручную освободить его от ссылок перед удалением.
Связка простая: сначала одним из этих инструментов убираете ссылки, затем запускаете удаление помеченных объектов. По отдельности каждый шаг безопасен, а вместе они закрывают почти любую задачу по чистке справочников.
Не отключайте контроль ссылок в Предприятии, даже если платформа это предлагает в редких сборках. Отключённый контроль = битые ссылки = ошибки в проведении и отчётности.
Удаление через Конфигуратор
Конфигуратор нужен в двух случаях: обычный режим «завис» на большой базе или требуется непосредственное удаление без контроля (осознанно, при чистке мусорных объектов).
⚠️ Удаление в Конфигураторе требует монопольного (эксклюзивного) доступа к базе. Пока идёт операция, другие пользователи работать не смогут. Предупредите коллег и дождитесь, пока все выйдут.
Проверить, кто ещё в базе, можно в Предприятии через Администрирование → Обслуживание → Активные пользователи — там видны все текущие сеансы. Пока список не опустеет, Конфигуратор откроет базу, но операция удаления прервётся с сообщением о невозможности монопольного доступа. В клиент-серверном варианте завершать чужие сеансы силой стоит только по согласованию: у человека могут быть несохранённые документы.
Шаги:
- Запустите базу в режиме
Конфигуратор. - Меню
Администрирование → Удаление помеченных объектов. - Платформа соберёт список всех помеченных объектов.
- Снимите галочки с того, что удалять не нужно (по умолчанию отмечено всё).
- Нажмите
Контроль— платформа проверит ссылки, как и в Предприятии. - Объекты со ссылками попадут в отдельный список, остальные удалятся после подтверждения.
Непосредственное удаление (без контроля) здесь тоже доступно, но это крайняя мера. Его применяют, когда нужно вычистить заведомо мусорные объекты и вы точно знаете, что на них ничего не ссылается. Любая ошибка оставит в базе битые ссылки, которые потом ищут вручную.
После массового удаления в Конфигураторе полезно прогнать Администрирование → Тестирование и исправление с галочкой проверки логической целостности — она найдёт оставшиеся битые ссылки, если они появились.
Как восстановить ошибочно удалённые или помеченные данные
Здесь всё зависит от того, на каком этапе спохватились.
Объект только помечен, но ещё не удалён. Самый лёгкий случай. Найдите его в списке (перечёркнутые объекты обычно видны, если не включён фильтр их скрытия), выделите и выполните Снять пометку удаления. Готово, данные на месте.
Объект уже физически удалён обработкой. Вернуть его из самой базы нельзя — записи в таблицах больше нет. Единственный способ — восстановить из резервной копии:
- Разверните бэкап в отдельную (тестовую) базу, не поверх рабочей.
- Найдите нужный объект или документ.
- Перенесите его в рабочую базу — выгрузкой-загрузкой элемента или повторным вводом вручную, если объект один.
Именно поэтому бэкап перед чисткой — не формальность. Для файловой базы это копия файла 1Cv8.1CD, для клиент-серверной — выгрузка через Конфигуратор (Администрирование → Выгрузить информационную базу) либо средствами СУБД.
Не восстанавливайте старый бэкап поверх рабочей базы, чтобы «достать один документ». Так вы потеряете все данные, введённые после создания копии. Всегда разворачивайте копию отдельно.
Автоматизация очистки и внешние обработки
Для разовой уборки хватает штатного режима. Но если помеченные объекты копятся постоянно (например, автоматически создаются и бракуются заказы из интеграции), чистку автоматизируют.
Доступные варианты:
- 🧰 Внешние обработки. Под типовые конфигурации есть обработки, которые удаляют помеченное пакетно, по отбору (тип объекта, период, дата пометки). Их запускают через
Файл → Открытьили подключают в разделе дополнительных обработок. - ⚙️ Запуск по расписанию. Внешнюю обработку можно повесить на регламентное задание, чтобы удаление шло ночью без участия человека. Контроль ссылок при этом сохраняют — иначе автоматика натворит битых ссылок.
- 💻 Прямое удаление кодом. В модулях на встроенном языке объекты убирают методами работы с удалением из библиотеки стандартных подсистем. Это путь для разработчика: ошибка в коде опаснее, чем в интерфейсе, поэтому любой такой механизм сначала проверяют на копии базы.
Отдельно стоит продумать, что именно и как часто чистить. Удалять помеченное каждую ночь нужно не всем: в учётных базах объекты нередко помечают, а потом возвращают, и слишком ранняя автоматическая чистка сотрёт то, что ещё хотели восстановить. Разумный интервал для автоматики — раз в неделю или в месяц, с отбором по дате пометки, чтобы под удаление попадали только давно помеченные объекты.
Главное правило автоматизации — не отключать контроль целостности ради скорости. Выигрыш в секундах не стоит дней на поиск и починку битых ссылок потом.
Чем пометка на удаление отличается от самого удаления?
Почему помеченный документ не удаляется?
Можно ли удалить помеченные объекты без выхода всех пользователей?
1С:Предприятие — да, обработка работает в многопользовательском режиме. В Конфигураторе нужен монопольный доступ, все пользователи должны выйти.Что будет, если отключить контроль ссылочной целостности?
Как массово снять пометку удаления сразу с многих объектов?
Ctrl или Shift и выполните команду Ещё → Снять пометку удаления. Признак снимется со всех выделенных разом.