Очистка базы 1С: безопасные способы удалить данные

· 9 мин

Содержание

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

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

Что именно нужно очистить?

Резервная копия и выбор объёма очистки

Массовое удаление необратимо. Отменить его штатными средствами нельзя — только восстановить базу из копии.

Перед любой очисткой сделайте резервную копию. Это единственный способ откатить ошибку.

Как сохранить копию:

  • 🗂 Файловая база. Закройте все сеансы и скопируйте файл 1Cv8.1CD из каталога базы в отдельную папку.
  • 🖥 Клиент-серверная база. Выгрузите .dt через конфигуратор: Администрирование → Выгрузить информационную базу, либо снимите резервную копию средствами СУБД (для SQL — бэкап базы ).

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

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

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

Способ 1. Пометка на удаление и обработка удаления помеченных

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

Шаг 1. Пометьте документы группой. Откройте нужный журнал или список документов. Выделите строки: Ctrl+A отмечает все, либо удерживайте Ctrl/Shift для выборочного выделения. Дальше — команда пометки на удаление в командной панели списка или в контекстном меню по правой кнопке.

Шаг 2. Запустите обработку. Путь в типовых конфигурациях на «Такси»: Администрирование → Обслуживание → Удаление помеченных объектов. Выберите режим автоматического удаления всех помеченных объектов и нажмите удаление.

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

Чтобы документы всё же удалились, пометьте на удаление и те объекты, что на них ссылаются, либо вручную очистите эти ссылки. Пока ссылка жива, запись останется в базе.

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

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

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

Способ 2. Отмена проведения и удаление движений документов

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

Отмена проведения. В списке документов выделите нужные строки и выберите команду отмены проведения (в командной панели или контекстном меню). При снятии проведения 1С удаляет все движения документа по регистрам: бухгалтерским, накопления, сведений. Сам документ остаётся в журнале непроведённым.

Групповая обработка. Массовое перепроведение и отмену удобнее делать через Администрирование → Проведение документов → Групповое перепроведение документов. Там задаётся период и список видов документов.

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

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

Отмена проведения у большого массива документов тоже меняет учёт разом. Если база рабочая, предупредите бухгалтеров: отчёты за эти периоды временно «поплывут», пока документы не проведут снова.

Способ 3. Полная очистка: новая база вместо удаления записей

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

Порядок такой:

  1. В конфигураторе сохраните конфигурацию в файл: Конфигурация → Сохранить конфигурацию в файл, получится файл .cf.
  2. Создайте новую пустую информационную базу (без конфигурации) в окне запуска 1С.
  3. Откройте её в конфигураторе и загрузите конфигурацию: Конфигурация → Загрузить конфигурацию из файла, укажите сохранённый .cf, подтвердите обновление конфигурации базы данных.

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

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

В клиент-серверном варианте новую базу создают на сервере 1С — через окно запуска с указанием кластера и имени базы на СУБД либо через консоль администрирования. Остальные шаги с загрузкой конфигурации те же.

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

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

Прямое вмешательство в таблицы СУБД — почему это тупик

Отдельный «метод» — почистить базу запросами прямо в SQL-клиенте, через TRUNCATE или DELETE по таблицам. Делать так не нужно.

Не редактируйте таблицы базы напрямую через СУБД. Это не поддерживается фирмой 1С и почти всегда ломает базу.

Причин несколько:

  • 🔤 Имена таблиц зашифрованы. 1С хранит данные в таблицах вида _Document123, _Reference45, _AccumRgT678. Понять, где документы, где справочники, а где таблицы итогов, по именам почти невозможно.
  • 🔗 Таблицы связаны. Документ, его движения, таблицы итогов и последовательности — это единый механизм. Удалив записи в одной таблице и пропустив связанные, вы получите рассинхронизацию, которую 1С не ждёт.
  • ♻️ Реструктуризация всё перезапишет. При следующем обновлении конфигурации платформа перестраивает таблицы по своим правилам, и ручные правки теряются или превращают базу в нерабочую.

Правильный способ всегда один — удалять данные инструментами самой 1С: помеченные объекты, отмена проведения, новая база. СУБД трогать не нужно.

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

СпособЧто убираетСправочникиСкорость и риск
Пометка + удаление помеченныхДокументы и их движенияСохраняютсяМедленно из-за контроля ссылок, безопасно
Отмена проведенияТолько движения по регистрамСохраняютсяБыстро, документы остаются
Новая база из конфигурацииВообще все данныеУдаляютсяБыстро, нужен повторный ввод настроек
Служебная обработка без контроля ссылокВыбранные объектыНа ваш выборБыстро, но риск битых ссылок
Прямые правки в СУБД——Не делать: ломает базу

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

Что проверить и настроить после очистки

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

  • 🔢 Нумерация документов. Если справочники и часть документов остались, счётчики номеров продолжат старую нумерацию. При полной очистке нумерация начнётся заново.
  • 📊 Итоги и последовательности. Выполните пересчёт итогов и восстановление последовательностей документов — иначе остатки и проведение по цепочке могут считаться некорректно. Групповое перепроведение документов восстановит движения и последовательность.
  • 🔒 Даты запрета редактирования. Проверьте настройки запрета изменения данных: после очистки старые даты запрета могут мешать вводу новых документов.
  • 👤 Пользователи и права. В новой базе из конфигурации пользователей нужно завести заново и выдать им роли.
  • 📥 Начальные остатки. Если учёт продолжается, а не начинается с нуля, введите остатки на дату начала работы в чистой базе.
  • 🧩 Проверка целостности. После удаления без контроля ссылок или если базу правили извне, прогоните её через конфигуратор: Администрирование → Тестирование и исправление с включённым контролем ссылочной целостности. Платформа найдёт битые ссылки и предложит их очистить или заменить на пустые значения.

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

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

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