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

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

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

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

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

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

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

Где находится обработка удаления помеченных объектов

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

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

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

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

Первый шаг — резервная копия. Для файловой базы достаточно скопировать файл с расширением .1CD в отдельную папку при закрытой программе. Для клиент-серверной базы корректный способ — выгрузка через конфигуратор («Администрирование → Выгрузить информационную базу») либо штатный бэкап средствами СУБД. Копия нужна потому, что физическое удаление необратимо: если по ошибке уйдёт нужный документ, вернуть его можно будет только из резервной копии.

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

Пошаговое удаление через обработку

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

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

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

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

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

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

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

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

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

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

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

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

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

Разработчик может удалить объект программно: метод УстановитьПометкуУдаления(Истина) ставит пометку, а прямое удаление без контроля ссылок выполняется методом Удалить() у объекта. Второй вариант опасен: он не проверяет ссылочную целостность, и в базе останутся битые ссылки. Использовать его без крайней необходимости не стоит, а штатная обработка всегда предпочтительнее.

Регулярная чистка помеченных объектов раз в месяц или квартал занимает минуты, а вот разовое удаление накопленных за годы десятков тысяч объектов может идти часами. Включите удаление помеченных в регламент обслуживания базы — вместе с резервным копированием и тестированием.
ПЗ
Практическое замечание

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

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

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

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

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

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

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

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

Объекты остались, но мест использования не показано — возможен сбой, повторите запуск

Отчёты и документы, где были удалённые элементы
Норма

Данные отображаются корректно, без строк «Объект не найден»

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

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

Размер файла базы (файловый вариант)
Норма

После сжатия таблиц размер уменьшился

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

Размер не изменился — сжатие не выполнялось или свободного места внутри файла мало

Типичные ошибки при удалении помеченных объектов

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

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

Отдельно стоит сказать про обмены данными. Если база участвует в синхронизации (РИБ, обмен с другими конфигурациями, сайтом), удалённые объекты могут «вернуться» из узла обмена или, наоборот, удаление зарегистрируется и уйдёт в другую базу. Перед массовой чисткой в распределённой системе проверьте настройки планов обмена и правила регистрации удаления.

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

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

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

Что делать, если кнопки «Удаление помеченных объектов» нет в меню?

Скорее всего, у вашей учётной записи нет нужных прав — обратитесь к администратору, чтобы он добавил роль на удаление помеченных объектов. Если права есть, ищите пункт через «Все функции» (Ctrl+Shift+F) по слову «помеченных»: в доработанных конфигурациях обработку иногда переносят в другие разделы.

Восстановится ли объект, если снять пометку на удаление?

Да, пока не выполнено физическое удаление. Снимите пометку тем же способом, каким ставили (кнопка «Пометить на удаление / Снять пометку» в списке или форме объекта), и объект снова станет полноценным. После физического удаления восстановление возможно только из резервной копии.

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

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

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

В типовых конфигурациях штатного регламентного задания для этого нет, потому что операция требует монопольного доступа и контроля ссылок. На практике автоматизацию делают через внешнюю обработку и планировщик, но запускать её стоит только в гарантированно пустое окно и с обязательным протоколированием результата.

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

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

Итог

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

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