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

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

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

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

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

Механизм устроен так для защиты целостности данных. Если контрагент помечен на удаление, но на него ссылается проведённая реализация, 1С не позволит стереть контрагента — иначе документ потерял бы ссылку на реквизит. Поэтому процедура удаления всегда связана с проверкой ссылочной целостности, и именно эта проверка чаще всего становится причиной вопросов у пользователей.

Ниже разобран порядок работы в типовых конфигурациях на управляемых формах (Бухгалтерия предприятия, Управление торговлей, ERP, Зарплата и управление персоналом), а также варианты для файловых и клиент-серверных баз, типичные ошибки и способы их обхода.

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

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

В старых конфигурациях на обычных формах (например, Управление торговлей 10.3 или Бухгалтерия 1.6/2.0) обработка вызывается через меню Операции → Удаление помеченных объектов. Логика работы та же, отличается только интерфейс.

Если типовой обработки в меню нет (самописная или сильно доработанная конфигурация), удаление можно выполнить программно — методом встроенного языка, но такой вариант требует навыков разработки и аккуратности.

Подготовка перед удалением

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

Убедитесь, что в базе нет активных сеансов других пользователей: удаление требует монопольного доступа. Список сеансов виден в разделе «Администрирование → Обслуживание → Активные пользователи» — оттуда же можно завершить чужие сеансы, если у вас есть соответствующие права.

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

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

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

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

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

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

Выборочное удаление и работа со ссылками

Выборочный режим

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

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

Как убрать ссылки, мешающие удалению

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

  • Удалить документ-источник, если он тоже не нужен (сначала пометьте его на удаление);
  • Заменить ссылку на другой элемент — например, указать правильного контрагента вместо дубля;
  • Очистить реквизит, если ссылка не обязательна;
  • Снять пометку удаления с самого объекта, если выяснилось, что он нужен в учёте.

Для массовой замены ссылок при устранении дублей удобна типовая обработка «Поиск и удаление дублей» (в разделе «Администрирование → Обслуживание» или «Нормативно-справочная информация»): она автоматически заменит ссылки на дубль ссылками на основной элемент, после чего дубль удалится штатно.

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

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

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

Особые случаи и ограничения

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

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

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

Регистры сведений и накопления. Записи регистров нельзя пометить на удаление поштучно — они удаляются вместе с документом-регистратором или специальными обработками. Если «мусор» находится в независимых регистрах сведений, потребуется отдельная обработка очистки.

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

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

bsl
// Требуется монопольный режим
УстановитьМонопольныйРежим(Истина);
УдалитьПомеченныеОбъекты();
УстановитьМонопольныйРежим(Ложь);

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

Типичные ошибки и как их избежать

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

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

Третья ошибка — удаление «дублей» контрагентов или номенклатуры без замены ссылок. Документы остаются с битыми ссылками, отчёты по контрагенту «теряют» историю. Правильный путь — сначала объединение дублей типовой обработкой, затем удаление.

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

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

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

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

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

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

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

Сообщение, что помеченных объектов нет

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

Список неудалённых объектов не уменьшается

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

Подставлены корректные заменяющие значения

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

Отображается «Объект не найден»

Отчёты по контрагентам и номенклатуре
Норма

История сохранена, обороты сходятся

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

Пропали обороты по удалённым элементам

Итог

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

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

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

Почему объект помечен, но не удаляется?

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

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

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

Что делать, если удаление зависло или идёт очень долго?

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

Как удалить помеченные документы за закрытый период?

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

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

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

Мешают ли помеченные объекты обмену данными?

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