Администрирование · 11 мин
Как физически удалить документ в 1С
Как физически удалить документ в 1С: пометка на удаление, контроль ссылочной целостности, монопольный режим, права и типичные ошибки при удалении.
Физическое удаление документа в 1С — это не простое нажатие кнопки «Удалить», а двухэтапная процедура: сначала объект помечается на удаление, затем специальная обработка проверяет ссылки на него и только после этого стирает запись из базы. Такой механизм защищает учёт от ситуации, когда исчезает документ, на который ссылаются другие объекты — проводки, регистры, связанные документы.
Непосредственное удаление без контроля ссылок в типовых конфигурациях обычно заблокировано, и это сделано намеренно. Если стереть документ «в лоб», в базе останутся «битые ссылки» — записи вида «Объект не найден», которые ломают отчёты, обмены данными и проведение зависимых документов.
Ниже разобран полный цикл: от пометки на удаление до физического удаления через обработку «Удаление помеченных объектов», различия для файлового и клиент-серверного режимов, ограничения по правам и способы справиться с типичными проблемами.
Чем пометка на удаление отличается от физического удаления
Пометка на удаление — это логический признак. Документ с пометкой перестаёт участвовать в проведении, исключается из большинства отчётов и подсвечивается в списках перечёркнутым значком, но физически остаётся в таблицах базы данных. Его можно восстановить в один клик, сняв пометку.
Физическое удаление — это реальное стирание записи из таблиц СУБД. После него документ восстановить штатными средствами нельзя: поможет только резервная копия. Именно поэтому платформа требует перед физическим удалением проверить, не ссылаются ли на объект другие данные.
Контроль ссылочной целостности выполняет встроенная обработка «Удаление помеченных объектов». Она сканирует всю базу, ищет ссылки на помеченные объекты и либо удаляет их, либо показывает список мест использования, которые мешают удалению.
Шаг 1. Пометить документ на удаление
Откройте список документов нужного вида или сам документ. Выделите объект и нажмите клавишу Delete, либо используйте команду «Пометить на удаление / Снять пометку» в меню «Ещё». В форме документа та же команда доступна через кнопку со значком пометки.
Платформа задаст вопрос-подтверждение. После согласия документ получит признак пометки: в списке он отобразится перечёркнутым. Если документ был проведён, пометка на удаление автоматически отменяет проведение — движения по регистрам очищаются.
Если пометить не удаётся, проверьте права: у пользователя должно быть право «Удаление» на данный вид документов. Также документ может быть заблокирован другим сеансом или находиться в закрытом периоде, если в конфигурации настроены даты запрета изменения данных.
Шаг 2. Запустить удаление помеченных объектов
Перейдите в раздел «Администрирование» → «Обслуживание» → «Удаление помеченных объектов» (в некоторых конфигурациях путь: «НСИ и администрирование» → «Поддержка и обслуживание»). В тонком клиенте обработку можно найти и через поиск по командному интерфейсу.
Обработка предложит два режима: автоматическое удаление всех помеченных объектов или выборочное — со списком, где можно отметить только нужные документы. Для точечной работы удобнее второй вариант: отметьте флажком конкретный документ и нажмите «Удалить».
Программа выполнит поиск ссылок на выбранные объекты. Если ссылок нет, документ будет физически удалён, и обработка покажет итоговое сообщение. Если ссылки найдены, появится список объектов, которые используют документ, — без их разбора удаление не произойдёт.
- 1Сделайте резервную копию базы (выгрузку в .dt или бэкап СУБД)
- 2Пометьте документ на удаление клавишей Delete или командой «Пометить на удаление»
- 3Откройте «Администрирование» → «Удаление помеченных объектов»
- 4Выберите режим выборочного удаления и отметьте нужный документ
- 5Нажмите «Удалить» и дождитесь контроля ссылок
- 6Если найдены ссылки — разберите места использования и повторите удаление
- 7Проверьте, что документ исчез из списка и из отчётов
Что делать, если документ не удаляется из-за ссылок
Типичная ситуация: обработка показывает, что на документ ссылаются другие объекты — например, «Возврат товаров от покупателя» ссылается на «Реализацию товаров и услуг», или документ указан в поле «Документ-основание» другой операции.
Вариантов действия три. Первый — пометить на удаление и сами ссылающиеся объекты, если они тоже не нужны, и повторить удаление всей цепочки. Второй — открыть ссылающийся объект и очистить поле со ссылкой вручную, после чего провести его заново. Третий — оставить документ в помеченном состоянии, если он нужен для истории.
Ссылки в регистрах и последовательностях
Иногда ссылка «прячется» не в документах, а в движениях: например, документ остался регистратором записи регистра из-за ошибочно проведённого объекта или сбоя. В этом случае помогает отмена проведения связанного документа либо запуск тестирования и исправления информационной базы с включённой проверкой ссылочной целостности.
Как выбрать действие
Непосредственное удаление: когда доступно и чем рискованно
В платформе существует режим непосредственного удаления без контроля ссылок. Он включается через меню «Ещё» → «Изменить форму списка» не всегда — чаще доступен сочетанием Shift+Delete либо командой «Удалить» при наличии права «Интерактивное удаление» в роли пользователя. В типовых конфигурациях это право обычно не выдаётся рядовым пользователям.
Использовать непосредственное удаление оправдано только для объектов, которые гарантированно нигде не используются: например, дубли, созданные ошибочной загрузкой, когда документ ещё не успел попасть в связи. Во всех остальных случаях риск получить «битые ссылки» перевешивает экономию времени.
Особенности для файлового и клиент-серверного режимов
В файловой базе удаление помеченных объектов требует монопольного доступа: все пользователи должны выйти, фоновые задания — завершиться. Если обработка сообщает, что не удалось установить монопольный режим, проверьте активные сеансы через «Администрирование» → «Активные пользователи» и завершите лишние.
В клиент-серверном варианте (MS SQL, PostgreSQL) монопольный режим для контроля ссылок не обязателен — удаление выполняется в транзакции, однако массовое удаление больших пакетов может надолго блокировать таблицы. Планируйте такую операцию на нерабочее время и удаляйте порциями.
После массового физического удаления в клиент-серверной базе файлы данных на диске не уменьшаются автоматически: освобождённое место остаётся зарезервированным внутри файлов СУБД. Для возврата места системе администратор СУБД выполняет сжатие (shrink) базы, но делать это стоит осознанно — операция ресурсоёмкая.
Если нужно удалить тысячи документов за старый период, не выбирайте их все одним пакетом. Разбейте работу на порции по несколько сотен объектов: так короче транзакции, меньше блокировки и проще откатиться при ошибке.
Проверка результата и типичные ошибки
После завершения обработки убедитесь, что документ исчез из списка при отключённом отборе помеченных, отсутствует в отчётах и не отображается в структуре подчинённости связанных документов. Полезно также запустить «Тестирование и исправление» с проверкой ссылочной целостности — оно покажет, не осталось ли битых ссылок.
Как проверить результат
Отсутствует даже при показе помеченных
Виден перечёркнутым — удаление не выполнено
Нет строк «Объект не найден»
Появляется «Объект не найден» — битая ссылка
Обороты соответствуют ожиданиям без удалённого документа
Суммы изменились неожиданно — проверьте, что удалили то, что нужно
Проверка ссылочной целостности без ошибок
Ошибки ссылочной целостности — требуется исправление
Часто задаваемые вопросы
Можно ли восстановить физически удалённый документ?
Штатными средствами — нет. Восстановление возможно только из резервной копии (файл .dt или бэкап СУБД), сделанной до удаления. Поэтому перед любым физическим удалением копия обязательна.
Почему кнопка «Удалить» неактивна или пометка не ставится?
Чаще всего не хватает прав: у пользователя нет права «Удаление» на этот вид документов. Также мешают дата запрета изменения данных, блокировка объекта другим сеансом или настройки конфигурации, запрещающие удаление проведённых документов.
Документ удалён, но место на диске не освободилось. Это нормально?
Да. В клиент-серверных базах файлы СУБД не сжимаются автоматически — освобождённое пространство остаётся внутри файлов для будущих данных. Физическое уменьшение файлов выполняет администратор СУБД отдельной операцией сжатия.
Что будет, если удалить документ, который участвует в обмене данными?
При корректно настроенной синхронизации удаление зарегистрируется и передастся в другие узлы. Если же регистрация изменений для удаления не отработала, документ может «вернуться» из другого узла при следующем обмене. Перед удалением проверьте состав плана обмена.
Можно ли удалить документ программно, из внешней обработки?
Да, через метод Удалить() объекта документа или УстановитьПометкуУдаления() с последующим вызовом встроенной процедуры удаления помеченных объектов. Прямой вызов Удалить() обходит контроль ссылок, поэтому применять его стоит только для гарантированно несвязанных объектов.
Чем удаление отличается от отмены проведения?
Отмена проведения убирает движения документа по регистрам, но сам документ остаётся в базе и виден в списках. Пометка на удаление дополнительно исключает его из оборотов, а физическое удаление стирает запись полностью. Для временного исключения документа из учёта достаточно отмены проведения.
Что важно запомнить
Физическое удаление документа в 1С всегда идёт через пометку и обработку «Удаление помеченных объектов» с контролем ссылок. Перед удалением делайте резервную копию, разбирайте ссылки на документ, а непосредственное удаление без контроля оставьте для заведомо изолированных объектов.