Администрирование · 14 мин
Как удалить все документы из базы 1С
Как удалить все документы из базы 1С: обработка группового удаления, пометка на удаление, свёртка базы, ограничения и проверка результата. Подробная инструкция.
Задача удалить все документы из базы 1С возникает в нескольких типичных ситуациях: подготовка копии рабочей базы для тестирования, создание «чистой» базы для нового юридического лица на основе существующей конфигурации, очистка демонстрационной базы или освобождение места в архивной базе, которая больше не используется для оперативного учёта. Во всех этих случаях нужно удалить именно документы, сохранив справочники, настройки и пользователей.
Штатного пункта меню «удалить все документы» в типовых конфигурациях 1С нет — это сделано намеренно, чтобы исключить случайное уничтожение учётных данных. Однако задача решается несколькими способами: через обработку группового удаления, через свёртку базы, программно через встроенный язык или с помощью сторонних обработок. Выбор зависит от объёма базы, конфигурации и того, что должно остаться после очистки.
Прежде чем приступать, критически важно сделать резервную копию. Удаление документов — необратимая операция, и восстановить данные без копии не получится. Далее разберём каждый способ по шагам, укажем ограничения и покажем, как проверить результат.
Подготовка: резервная копия и проверка прав
Первый шаг — создание резервной копии. Для файловой базы достаточно скопировать файл 1Cv8.1CD при отключённых пользователях либо выполнить выгрузку через конфигуратор: «Администрирование» → «Выгрузить информационную базу». Полученный файл с расширением .dt позволит вернуть базу в исходное состояние через «Загрузить информационную базу».
Для клиент-серверной базы выгрузка .dt также работает, но при больших объёмах надёжнее сделать резервную копию средствами СУБД (например, backup в MS SQL Server или pg_dump для PostgreSQL). Учтите, что выгрузка .dt большой базы может занять часы, и в этот период пользователи не должны работать в базе.
Второе условие — права. Для пометки и удаления объектов нужны полные права (роль «Полные права» или административные права в конфигурации). Если вы работаете под ограниченной учётной записью, часть документов может не пометиться на удаление, и очистка окажется неполной.
Третий момент — монопольный режим. Физическое удаление помеченных объектов и свёртка базы требуют, чтобы в базе не было активных сеансов других пользователей. Заранее предупредите коллег или завершите сеансы через консоль кластера / список активных пользователей.
- 1Завершите работу всех пользователей в базе
- 2Сделайте выгрузку .dt или резервную копию СУБД
- 3Проверьте, что у вашей учётной записи полные права
- 4Убедитесь, что копия открывается и данные в ней читаются
- 5Зафиксируйте текущее количество документов для последующей сверки
Способ 1: пометка всех документов на удаление через групповую обработку
Самый доступный способ без программирования — обработка «Групповое изменение реквизитов», которая входит в состав конфигураций на базе Библиотеки стандартных подсистем (БСП): «Управление торговлей», «ERP», «Комплексная автоматизация», «Бухгалтерия предприятия» (в новых редакциях) и других. Находится она обычно в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» → «Групповое изменение реквизитов».
В обработке выберите тип объектов «Документы», затем конкретный вид документа. В списке реквизитов найдите служебное поле «Пометка удаления» и установите для него значение «Истина». Выполните обработку — все документы выбранного вида будут помечены на удаление. Операцию нужно повторить для каждого вида документов: реализаций, поступлений, счетов-фактур, платёжных поручений, кассовых документов, складских ордеров и так далее.
Ограничение способа очевидно: видов документов в типовой конфигурации десятки, и обрабатывать каждый вручную долго. Кроме того, пометка на удаление не освобождает место — документы физически остаются в базе до выполнения удаления помеченных объектов. Поэтому этот способ обычно применяют как первый этап двухэтапной очистки.
Удаление помеченных объектов
После пометки всех документов откройте «Администрирование» → «Обслуживание» → «Удаление помеченных объектов» (в некоторых конфигурациях — «Администрирование» → «Поддержка и обслуживание»). Выберите режим «Выборочное удаление» или «Автоматическое удаление всех помеченных объектов» и запустите процесс.
Механизм контроля ссылочной целостности проверит, нет ли ссылок на удаляемые документы из других объектов. Если на документ ссылается, например, непомеченный документ или регистр, удаление будет заблокировано, и вы увидите список «мешающих» объектов. Их нужно либо тоже пометить на удаление, либо очистить ссылки. При полной очистке всех документов конфликты обычно возникают только с задачами, бизнес-процессами и некоторыми служебными объектами — их помечают аналогично.
Способ 2: свёртка базы на дату
Если цель — не просто удалить документы, а начать учёт «с чистого листа» с определённой даты, удобнее использовать штатный механизм свёртки. В конфигурациях на базе БСП он доступен в разделе «Администрирование» → «Обслуживание» → «Свёртка информационной базы» (в некоторых конфигурациях — через «Начальное заполнение» или отдельную обработку).
Свёртка работает так: вы указываете дату, и система удаляет все документы до этой даты, формируя вместо них документы ввода начальных остатков по регистрам (остатки товаров, денежных средств, взаиморасчётов и т. д.). Если указать текущую или будущую дату, фактически будут удалены все документы, а в базе останутся только сформированные остатки — их при желании можно удалить вручную, их немного.
Преимущество свёртки — автоматическая обработка регистров и движений, не нужно вручную перебирать виды документов. Недостаток — процесс длительный на больших базах и создаёт документы ввода остатков, которые не всегда нужны. Кроме того, свёртка не удаляет документы, которые не делают движений по регистрам, — например, некоторые служебные или непроведённые документы могут остаться.
Сравнение способов очистки
Подходит для базы любого размера, не требует программирования. Минус: нужно обрабатывать каждый вид документов отдельно, возможны блокировки из-за ссылок.
Подходит, когда нужно начать учёт с определённой даты и сохранить остатки. Минус: долго на больших базах, создаёт документы ввода остатков.
Самый быстрый способ удалить всё разом. Требует навыков работы с конфигуратором и аккуратности: легко удалить лишнее.
Подходит для создания чистой базы со справочниками без документов. Требует настройки правил обмена, трудоёмко.
Способ 3: программное удаление через обработку
Самый быстрый способ удалить все документы разом — выполнить код на встроенном языке 1С. Для этого создаётся внешняя обработка (или используется консоль кода), в которой перебираются все виды документов из метаданных и каждый документ помечается на удаление либо удаляется напрямую.
Типовой фрагмент кода для пометки на удаление всех документов выглядит так: в цикле по «Документы» из коллекции метаданных создаётся выборка «Выбрать()» по каждому виду, и для каждого объекта вызывается метод «УстановитьПометкуУдаления(Истина)». После выполнения обработки остаётся запустить штатное удаление помеченных объектов.
Непосредственное удаление (метод «Удалить()» без пометки) выполняется быстрее, но опаснее: оно не контролирует ссылочную целостность, и в базе могут остаться «битые» ссылки — ссылки на несуществующие объекты. Такие ссылки потом отображаются в отчётах как «Объект не найден» и требуют отдельной чистки. Поэтому прямое удаление оправданно только в копиях баз для тестов, где ссылочная чистота не критична, либо когда удаляются вообще все объекты с данными.
Для Каждого ВидДокумента Из Метаданные.Документы Цикл
Выборка = Документы[ВидДокумента.Имя].Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.ПолучитьОбъект();
ДокОбъект.УстановитьПометкуУдаления(Истина);
КонецЦикла;
КонецЦикла;Для ускорения на больших объёмах применяют обмен данными в режиме загрузки (ОбменДанными.Загрузка = Истина) перед установкой пометки — это отключает часть проверок и обработчиков. Но такой приём отключает и контрольные механизмы, поэтому использовать его следует только в копии базы.
Что останется в базе после удаления документов
Удаление документов не очищает базу полностью. В ней остаются справочники (контрагенты, номенклатура, склады, организации, пользователи), планы счетов, планы видов характеристик, настройки учётной политики, константы и записи независимых регистров сведений. Для большинства сценариев — например, создания чистой базы под новую организацию — это именно то, что нужно.
Если требуется удалить и справочники, действуйте осторожно: многие элементы связаны с настройками конфигурации, и их удаление может нарушить работу базы. Например, удаление валют, видов номенклатуры или организаций может сломать отчёты и обработки. Обычно справочники не удаляют, а очищают выборочно — только ту номенклатуру и контрагентов, которые точно не понадобятся.
Отдельного внимания заслуживают последовательности документов и итоги регистров. После массового удаления рекомендуется выполнить пересчёт итогов и восстановление последовательностей через конфигуратор: «Администрирование» → «Тестирование и исправление» либо через соответствующие обработки в режиме предприятия. Это гарантирует корректность остатков в отчётах.
Проверка результата и типичные ошибки
После завершения очистки проверьте результат несколькими способами. Откройте журналы документов по основным разделам учёта (продажи, закупки, склад, банк, касса) — они должны быть пустыми. Сформируйте оборотно-сальтовую ведомость или универсальный отчёт по регистрам: обороты должны быть нулевыми, остатки — либо нулевыми, либо соответствовать введённым остаткам при свёртке.
Проверьте физический размер базы. Если документы удалены, но файл базы не уменьшился, это нормально: СУБД и файловый формат 1С не возвращают место автоматически. Для фактического сжатия файловой базы выполните тестирование и исправление с включённой опцией сжатия таблиц, для серверной — средства сжатия (shrink) на стороне СУБД.
Как проверить результат
Все журналы пустые или содержат только документы ввода остатков
Остались документы отдельных видов — их не пометили или удаление заблокировано ссылками
Нет оборотов за прошлые периоды
Есть обороты — часть документов проведена и не удалена
Отчёты не показывают «Объект не найден»
Битые ссылки — документы удалены напрямую без контроля целостности
После сжатия таблиц размер заметно уменьшился
Размер прежний — сжатие не выполнялось, место не освобождено
Альтернатива: чистая база через перенос справочников
В некоторых сценариях вместо удаления документов проще пойти от обратного: создать новую пустую базу той же конфигурации и перенести в неё только справочники и настройки. Для этого используют типовые обработки «Выгрузка и загрузка данных XML» (подходит для идентичных конфигураций) или «Универсальный обмен данными в формате XML» с настройкой правил конвертации.
Такой подход гарантированно даёт чистую базу без «хвостов» в регистрах и без риска битых ссылок. Минус — трудоёмкость: нужно проконтролировать перенос всех нужных справочников, настроек, прав доступа и при необходимости остатков. Для типовых конфигураций часто проще использовать механизм начального заполнения и ввод остатков на дату старта учёта.
Выбор между очисткой существующей базы и созданием новой зависит от объёма настроек: если база сильно доработана и содержит много пользовательских настроек, отчётов и дополнительных обработок, чистка существующей копии обычно быстрее. Если конфигурация почти типовая — новая база с переносом справочников надёжнее.
Как выбрать действие
Что важно запомнить
Удалить все документы из 1С можно через групповую пометку с последующим удалением помеченных, через свёртку базы или программную обработку. Всегда начинайте с резервной копии, работайте с полными правами в монопольном режиме, а после очистки проверяйте журналы, обороты и битые ссылки.
Часто задаваемые вопросы
Удалятся ли вместе с документами остатки по регистрам?
Да. Движения по регистрам принадлежат документам, и при удалении проведённого документа его записи в регистрах удаляются автоматически. Остатки обнулятся. Исключение — независимые регистры сведений, записи которых не привязаны к документам: их данные сохраняются.
Почему после удаления всех документов база не уменьшилась в размере?
Удалённые данные помечаются как свободное место внутри файла, но файл физически не сжимается. Для файловой базы выполните «Тестирование и исправление» в конфигураторе с опцией сжатия таблиц. Для серверной базы используйте штатные средства сжатия соответствующей СУБД.
Можно ли удалить документы только за определённый период?
Да. В обработке группового изменения добавьте отбор по дате документа перед установкой пометки на удаление. В программной обработке в метод «Выбрать()» передаются даты начала и окончания периода. Также для периодической очистки подходит свёртка базы на конкретную дату.
Что делать, если удаление помеченных объектов блокируется ссылками?
Откройте список объектов, которые мешают удалению — он показывается в окне удаления помеченных. Обычно это задачи, бизнес-процессы, непроведённые документы других видов или записи регистров. Пометите их на удаление и повторите операцию. Если ссылку нельзя удалить, её очищают вручную в объекте-источнике.
Можно ли восстановить документы после удаления?
Нет, удаление физически уничтожает данные. Восстановление возможно только из резервной копии: загрузкой файла .dt, восстановлением бэкапа СУБД или развёртыванием архивной копии файловой базы. Поэтому копия перед очисткой обязательна, а её работоспособность стоит проверить до начала удаления.
Нужно ли удалять документы в копии базы, переданной стороннему специалисту?
Да, и это важный вопрос конфиденциальности. Копия базы содержит всю финансовую информацию, персональные данные контрагентов и сотрудников. Если база передаётся для отладки или разработки, документы и чувствительные данные справочников лучше удалить или обезличить, а передачу оформить с соблюдением требований к защите персональных данных.