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

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

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

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

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

Процедура одинакова по сути во всех типовых конфигурациях — 1С:Бухгалтерия, Управление торговлей, Зарплата и управление персоналом, Комплексная автоматизация. Различается только расположение команды в интерфейсе: в «такси» она прячется в разделе администрирования, в обычных формах — в меню «Операции». Ниже разобраны оба варианта, а также ситуации, когда стандартная обработка не справляется.

Что происходит при пометке и при физическом удалении

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

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

Подготовка: резервная копия и монопольный доступ

Перед массовым удалением сделайте резервную копию. Для файловой базы достаточно скопировать файл 1Cv8.1CD при закрытых сеансах или выгрузить базу через конфигуратор (Конфигурация → Загрузить/выгрузить информационную базу). Для клиент-серверной базы используйте средства СУБД или выгрузку в dt. Удаление необратимо: восстановить объект без копии невозможно.

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

Как удалить помеченные объекты в интерфейсе «Такси»

В конфигурациях на управляемых формах (1С:Бухгалтерия 3.0, УТ 11, ЗУП 3.1 и подобных) путь такой: откройте раздел «Администрирование», затем пункт «Обслуживание». В группе «Корректировка данных» найдите ссылку «Удаление помеченных объектов». Если раздел «Администрирование» не виден — у вас недостаточно прав, обратитесь к администратору базы.

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

Порядок действий в такси-интерфейсе
  1. 1
    Сделайте резервную копию и завершите чужие сеансы
  2. 2
    Откройте Администрирование → Обслуживание → Удаление помеченных объектов
  3. 3
    Выберите режим: автоматический или выборочный
  4. 4
    Нажмите «Удалить» и дождитесь поиска ссылок
  5. 5
    Разберите объекты, которые не удалились, и повторите процедуру

Удаление в обычном приложении и через конфигуратор

В старых конфигурациях на обычных формах (например, УПП 1.3, Бухгалтерия 2.0) команда находится в меню «Операции» → «Удаление помеченных объектов». Логика та же: монопольный режим, выбор объектов, контроль ссылок. Интерфейс проще, но и подсказок по местам использования там меньше.

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

Что делать, если объект не удаляется

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

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

Маршрут решения

Как выбрать действие

На объект ссылаются помеченные документыПометьте ссылающиеся документы на удаление и повторите процедуру
На объект ссылаются актуальные проведённые документыЗамените ссылки через «Поиск и удаление дублей» или откажитесь от удаления
Удаление прерывается ошибкой блокировкиЗавершите все сеансы и запустите обработку в монопольном режиме
Объектов очень много и обработка работает часамиУдаляйте порциями по видам объектов в выборочном режиме

Особенности: регистры, документы и предопределённые элементы

Документы удаляются только после отмены проведения — обработка делает это сама, но если у пользователя нет прав на отмену проведения, документ останется. Записи независимых регистров сведений помечаются и удаляются как обычные объекты, а записи подчинённых регистров исчезают вместе с регистратором.

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

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

Проверка результата и обслуживание после удаления

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

Учтите, что физическое удаление не уменьшает файл базы автоматически: в файловом варианте освободившееся место высвобождается после сжатия таблиц (Тестирование и исправление → Сжатие таблиц информационной базы), в клиент-серверном — средствами СУБД. Делать сжатие регулярно необязательно, но после удаления большого массива данных оно оправданно.

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

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

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

Пуст или содержит только осознанно оставленные элементы

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

Остались объекты, которые должны были удалиться

Открытие документов со ссылками на удалённые элементы
Норма

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

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

Сообщения вида «Объект не найден» — нужны тестирование и исправление

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

Есть записи об удалении без ошибок

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

Ошибки блокировок или отказа в доступе — удаление прошло не полностью

Итог

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

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

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

Почему кнопка «Удаление помеченных объектов» недоступна?

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

Можно ли восстановить удалённый объект?

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

Нужно ли удалять помеченные объекты вообще, или можно оставить?

Технически база будет работать и с помеченными объектами, но они занимают место, участвуют в контроле уникальности кодов и номеров, замедляют поиск дублей и путают пользователей в списках. Разумная практика — проводить удаление регулярно, например раз в месяц или после закрытия отчётного периода.

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

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

Почему после удаления размер файла базы не уменьшился?

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

Что делать с битой ссылкой «Объект не найден» в документе?

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