Администрирование · 9 мин
Как удалить помеченный объект в 1С
Как удалить помеченный на удаление объект в 1С: монопольный режим, удаление помеченных объектов, контроль ссылочной целостности, частые ошибки.
Объект, помеченный на удаление в 1С, физически остаётся в базе данных — красный крестик в списке означает лишь установку специального флага. Такой объект не участвует в расчётах и отчётах, но продолжает занимать место и может мешать обменам данными. Чтобы удалить его окончательно, нужно запустить специальную обработку «Удаление помеченных объектов».
Процедура доступна пользователям с правами администратора и требует монопольного доступа к базе: никто другой в этот момент не должен работать в программе. В файловых базах это достигается просто, в клиент-серверных — иногда приходится принудительно завершать сеансы пользователей через консоль кластера.
Перед удалением программа проверяет ссылочную целостность: если на помеченный объект ссылаются другие документы или элементы справочников, удаление будет заблокировано. Понимание этой логики помогает быстро разобраться, почему «объект не удаляется», и что делать в такой ситуации.
Что означает пометка на удаление и зачем нужен второй этап
Пометка на удаление — это мягкое удаление. Программа исключает объект из проведения, отчётов и большинства операций, но хранит запись в базе. Это защита от случайной потери данных: пометку можно снять в один клик, и объект вернётся в работу со всеми связями.
Физическое удаление — необратимая операция. После неё восстановить объект штатными средствами невозможно, только из резервной копии. Поэтому 1С разделяет процесс на два этапа: сначала пользователь помечает объект, затем администратор запускает обработку удаления, которая проверяет безопасность операции.
Как запустить удаление помеченных объектов
В типовых конфигурациях на платформе 8.3 обработка находится в разделе «Администрирование» → подраздел «Обслуживание» → команда «Удаление помеченных объектов». В некоторых конфигурациях путь выглядит как «НСИ и администрирование» → «Поддержка и обслуживание». Если команды не видно, проверьте права: она доступна пользователю с ролью администратора или полными правами.
Обработка предлагает два режима. Автоматическое удаление удаляет все помеченные объекты, на которые нет ссылок. Выборочное удаление показывает список помеченных объектов, и вы сами отмечаете, что удалить. Выборочный режим удобнее, когда нужно удалить только часть объектов или посмотреть, что именно будет стёрто.
- 1Сделайте резервную копию базы (выгрузку в .dt или копию файла 1Cv8.1CD)
- 2Попросите всех пользователей выйти из программы
- 3Откройте «Администрирование» → «Обслуживание» → «Удаление помеченных объектов»
- 4Выберите режим: автоматическое или выборочное удаление
- 5Нажмите «Удалить» и дождитесь окончания проверки ссылок
- 6Изучите список неудалённых объектов и причины блокировки
- 7Устраните ссылки и повторите удаление при необходимости
Монопольный режим: как обеспечить и что делать, если он недоступен
Удаление помеченных объектов выполняется только в монопольном режиме. Если в базе остаются активные сеансы, программа выдаст сообщение об ошибке установки монопольного доступа и прервёт операцию. Это самая частая причина, по которой «удаление не запускается».
В файловой базе достаточно, чтобы все пользователи закрыли программу, а фоновые задания завершились. Проверить активные сеансы можно через «Администрирование» → «Обслуживание» → «Активные пользователи». В клиент-серверном варианте сеансы завершают через консоль администрирования сервера 1С или через функционал блокировки сеансов в разделе администрирования.
Учтите, что регламентные и фоновые задания тоже создают сеансы. Перед удалением имеет смысл временно отключить расписание регламентных заданий, иначе фоновый сеанс может запуститься в процессе и сбросить монопольный режим.
Почему объект не удаляется: контроль ссылок
Если после удаления объект остался в списке, значит, на него есть ссылки. Обработка показывает список таких объектов с указанием мест использования: какие документы, справочники или регистры ссылаются на помеченный элемент. Например, нельзя удалить контрагента, если по нему есть реализации, или номенклатуру, указанную в остатках склада.
Есть три способа снять блокировку. Первый — удалить или перепровести ссылающиеся объекты, заменив в них ссылки. Второй — пометить на удаление сам ссылающийся объект, если он тоже не нужен: тогда оба удалятся за один проход. Третий — оставить объект помеченным, если он используется в закрытых периодах, которые трогать нельзя.
Проверьте, что объект исчез из списка и поиск не находит его
Откройте список мест использования в результатах обработки
Проверьте список активных пользователей и фоновые задания
Проверьте наличие роли администратора у пользователя
Удаление через код: вариант для разработчика
В пакетных сценариях и обработках обслуживания помеченные объекты удаляют программно. Стандартный механизм — процедура УдалениеОбъектов из общего модуля, либо универсальный вызов встроенного метода платформы для списка ссылок.
Пример простого кода для удаления конкретного помеченного объекта с контролем ссылок:
МассивСсылок = Новый Массив;
МассивСсылок.Добавить(ПомеченнаяСсылка);
НайденныеСсылки = НайтиПоСсылкам(МассивСсылок);
Если НайденныеСсылки.Количество() = 0 Тогда
УдалитьОбъекты(МассивСсылок);
Иначе
Сообщить("Объект используется, удаление отменено");
КонецЕсли;
Метод НайтиПоСсылкам возвращает таблицу всех мест использования, а УдалитьОбъекты выполняет физическое удаление. Оба вызова требуют монопольного режима для полноценной работы в многопользовательской среде, поэтому такой код обычно запускают в регламентном задании в нерабочее время.
Типичные ошибки и ограничения
Отдельное ограничение касается предопределённых элементов справочников: их нельзя удалить, пока они задействованы в коде конфигурации, даже если пометка установлена. Также в распределённых базах (РИБ) удаление выполняется в каждом узле отдельно либо распространяется через обмен — зависит от настройки плана обмена.
Как проверить результат и автоматизировать процесс
После завершения обработки откройте список объектов, которые остались помеченными: в идеале он пуст либо содержит только осознанно оставленные элементы с ссылками из закрытых периодов. Дополнительно можно выполнить поиск по строке «Объект не найден» в журнале регистрации — таких записей после корректного удаления быть не должно.
Для регулярной очистки настройте регламентное задание «Удаление помеченных объектов» — в типовых конфигурациях оно есть в списке регламентных заданий и по умолчанию может быть отключено. Задайте расписание на нерабочее время, например на ночь, когда монопольный режим гарантированно доступен.
Как проверить результат
Пустой или содержит только объекты с обоснованными ссылками
Масса объектов с непонятными причинами блокировки
Нет ошибок «Объект не найден»
Появились битые ссылки после операции
Документы и отчёты открываются без ошибок
Ошибки при открытии документов, ссылавшихся на удалённое
Выполняется по расписанию без ошибок
Задание падает из-за активных сеансов
Что важно запомнить
Пометка на удаление — только первый этап. Физическое удаление выполняется обработкой «Удаление помеченных объектов» в монопольном режиме, после резервной копии. Объекты со ссылками не удалятся — сначала устраните места использования или пометьте ссылающиеся объекты.
Частые вопросы
Можно ли удалить помеченный объект без монопольного режима?
Штатная обработка требует монопольного доступа. В клиент-серверных базах иногда используют регламентное задание удаления, которое запускается ночью, когда пользователей нет, — фактически это тот же монопольный режим, просто достигнутый за счёт расписания.
Что делать, если объект используется в закрытом периоде?
Безопасный вариант — оставить объект помеченным: он не мешает учёту. Открытие закрытого периода ради удаления одного элемента оправдано редко и требует согласования с бухгалтерией, так как может потребовать перепроведения документов и корректировки отчётности.
Как найти все помеченные на удаление объекты в базе?
Запустите обработку «Удаление помеченных объектов» в выборочном режиме — она покажет полный список по всем типам метаданных. Альтернатива — типовой отчёт или запрос по признаку пометки, если нужна выгрузка для анализа.
Восстановится ли объект после физического удаления?
Нет, штатными средствами — никак. Единственный способ вернуть данные — восстановление из резервной копии. Именно поэтому копию делают до запуска обработки, а не после.
Почему помеченные объекты снова появляются после обмена?
В распределённых базах пометка на удаление передаётся между узлами, но физическое удаление — нет. Если в одном узле объект удалили, а в другом он не помечен, при обмене он может вернуться. Удаляйте помеченные объекты во всех узлах согласованно.
Можно ли удалить сразу все помеченные объекты одной кнопкой?
Да, для этого служит режим автоматического удаления в обработке. Но перед запуском стоит хотя бы раз просмотреть список в выборочном режиме, чтобы убедиться, что среди помеченных нет нужных элементов, помеченных по ошибке.