Очистка информационной базы 1С 8.3: способы, свёртка и риски

· 9 мин

Содержание

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

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

== Любая очистка начинается с резервной копии. Без неё операция необратима. ==

Какой способ выбрать под вашу задачу

Прежде чем что-то удалять, определитесь, что именно нужно. От этого зависит инструмент.

ЗадачаСпособ
Убрать тестовые данные перед началом учётаЧистая база из конфигурации (.cf)
Удалить несколько документов или элементов справочниковПометка на удаление + удаление помеченных
Уменьшить размер, убрав старые годыСвёртка информационной базы
Получить пустой шаблон конфигурацииПустая база из .cf
Большая клиент-серверная базаСвёртка + обслуживание СУБД
Что именно нужно сделать с базой?

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

Любой из способов начинается одинаково — с копии и понимания, что и сколько вы удаляете.

Файловую базу копируют выгрузкой: в Конфигураторе Администрирование → Выгрузить информационную базу — получите файл .dt. Для клиент-серверной базы надёжнее сделать резервную копию средствами СУБД (в MS SQL Server — через SSMS), выгрузка .dt на больших объёмах может не пройти по памяти.

Проверяйте любые методы удаления сначала на копии базы, а не на рабочей. Восстановить удалённые документы можно только из резервной копии — «отмены» в 1С нет.

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

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

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

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

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

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

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

Если объект не удаляется, сначала разберитесь со ссылками: удалите или перепроведите документы, которые на него ссылаются, либо замените значение в их реквизитах.

Два режима удаления отличаются подходом к проверке:

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

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

Чтобы пометить много объектов сразу, удобно отобрать их в списке (отбор по дате, организации, виду) и пометить группой. Для массовой замены реквизитов перед удалением пригодится стандартная обработка Групповое изменение реквизитов — это и есть простейшая «автоматизация» без написания кода.

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

Свёртка базы: убрать старые периоды, сохранив остатки

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

Свёртка делает две вещи:

  • вводит остатки на дату свёртки специальными документами ввода начальных остатков;
  • удаляет движения и документы за период до этой даты.

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

Типичный порядок:

  1. Выберите дату, на которую формируются остатки (обычно начало года).
  2. Укажите регистры, по которым нужны остатки.
  3. Сформируйте документы ввода остатков.
  4. Сверьте остатки «до» и «после» по оборотно-сальдовой ведомости и ключевым отчётам.
  5. Только убедившись в совпадении, выполните удаление старых документов.

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

Что проверить после свёртки:

  • остатки по счетам и регистрам на дату свёртки совпадают с данными до неё;
  • документы ввода остатков проведены и не содержат ошибок;
  • последовательности документов восстановлены (если в конфигурации они используются);
  • взаиморасчёты с контрагентами и сотрудниками не задвоились.

Свёртка — не способ «починить» базу с ошибками. Если в учёте уже есть расхождения, свёртка их зафиксирует в остатках, а не исправит. Сначала приводят учёт в порядок, потом сворачивают.

Пустая база из конфигурации через Конфигуратор

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

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

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

Если из старой базы нужно перенести только нормативно-справочную информацию (контрагенты, номенклатура, настройки), её выгружают и загружают отдельно — обработками переноса или через Выгрузка/загрузка данных XML. Остатки при этом вводят вручную документами ввода начальных остатков.

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

Архивную базу достаточно хранить в виде файла .dt или резервной копии СУБД — разворачивать её постоянно не нужно. Главное — подписать дату и период, который она охватывает.

Клиент-серверная база: роль SQL и обслуживание

Для баз на MS SQL Server или PostgreSQL соблазн почистить данные запросом DELETE или TRUNCATE велик, но так делать нельзя.

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

Роль СУБД — другая: резервное копирование и обслуживание после очистки.

После массового удаления документов:

  1. Пересчитайте итоги регистров: Все функции → Стандартные → Управление итогами (или аналогичная обработка в вашей конфигурации). Без этого отчёты будут показывать старые цифры.
  2. В Конфигураторе выполните Администрирование → Тестирование и исправление с пересчётом итогов и проверкой логической целостности.
  3. На стороне СУБД переиндексируйте таблицы; при необходимости выполните сжатие (DBCC SHRINKDATABASE в MS SQL). Сжатие делайте только после переиндексации — иначе получите сильную фрагментацию индексов.

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

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

Очистка в 1С:Фреш и облачных базах

В облачном сервисе доступа к Конфигуратору у вас нет, поэтому часть способов отпадает.

Что остаётся:

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

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

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

Частые ошибки при очистке базы

Эти промахи встречаются чаще всего — и обходятся дороже самой очистки.

  • 🗑️ Удаляют документы вручную вместо свёртки. Остатки и обороты по регистрам ломаются, отчёты перестают сходиться.
  • 🧮 Забывают пересчитать итоги после массового удаления — цифры в отчётах остаются от прежних данных.
  • 🛠️ Правят данные напрямую в SQL. Нарушается целостность, которую восстановить штатно уже нельзя.
  • 💾 Работают без резервной копии в рабочей базе — отменить удаление потом нечем.
  • 🔗 Удаляют по одному, не учитывая ссылки — объекты не удаляются, а время теряется; сначала снимают ссылки, потом удаляют.

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

Можно ли почистить базу запросами DELETE прямо в SQL?
Нет. Таблицы 1С связаны между собой, их целостность поддерживает платформа, а не СУБД. Прямое удаление строк нарушит остатки и итоги, и корректно восстановить данные штатными средствами будет невозможно.
После удаления документов база не уменьшилась — почему?
Освободившееся место внутри файла базы данных не возвращается операционной системе автоматически. Нужно пересчитать итоги, переиндексировать таблицы и при необходимости выполнить сжатие на стороне СУБД.
Нужен ли монопольный доступ для очистки?
Для свёртки и для тестирования-исправления — да, они выполняются в монопольном режиме. Удаление помеченных объектов лучше тоже делать без активных пользователей, чтобы в процессе не появлялись новые ссылки.
Объект помечен на удаление, но не удаляется. Что делать?
Значит, на него ссылаются другие данные. Программа покажет список ссылок — уберите или замените их (перепроведите или откорректируйте документы), после чего повторите удаление.
Можно ли отменить очистку, если удалил лишнее?
Встроенной отмены нет. Единственный способ вернуть данные — восстановить базу из резервной копии, сделанной до очистки. Поэтому копия обязательна.