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

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

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

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

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

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

Ниже разобраны основные способы: стандартное удаление через интерфейс, групповая обработка, вариант через конфигуратор и ограничения, которые нужно учитывать, чтобы не разрушить учёт.

Подготовка: резервная копия и проверка прав

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

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

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

Способ 1. Пометка на удаление через список документов

Самый простой вариант подходит, когда документов немного или нужно удалить документы одного вида. Откройте журнал документов, выделите нужные строки (Ctrl+A — выделить все видимые, Shift и Ctrl — для выборочного выделения) и нажмите клавишу Delete или кнопку «Пометить на удаление» в меню «Ещё».

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

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

Способ 2. Групповая обработка справочников и документов

В типовых конфигурациях на управляемых формах (Бухгалтерия предприятия, Управление торговлей, ERP) есть встроенная обработка «Групповое изменение реквизитов» (раздел «Администрирование» → «Обслуживание» → «Корректировка данных»). Она позволяет массово пометить на удаление документы всех видов за одну операцию.

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

В старых конфигурациях на обычных формах (например, УПП 1.3, УТ 10.3) используется обработка «Групповая обработка справочников и документов», которая открывается через меню «Сервис». Логика та же: отбор объектов, выбор действия «Установить пометку удаления», выполнение.

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

Удаление помеченных объектов и контроль целостности

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

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

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

Способ 3. Обработка «Удаление всех документов» и программный способ

Для тестовых и копий баз часто применяют специализированные внешние обработки, которые в цикле помечают на удаление все документы всех видов. Такие обработки распространяются на профильных ресурсах; перед запуском проверяйте их на копии базы и убедитесь, что обработка совместима с вашей версией платформы.

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

bsl
Для Каждого ВидДокумента Из Метаданные.Документы Цикл
    Выборка = Документы[ВидДокумента.Имя].Выбрать();
    Пока Выборка.Следующий() Цикл
        ОбъектДок = Выборка.ПолучитьОбъект();
        ОбъектДок.УстановитьПометкуУдаления(Истина);
    КонецЦикла;
КонецЦикла;

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

Особенности: последовательности, итоги и связанные данные

Удаление документов не очищает автоматически всё связанное с ними. Остатки по регистрам обнулятся только после отмены проведения и физического удаления документов; если в базе включены итоги по регистрам, после массовой очистки полезно выполнить пересчёт итогов (в конфигураторе: «Администрирование → Тестирование и исправление» либо через режим управления итогами).

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

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

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

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

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

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

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

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

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

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

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

Все журналы пустые

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

Остались документы — не прошёл контроль целостности или не снята пометка

Оборотно-сальдовая ведомость
Норма

Обороты и остатки нулевые

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

Есть обороты — остались проведённые документы или ручные операции

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

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

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

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

Итог

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

Удаление всех документов в 1С всегда идёт по схеме: резервная копия → отмена проведения → пометка на удаление → удаление помеченных объектов с контролем целостности. Для рабочей базы вместо полной очистки безопаснее использовать штатную свёртку с сохранением остатков.

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

Можно ли удалить документы сразу, минуя пометку на удаление?

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

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

Наиболее частая причина — на документ ссылаются другие объекты, которые не помечены на удаление. При удалении помеченных объектов платформа показывает список таких мест использования: пометите ссылающиеся объекты или очистите ссылки. Вторая причина — недостаток прав или установленная дата запрета изменения данных.

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

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

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

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

Что делать, если после удаления остались остатки на счетах?

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

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

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