Удаление всех документов из базы 1С 8.3: рабочие способы
Содержание
Полная очистка базы 1С 8.3 от документов — это не одна кнопка, а выбор между четырьмя рабочими сценариями: пометить документы на удаление и запустить Удаление помеченных объектов, свернуть базу
на дату, снять проведение (сбросить движения) или собрать пустую базу из шаблона конфигурации. Какой способ подойдёт, зависит от того, нужно ли сохранить справочники и остатки.
Документы в 1С почти всегда зависят друг от друга: оплата ссылается на счёт, реализация — на поступление. Поэтому «удалить всё разом» платформа не даёт — она проверяет ссылочную целостность. Ниже разберём каждый способ с точными путями меню для конфигураций на платформе 8.3 (интерфейс «Такси») и предупредим, где можно безвозвратно испортить данные.
Любая из операций ниже необратима. Перед началом сделайте резервную копию базы и выполняйте очистку в монопольном режиме, когда в базе нет других пользователей.
С чего начать: копия базы и монопольный режим
Сначала — резервная копия. Без неё ни один из способов запускать нельзя.
- Файловая база:
Администрирование → Обслуживание → Резервное копирование и восстановление → Создать резервную копию. Либо выгрузите базу в файл.dtчерез Конфигуратор:Администрирование → Выгрузить информационную базу. - Клиент-серверная база
: копию снимают средствами СУБД (бэкап базы
PostgreSQL или MS SQL). Выгрузка
.dtтоже подойдёт как дополнительная страховка.
Дальше — монопольный доступ. Массовое удаление и свёртка меняют данные пачками, и чужие сеансы в этот момент приведут к блокировкам и ошибкам.
- В файловой базе достаточно, чтобы базу открыли только вы.
- В клиент-серверной завершите сеансы пользователей через консоль администрирования кластера или включите режим
Блокировка начала сеансовв разделеАдминистрирование → Обслуживание → Блокировка работы пользователей.
Отрабатывайте очистку на копии базы, а не на рабочей. Сняли .dt, развернули во вторую базу, прогнали весь сценарий — и только убедившись в результате, повторяете на боевой. Это стоит десяти минут и спасает от потери учёта.
Чтобы не путаться между способами, держите перед глазами, что каждый из них делает с данными:
| Способ | Что убирает | Что сохраняет | Когда применять |
|---|---|---|---|
| Пометка + удаление помеченных | Выбранные документы | Справочники, настройки, остальные документы | Нужно убрать часть документов вручную |
| Свёртка базы | Документы до даты | Справочники и остатки на дату | База разрослась, остатки нужны |
| Отмена проведения | Только движения по регистрам | Сами документы | Нужно переформировать проводки |
| Новая база из шаблона | Вообще всё | Ничего (переносите отдельно) | Нужна чистая база с нуля |
Способ через интерфейс: пометка и удаление помеченных объектов
Это штатный и самый безопасный путь: вы помечаете документы на удаление, а платформа сама проверяет, можно ли их убрать.
Шаг 1. Пометьте документы на удаление.
- Откройте нужный журнал или список документов (например,
Продажи → Реализация (акты, накладные, УПД)). - Выделите строки: одну — щелчком, диапазон — с зажатым
Shift, все записи списка —Ctrl+A. - Нажмите
Delили командуЕще → Пометить на удаление / Снять пометку. Помеченные строки станут с перечёркнутым значком.
Повторите для каждого вида документов, который нужно вычистить (поступления, платежи, авансовые отчёты и так далее). Пометка сама по себе ничего не удаляет — она лишь ставит флаг.
Шаг 2. Запустите удаление помеченных объектов.
Откройте обработку: Администрирование → Обслуживание → Удаление помеченных объектов. Если пункта нет, зайдите через универсальный путь: Главное меню → Все функции → Стандартные → Удаление помеченных объектов (команду Все функции включают в Главное меню → Сервис → Параметры).
В обработке выберите Автоматически удалить все помеченные объекты и нажмите Удалить. Платформа проверит ссылки и покажет результат.
Если документ связан с другими объектами (например, на реализацию ссылается платёжка), программа его не удалит и выведет список того, что мешает. Снимайте зависимости по цепочке: сначала удаляйте «верхние» документы, потом те, на которые они ссылались.
Обработка выполняется в монопольном режиме и в клиент-серверной базе попытается установить его автоматически — поэтому так важно, чтобы чужих сеансов не было.
Удаление документов по периоду с сохранением справочников
Когда база разрослась, а справочники и остатки нужны — помогает свёртка информационной базы. Она закрывает период: вводит документы ввода остатков на выбранную дату, а старые документы до этой даты помечает на удаление. Контрагенты, номенклатура, договоры и прочая нормативно-справочная информация остаются на месте.
Порядок работы:
- Откройте обработку
Свертка информационной базы. В типовых конфигурациях она в разделеАдминистрирование; если не нашли —Главное меню → Все функции → Обработки → Свертка информационной базы. - Укажите дату, на которую формируются остатки (как правило, начало года или квартала).
- Выберите регистры и разделы учёта, по которым нужно свернуть данные.
- Обработка сформирует документы ввода остатков, вы сверяете их с оборотно-сальдовой ведомостью «до» и «после».
- После проверки остатков обработка помечает документы периода на удаление — останется запустить
Удаление помеченных объектов.
Свёртка необратима: после удаления старых документов вы не развернёте детализацию обратно. Поэтому обязательна копия базы и сверка остатков до фактического удаления.
Свёртка — это и есть «выборочная очистка»: вы задаёте границу по дате и убираете всё старше неё, сохранив текущие остатки и всю нормативно-справочную базу.
Сброс движений без удаления документов
Иногда документы нужно оставить, а обнулить только регистры — проводки, остатки на складах, взаиморасчёты. Это не удаление документов, а отмена проведения: записи в регистрах очищаются, сам документ остаётся непроведённым.
- В списке документов выделите нужные строки (
Ctrl+A— все). - Выполните команду
Еще → Отменить проведение(в некоторых конфигурациях — через групповую обработку документов). - Движения по выбранным документам удалятся, статус сменится на «не проведён».
Для массовой отмены по всей базе в бухгалтерских конфигурациях применяют групповую обработку: Главное меню → Все функции → Стандартные → Групповое изменение реквизитов не подойдёт для проведения, а вот Все функции → Обработки → Групповое перепроведение документов используется для обратной задачи. Для снятия проведения надёжнее пройти по журналам и отменить проведение выделением, либо поручить это внешней обработке (см. ниже).
Отмена проведения полезна перед закрытием месяца заново или перед массовым перепроведением: сначала сбрасываете движения, затем проводите документы в правильной последовательности.
Программное удаление документов в Конфигураторе
Когда документов десятки тысяч, кликать по журналам бессмысленно. Пометку на удаление ставят кодом во внешней обработке, запущенной с правами администратора в монопольном режиме.
Безопасный вариант — проставить пометку, а удаление доверить штатному механизму:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ОбъектДок = Выборка.Ссылка.ПолучитьОбъект();
ОбъектДок.УстановитьПометкуУдаления(Истина);
КонецЦикла;
Повторите блок для каждого вида документа, подставив имя: Документ.ПоступлениеТоваровУслуг, Документ.ПлатежноеПоручение и так далее. После прогона запустите Удаление помеченных объектов — платформа проверит ссылки и уберёт помеченное.
Прямое удаление через ОбъектДок.Удалить() тоже существует, но оно не проверяет ссылочную целостность и способно оставить в базе битые ссылки — другие документы будут показывать «объект не найден».
Метод Удалить() применяйте только когда точно знаете, что на эти документы никто не ссылается, и всегда после резервной копии. В типовых конфигурациях это почти всегда не так — пользуйтесь пометкой и штатным удалением.
Запускать код удобнее из внешней обработки с формой и кнопкой; консоль запросов для этого не годится — она только читает данные.
Несколько практических нюансов при массовом удалении кодом:
- Удаляйте документы пачками по нескольку тысяч, а не всю базу одним проходом — так ниже риск, что транзакция упрётся в блокировку или нехватку памяти на сервере.
- Порядок важен: сначала пометьте документы-«потребители» (оплаты, отгрузки), затем документы-основания (счета, заказы). Если сделать наоборот, штатное удаление упрётся в ссылки.
- Обязательные движения и подчинённые записи (например, записи регистров сведений, привязанные к документу) очищаются вместе с документом автоматически — отдельно их чистить не нужно.
После прогона обязательно откройте журнал регистрации: там видно, сколько объектов помечено и не возникло ли ошибок записи по отдельным документам.
Быстрый путь: новая пустая база из шаблона
Если цель — полностью чистая база той же конфигурации, а старые документы и справочники не нужны, не тратьте время на удаление. Создайте пустую базу:
- В окне запуска 1С нажмите
Добавить → Создание новой информационной базы. - Выберите
Создание информационной базы из шаблонаи укажите вашу конфигурацию (например, «Бухгалтерия предприятия, редакция 3.0»). - Задайте имя и каталог — получите чистую базу без единого документа.
Справочники из старой базы при необходимости переносят отдельно — через Загрузка данных из типовых обработок обмена или выгрузкой-загрузкой в XML по нужным видам объектов. Это чище и быстрее, чем чистить рабочую базу вручную.
Такой подход незаменим для учебных и демонстрационных баз, а также когда рабочая база «засорена» тестовыми данными и проще начать заново.
Если нужна именно структура базы без данных, но с настроенной учётной политикой, выгрузите справочники и настройки из старой базы и загрузите их в новую — документы при этом не переносятся, и вы получаете чистый учёт с готовым окружением.
Перенос справочников между базами одной конфигурации делают типовой обработкой выгрузки-загрузки данных: отмечают нужные виды объектов (контрагенты, номенклатура, договоры), выгружают в файл и загружают в чистую базу. Документы в такой выгрузке не участвуют, поэтому база остаётся пустой по оборотам.
Почему документы не удаляются: ссылочная целостность
Главная причина отказа в удалении — на документ ссылаются другие объекты. Платформа защищает целостность данных и не даёт убрать то, что ещё используется.
Разбирайте зависимости сверху вниз: удаляйте документы в обратном порядке их создания — сначала те, что ссылаются на другие, потом исходные. Так цепочка ссылок распутывается без ошибок.
Частые вопросы
Можно ли удалить все документы одной кнопкой?
Удаление помеченных объектов с проверкой ссылок. Единственный способ получить «нулевую» базу мгновенно — создать новую из шаблона конфигурации.