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

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

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

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

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

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

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

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

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

Для клиент-серверной базы выгрузка .dt также работает, но при больших объёмах надёжнее сделать резервную копию средствами СУБД (например, backup в MS SQL Server или pg_dump для PostgreSQL). Учтите, что выгрузка .dt большой базы может занять часы, и в этот период пользователи не должны работать в базе.

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

Третий момент — монопольный режим. Физическое удаление помеченных объектов и свёртка базы требуют, чтобы в базе не было активных сеансов других пользователей. Заранее предупредите коллег или завершите сеансы через консоль кластера / список активных пользователей.

Подготовка к очистке
  1. 1
    Завершите работу всех пользователей в базе
  2. 2
    Сделайте выгрузку .dt или резервную копию СУБД
  3. 3
    Проверьте, что у вашей учётной записи полные права
  4. 4
    Убедитесь, что копия открывается и данные в ней читаются
  5. 5
    Зафиксируйте текущее количество документов для последующей сверки

Способ 1: пометка всех документов на удаление через групповую обработку

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

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

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

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

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

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

Способ 2: свёртка базы на дату

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

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

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

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

Групповая пометка + удаление помеченных

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

Свёртка базы

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

Программное удаление (обработка с кодом)

Самый быстрый способ удалить всё разом. Требует навыков работы с конфигуратором и аккуратности: легко удалить лишнее.

Перенос в новую базу через конвертацию

Подходит для создания чистой базы со справочниками без документов. Требует настройки правил обмена, трудоёмко.

Способ 3: программное удаление через обработку

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

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

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

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

Для ускорения на больших объёмах применяют обмен данными в режиме загрузки (ОбменДанными.Загрузка = Истина) перед установкой пометки — это отключает часть проверок и обработчиков. Но такой приём отключает и контрольные механизмы, поэтому использовать его следует только в копии базы.

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

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

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

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

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

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

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

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

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

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

Все журналы пустые или содержат только документы ввода остатков

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

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

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

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

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

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

Поиск битых ссылок
Норма

Отчёты не показывают «Объект не найден»

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

Битые ссылки — документы удалены напрямую без контроля целостности

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

После сжатия таблиц размер заметно уменьшился

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

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

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

Альтернатива: чистая база через перенос справочников

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

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

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

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

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

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

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

Удалить все документы из 1С можно через групповую пометку с последующим удалением помеченных, через свёртку базы или программную обработку. Всегда начинайте с резервной копии, работайте с полными правами в монопольном режиме, а после очистки проверяйте журналы, обороты и битые ссылки.

Часто задаваемые вопросы

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

Да. Движения по регистрам принадлежат документам, и при удалении проведённого документа его записи в регистрах удаляются автоматически. Остатки обнулятся. Исключение — независимые регистры сведений, записи которых не привязаны к документам: их данные сохраняются.

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

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

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

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

Что делать, если удаление помеченных объектов блокируется ссылками?

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

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

Нет, удаление физически уничтожает данные. Восстановление возможно только из резервной копии: загрузкой файла .dt, восстановлением бэкапа СУБД или развёртыванием архивной копии файловой базы. Поэтому копия перед очисткой обязательна, а её работоспособность стоит проверить до начала удаления.

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

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