К статье
Практический материал

Администрирование · 9 мин

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

Как удалить помеченный на удаление объект в 1С: монопольный режим, удаление помеченных объектов, контроль ссылочной целостности, частые ошибки.

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

Процедура доступна пользователям с правами администратора и требует монопольного доступа к базе: никто другой в этот момент не должен работать в программе. В файловых базах это достигается просто, в клиент-серверных — иногда приходится принудительно завершать сеансы пользователей через консоль кластера.

Перед удалением программа проверяет ссылочную целостность: если на помеченный объект ссылаются другие документы или элементы справочников, удаление будет заблокировано. Понимание этой логики помогает быстро разобраться, почему «объект не удаляется», и что делать в такой ситуации.

Что означает пометка на удаление и зачем нужен второй этап

Пометка на удаление — это мягкое удаление. Программа исключает объект из проведения, отчётов и большинства операций, но хранит запись в базе. Это защита от случайной потери данных: пометку можно снять в один клик, и объект вернётся в работу со всеми связями.

Физическое удаление — необратимая операция. После неё восстановить объект штатными средствами невозможно, только из резервной копии. Поэтому 1С разделяет процесс на два этапа: сначала пользователь помечает объект, затем администратор запускает обработку удаления, которая проверяет безопасность операции.

Как запустить удаление помеченных объектов

В типовых конфигурациях на платформе 8.3 обработка находится в разделе «Администрирование» → подраздел «Обслуживание» → команда «Удаление помеченных объектов». В некоторых конфигурациях путь выглядит как «НСИ и администрирование» → «Поддержка и обслуживание». Если команды не видно, проверьте права: она доступна пользователю с ролью администратора или полными правами.

Обработка предлагает два режима. Автоматическое удаление удаляет все помеченные объекты, на которые нет ссылок. Выборочное удаление показывает список помеченных объектов, и вы сами отмечаете, что удалить. Выборочный режим удобнее, когда нужно удалить только часть объектов или посмотреть, что именно будет стёрто.

Порядок действий
  1. 1
    Сделайте резервную копию базы (выгрузку в .dt или копию файла 1Cv8.1CD)
  2. 2
    Попросите всех пользователей выйти из программы
  3. 3
    Откройте «Администрирование» → «Обслуживание» → «Удаление помеченных объектов»
  4. 4
    Выберите режим: автоматическое или выборочное удаление
  5. 5
    Нажмите «Удалить» и дождитесь окончания проверки ссылок
  6. 6
    Изучите список неудалённых объектов и причины блокировки
  7. 7
    Устраните ссылки и повторите удаление при необходимости

Монопольный режим: как обеспечить и что делать, если он недоступен

Удаление помеченных объектов выполняется только в монопольном режиме. Если в базе остаются активные сеансы, программа выдаст сообщение об ошибке установки монопольного доступа и прервёт операцию. Это самая частая причина, по которой «удаление не запускается».

В файловой базе достаточно, чтобы все пользователи закрыли программу, а фоновые задания завершились. Проверить активные сеансы можно через «Администрирование» → «Обслуживание» → «Активные пользователи». В клиент-серверном варианте сеансы завершают через консоль администрирования сервера 1С или через функционал блокировки сеансов в разделе администрирования.

Учтите, что регламентные и фоновые задания тоже создают сеансы. Перед удалением имеет смысл временно отключить расписание регламентных заданий, иначе фоновый сеанс может запуститься в процессе и сбросить монопольный режим.

Почему объект не удаляется: контроль ссылок

Если после удаления объект остался в списке, значит, на него есть ссылки. Обработка показывает список таких объектов с указанием мест использования: какие документы, справочники или регистры ссылаются на помеченный элемент. Например, нельзя удалить контрагента, если по нему есть реализации, или номенклатуру, указанную в остатках склада.

Есть три способа снять блокировку. Первый — удалить или перепровести ссылающиеся объекты, заменив в них ссылки. Второй — пометить на удаление сам ссылающийся объект, если он тоже не нужен: тогда оба удалятся за один проход. Третий — оставить объект помеченным, если он используется в закрытых периодах, которые трогать нельзя.

Объект удалилсяСсылки отсутствовали

Проверьте, что объект исчез из списка и поиск не находит его

Объект не удалёнЕсть ссылки на него

Откройте список мест использования в результатах обработки

Ошибка монопольного доступаАктивны другие сеансы

Проверьте список активных пользователей и фоновые задания

