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

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

Как очистить 1С 8.3 от всех документов

Способы удалить все документы из базы 1С 8.3: пометка на удаление, обработки, свёртка базы. Порядок действий, риски, резервное копирование и проверка результата.

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

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

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

Подготовка: резервная копия и оценка объёма работ

Любая операция массового удаления необратима. Перед началом создайте полную резервную копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD при закрытых сеансах всех пользователей. Для клиент-серверной базы используйте выгрузку в dt через конфигуратор (Администрирование → Выгрузить информационную базу) либо средства MS SQL Server / PostgreSQL.

Оцените масштаб: количество документов влияет на выбор метода. База с несколькими тысячами документов очищается штатными средствами за разумное время. База с сотнями тысяч документов через стандартное удаление помеченных будет обрабатываться часами — здесь целесообразнее обработки прямого удаления или свёртка.

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

Способ 1: пометка на удаление и штатное удаление помеченных объектов

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

Сначала нужно пометить все документы на удаление. В большинстве типовых конфигураций (БП 3.0, УТ 11, ERP) есть функция «Групповое изменение реквизитов» (Администрирование → Обслуживание → Корректировка данных). В ней выбираете тип «Документы», добавляете все виды документов и устанавливаете пометку удаления. Альтернатива — открыть журнал документов каждого вида, выделить все строки (Ctrl+A) и нажать Delete.

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

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

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

Способ 2: обработки массового удаления документов

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

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

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

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

Способ 3: свёртка базы — когда нужно сохранить остатки

Если цель — не просто удалить документы, а начать учёт «с чистого листа» с определённой даты, правильнее использовать свёртку. В типовых конфигурациях (БП 3.0, УТ 11, ERP) есть штатная обработка «Свёртка информационной базы» (Администрирование → Обслуживание). Она удаляет все документы до указанной даты и формирует документы ввода остатков на эту дату.

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

Сравнение способов очистки

Пометка + удаление помеченных

Безопасно, контроль ссылок платформой. Медленно на больших базах, нужно несколько проходов из-за цепочек ссылок.

Обработка массового удаления

Быстро для сотен тысяч документов. Требует аккуратности: прямое удаление не проверяет ссылки, обязательно тестирование после.

Свёртка базы

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

Загрузка чистой базы из шаблона и перенос справочников

Даёт гарантированно чистую базу. Требует отдельной процедуры переноса НСИ через выгрузку/загрузку данных.

Способ 4: чистая база с переносом справочников

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

Для переноса используют обработку «Выгрузка и загрузка данных XML» (доступна на диске ИТС и в составе конфигураций) или конвертацию данных. Переносятся номенклатура, контрагенты, склады, договоры, пользователи и при необходимости начальные остатки, введённые вручную.

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

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

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

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

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

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

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

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

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

Остались документы или помеченные на удаление записи

Оборотно-сальтовая ведомость / отчёты по остаткам
Норма

Нет оборотов за прошлые периоды

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

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

Справочники (номенклатура, контрагенты)
Норма

Данные на месте, элементы открываются без ошибок

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

Битые ссылки вида «Объект не найден»

Размер файла базы
Норма

Уменьшился после сжатия таблиц

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

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

Типичные ошибки при очистке базы

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

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

Итог

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

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

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

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

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

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

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

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

Да, записи регистров, сформированные проведением документа, удаляются вместе с ним. Не удаляются только записи, созданные вручную — через документы «Операция», «Корректировка регистров» и подобные. Их нужно удалять как отдельные документы.

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

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

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

Да. В журнале нужного вида документов выделите все строки (Ctrl+A) и установите пометку удаления, затем выполните удаление помеченных в выборочном режиме. Учтите, что связанные документы (счета-фактуры, оплаты) могут ссылаться на удаляемые, и платформа не даст их удалить до разрыва ссылок.

Опасно ли удалять документы в базе с настроенной синхронизацией?

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