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