Инструкция: как пометить на удаление объекты в 1С и очистить базу
Чтобы пометить на удаление объекты в 1С и очистить базу, нажмите Ctrl+Delete для логической пометки, а затем запустите обработку «Удаление помеченных объектов» для физической очистки данных.
Оглавление
Как пометить объекты на удаление
Это безопасный этап логического удаления. Объект перестает участвовать в работе программы, но физически остается в базе, и его можно восстановить в любой момент. Помеченные объекты отображаются перечеркнутым шрифтом.
- В интерфейсе «Такси»: Выделите нужный элемент в списке или откройте карточку элемента. Нажмите кнопку «Еще» → «Пометить на удаление» (или используйте горячую клавишу
Ctrl+Delete). - В интерфейсе «Компас» (обычные формы): Меню «Действия» → «Пометить на удаление» (клавиша
Delete). - Групповая пометка: В списках можно выделить несколько строк (через
ShiftилиCtrl) и применить команду ко всем сразу. Также существует обработка «Групповая обработка справочников и документов» для массовых операций.
Перед удалением убедитесь, что на объект нет ссылок в проведенных документах или регистрах. Иначе при окончательном удалении возникнут ошибки целостности. Для проверки используйте функцию «Поиск ссылок» (в меню «Еще» → «Поиск ссылок»).
Как очистить базу (Окончательное удаление)
Чтобы физически удалить помеченные объекты и уменьшить размер базы, необходимо выполнить специальную обработку.
Всегда делайте резервную копию перед окончательным удалением.
Способ А: Через пользовательский интерфейс (Рекомендуемый)
- Перейдите в раздел Администрирование → Обслуживание.
- Раскройте пункт «Удаление ненужных данных».
- Выберите «Удаление помеченных объектов».
- Система покажет список всех помеченных объектов. Проверьте его.
- Нажмите «Удалить».
Если база файловая, операция выполнится сразу. Если клиент-серверная — может потребоваться монопольный режим или выполнение через регламентное задание.
Способ Б: Через конфигуратор (Для администраторов)
Используется при необходимости полного контроля или когда пользовательские средства недоступны:
- Запустите Конфигуратор.
- Меню Конфигурация → Удаление помеченных объектов.
- В открывшемся окне выберите режим:
- Автоматически — удаляет все без вопросов (опасно, если есть ссылки).
- Интерактивно — запрашивает подтверждение по каждому объекту с нарушением ссылок.
- Нажмите «Выполнить».
Способ В: Программно (Для разработчиков)
// Пример программного удаления
СправочникОбъект = Справочники.Номенклатура.НайтиПоКоду("000001");
Если Не Пустая(СправочникОбъект) Тогда
СправочникОбъект.УстановитьПометкуУдаления(Истина);
// Физическое удаление конкретного объекта
УдалитьОбъекты(СправочникОбъект.Ссылка);
КонецЕсли;
Дополнительные рекомендации по очистке базы
- Сжатие таблиц: После массового удаления в файловых базах (формат DT/1CD) размер файла не уменьшается автоматически. Необходимо выполнить «Тестирование и исправление» (Конфигуратор → Администрирование → Тестирование и исправление) с галочкой «Реструктуризация таблиц информационной базы» и «Сжатие таблиц». Для PostgreSQL/MS SQL используйте штатные средства СУБД (VACUUM / Shrink).
- Неразделенные объекты: Если объект нельзя удалить из-за ссылок, сначала нужно удалить или провести документы, которые на него ссылаются.
Частые ошибки
- Ошибка целостности ссылок: Возникает при попытке физического удаления объекта, на который ссылаются проведенные документы или регистры. Решение: заранее использовать «Поиск ссылок» и развязать зависимости.
- Размер базы не уменьшается: Пользователь выполнил удаление, но забыл провести «Тестирование и исправление» со сжатием таблиц для файловых баз или команду VACUUM / Shrink для SQL-серверов.
FAQ
Можно ли восстановить объект после пометки на удаление?
Да, пометка на удаление — это логическое удаление. Объект можно восстановить в любой момент до этапа окончательной физической очистки базы.
Почему в клиент-серверной базе не удаляются помеченные объекты?
Для физического удаления в клиент-серверном варианте может потребоваться монопольный режим подключения или выполнение операции через регламентное задание.
Что делать, если объект не удаляется из-за ссылок?
Сначала найдите документы или регистры, ссылающиеся на этот объект (через «Поиск ссылок»), и удалите или проведите их заново без указания данного объекта.