Глиф Учебники

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

Справочник · 1С:Предприятие · 2 минуты чтения

Пометка на удаление (клавиша Delete в списке) только перечёркивает объект. Окончательно удаляет помеченные отдельная обработка:

  1. Сделайте копию базы — как сделать. Удаление необратимо.
  2. Откройте обработку Удаление помеченных объектов:
    • в типовых конфигурациях — в разделе Администрирование (в подразделе обслуживания);
    • в любой конфигурации — через Функции для технического специалиста (в старых версиях — Все функции) → Стандартные → Удаление помеченных объектов.
  3. Выберите полное удаление всех помеченных или выборочное — тогда отметьте, что удалять.
  4. Нажмите Удалить и дождитесь конца.

Удалять помеченные обычно может только пользователь с правами администратора.

Почему не удаляется

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

После удаления обработка покажет список неудалённых объектов и для каждого — где он используется. Варианты:

Монопольный режим

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

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

Перед удалением полезно

Из кода

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