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

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

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

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

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

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

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

Почему документы сначала помечаются, а не удаляются сразу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Частные случаи зависших ссылок

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

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

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

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

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

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

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

bsl
МассивОбъектов = Новый Массив;
МассивОбъектов.Добавить(ДокументСсылка);
УдалитьОбъекты(МассивОбъектов, Истина); // Истина — с контролем ссылок

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

Регламентная чистка и настройка расписания

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

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

Проверка результата и типичные ошибки

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

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

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

Список неудалённых объектов после процедуры
Норма

Список пуст или содержит только объекты, которые решено оставить

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

Много объектов со ссылками — процедура фактически не отработала

Журналы документов
Норма

Удалённые документы не отображаются ни в каком режиме

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

Документы видны с пометкой — удаление не выполнялось или не завершилось

Тестирование и исправление, проверка ссылочной целостности
Норма

Ошибок нет

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

Записи вида «Объект не найден» — есть битые ссылки

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

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

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

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

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

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

Можно ли восстановить документ после физического удаления?

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

Удалятся ли движения документа вместе с ним?

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

Что делать, если удаление зависает или заканчивается ошибкой блокировки?

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

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

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

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

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