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

· 9 мин

Содержание

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

Документы в 1С почти всегда зависят друг от друга: оплата ссылается на счёт, реализация — на поступление. Поэтому «удалить всё разом» платформа не даёт — она проверяет ссылочную целостность. Ниже разберём каждый способ с точными путями меню для конфигураций на платформе 8.3 (интерфейс «Такси») и предупредим, где можно безвозвратно испортить данные.

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

Какой способ очистки выбрать?

С чего начать: копия базы и монопольный режим

Сначала — резервная копия. Без неё ни один из способов запускать нельзя.

  • Файловая база: Администрирование → Обслуживание → Резервное копирование и восстановление → Создать резервную копию. Либо выгрузите базу в файл .dt через Конфигуратор: Администрирование → Выгрузить информационную базу.
  • Клиент-серверная база : копию снимают средствами СУБД (бэкап базы PostgreSQL или MS SQL). Выгрузка .dt тоже подойдёт как дополнительная страховка.

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

  • В файловой базе достаточно, чтобы базу открыли только вы.
  • В клиент-серверной завершите сеансы пользователей через консоль администрирования кластера или включите режим Блокировка начала сеансов в разделе Администрирование → Обслуживание → Блокировка работы пользователей.

Отрабатывайте очистку на копии базы, а не на рабочей. Сняли .dt, развернули во вторую базу, прогнали весь сценарий — и только убедившись в результате, повторяете на боевой. Это стоит десяти минут и спасает от потери учёта.

Перед очисткой проверьте
Выполнено: 0 / 5

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

СпособЧто убираетЧто сохраняетКогда применять
Пометка + удаление помеченныхВыбранные документыСправочники, настройки, остальные документыНужно убрать часть документов вручную
Свёртка базыДокументы до датыСправочники и остатки на датуБаза разрослась, остатки нужны
Отмена проведенияТолько движения по регистрамСами документыНужно переформировать проводки
Новая база из шаблонаВообще всёНичего (переносите отдельно)Нужна чистая база с нуля

Способ через интерфейс: пометка и удаление помеченных объектов

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

Шаг 1. Пометьте документы на удаление.

  1. Откройте нужный журнал или список документов (например, Продажи → Реализация (акты, накладные, УПД)).
  2. Выделите строки: одну — щелчком, диапазон — с зажатым Shift, все записи списка — Ctrl+A.
  3. Нажмите Del или команду Еще → Пометить на удаление / Снять пометку. Помеченные строки станут с перечёркнутым значком.

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

Шаг 2. Запустите удаление помеченных объектов.

Откройте обработку: Администрирование → Обслуживание → Удаление помеченных объектов. Если пункта нет, зайдите через универсальный путь: Главное меню → Все функции → Стандартные → Удаление помеченных объектов (команду Все функции включают в Главное меню → Сервис → Параметры).

В обработке выберите Автоматически удалить все помеченные объекты и нажмите Удалить. Платформа проверит ссылки и покажет результат.

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

Обработка выполняется в монопольном режиме и в клиент-серверной базе попытается установить его автоматически — поэтому так важно, чтобы чужих сеансов не было.

Удаление документов по периоду с сохранением справочников

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

Порядок работы:

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

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

Свёртка — это и есть «выборочная очистка»: вы задаёте границу по дате и убираете всё старше неё, сохранив текущие остатки и всю нормативно-справочную базу.

Сброс движений без удаления документов

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

  1. В списке документов выделите нужные строки (Ctrl+A — все).
  2. Выполните команду Еще → Отменить проведение (в некоторых конфигурациях — через групповую обработку документов).
  3. Движения по выбранным документам удалятся, статус сменится на «не проведён».

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

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

Программное удаление документов в Конфигураторе

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

Безопасный вариант — проставить пометку, а удаление доверить штатному механизму:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг";
Выборка = Запрос.Выполнить().Выбрать();

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

Повторите блок для каждого вида документа, подставив имя: Документ.ПоступлениеТоваровУслуг, Документ.ПлатежноеПоручение и так далее. После прогона запустите Удаление помеченных объектов — платформа проверит ссылки и уберёт помеченное.

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

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

Запускать код удобнее из внешней обработки с формой и кнопкой; консоль запросов для этого не годится — она только читает данные.

Несколько практических нюансов при массовом удалении кодом:

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

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

Быстрый путь: новая пустая база из шаблона

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

  1. В окне запуска 1С нажмите Добавить → Создание новой информационной базы.
  2. Выберите Создание информационной базы из шаблона и укажите вашу конфигурацию (например, «Бухгалтерия предприятия, редакция 3.0»).
  3. Задайте имя и каталог — получите чистую базу без единого документа.

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

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

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

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

Почему документы не удаляются: ссылочная целостность

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

Диагностика: выберите симптом

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

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

Можно ли удалить все документы одной кнопкой?
Нет. Даже при пометке всех документов платформа удаляет их через обработку Удаление помеченных объектов с проверкой ссылок. Единственный способ получить «нулевую» базу мгновенно — создать новую из шаблона конфигурации.
Удалятся ли вместе с документами справочники и настройки?
Нет, если вы помечаете на удаление только документы. Справочники, регистры сведений с настройками и учётная политика останутся. Свёртка базы тоже сохраняет всю нормативно-справочную информацию.
Чем отличается отмена проведения от удаления документа?
Отмена проведения очищает движения документа по регистрам, но сам документ остаётся в базе и доступен для редактирования. Удаление убирает документ целиком.
Что делать, если документ не удаляется из-за ссылок?
Открыть список ссылок в окне результата удаления и разобраться с зависимыми объектами: удалить или перенастроить их. После этого повторить удаление помеченного документа.
Как очистить базу, но оставить остатки на начало года?
Используйте свёртку информационной базы: укажите дату начала года, обработка введёт документы ввода остатков и пометит старые документы на удаление с сохранением справочников.