Команда удаления не виднаНедостаточно прав

Проверьте наличие роли администратора у пользователя

Удаление через код: вариант для разработчика

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

Пример простого кода для удаления конкретного помеченного объекта с контролем ссылок:

МассивСсылок = Новый Массив;

МассивСсылок.Добавить(ПомеченнаяСсылка);

НайденныеСсылки = НайтиПоСсылкам(МассивСсылок);

Если НайденныеСсылки.Количество() = 0 Тогда

УдалитьОбъекты(МассивСсылок);

Иначе

Сообщить("Объект используется, удаление отменено");

КонецЕсли;

Метод НайтиПоСсылкам возвращает таблицу всех мест использования, а УдалитьОбъекты выполняет физическое удаление. Оба вызова требуют монопольного режима для полноценной работы в многопользовательской среде, поэтому такой код обычно запускают в регламентном задании в нерабочее время.

Типичные ошибки и ограничения

Типичные ошибки
01
Запуск удаления без резервной копии — при ошибке восстановить данные невозможно
02
Попытка удалить объект, на который ссылаются закрытые периоды — придётся либо открывать период, либо оставлять пометку
03
Игнорирование фоновых заданий — регламентный сеанс сбрасывает монопольный режим посреди операции
04
Массовая пометка объектов отбором без проверки — вместе с лишними помечаются нужные элементы
05
Удаление в разгар рабочего дня — пользователи теряют несохранённые данные при принудительном завершении сеансов

Отдельное ограничение касается предопределённых элементов справочников: их нельзя удалить, пока они задействованы в коде конфигурации, даже если пометка установлена. Также в распределённых базах (РИБ) удаление выполняется в каждом узле отдельно либо распространяется через обмен — зависит от настройки плана обмена.

Как проверить результат и автоматизировать процесс

После завершения обработки откройте список объектов, которые остались помеченными: в идеале он пуст либо содержит только осознанно оставленные элементы с ссылками из закрытых периодов. Дополнительно можно выполнить поиск по строке «Объект не найден» в журнале регистрации — таких записей после корректного удаления быть не должно.

Для регулярной очистки настройте регламентное задание «Удаление помеченных объектов» — в типовых конфигурациях оно есть в списке регламентных заданий и по умолчанию может быть отключено. Задайте расписание на нерабочее время, например на ночь, когда монопольный режим гарантированно доступен.

Контрольные точки

Как проверить результат

Список помеченных объектов
Норма

Пустой или содержит только объекты с обоснованными ссылками

Тревожный признак

Масса объектов с непонятными причинами блокировки

Журнал регистрации
Норма

Нет ошибок «Объект не найден»

Тревожный признак

Появились битые ссылки после операции

Работа пользователей
Норма

Документы и отчёты открываются без ошибок

Тревожный признак

Ошибки при открытии документов, ссылавшихся на удалённое

Регламентное задание
Норма

Выполняется по расписанию без ошибок

Тревожный признак

Задание падает из-за активных сеансов

Итог

Что важно запомнить

Пометка на удаление — только первый этап. Физическое удаление выполняется обработкой «Удаление помеченных объектов» в монопольном режиме, после резервной копии. Объекты со ссылками не удалятся — сначала устраните места использования или пометьте ссылающиеся объекты.

Частые вопросы

Можно ли удалить помеченный объект без монопольного режима?

Штатная обработка требует монопольного доступа. В клиент-серверных базах иногда используют регламентное задание удаления, которое запускается ночью, когда пользователей нет, — фактически это тот же монопольный режим, просто достигнутый за счёт расписания.

Что делать, если объект используется в закрытом периоде?

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

Как найти все помеченные на удаление объекты в базе?

Запустите обработку «Удаление помеченных объектов» в выборочном режиме — она покажет полный список по всем типам метаданных. Альтернатива — типовой отчёт или запрос по признаку пометки, если нужна выгрузка для анализа.

Восстановится ли объект после физического удаления?

Нет, штатными средствами — никак. Единственный способ вернуть данные — восстановление из резервной копии. Именно поэтому копию делают до запуска обработки, а не после.

Почему помеченные объекты снова появляются после обмена?

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

Можно ли удалить сразу все помеченные объекты одной кнопкой?

Да, для этого служит режим автоматического удаления в обработке. Но перед запуском стоит хотя бы раз просмотреть список в выборочном режиме, чтобы убедиться, что среди помеченных нет нужных элементов, помеченных по ошибке.