Очистка базы 1С от старых данных: рабочие способы
Содержание
Самый надёжный способ сбросить базу 1С — не «вычистить» рабочую базу, а создать новую пустую из той же конфигурации и настроить её заново. Данные в старой базе при этом остаются нетронутыми: вы просто перестаёте с ней работать. Если нужно именно удалить часть данных и продолжить в той же базе — для этого есть механизм Удаление помеченных объектов, но полностью базу он не очищает.
Чистить таблицы файловой базы «вручную» нечем — в Конфигураторе нет кнопки «удалить все данные». В клиент-серверной базе прямое удаление таблиц через SQL делать нельзя: имена таблиц зашифрованы, между ними десятки ссылок, и база после такого перестанет открываться.
Ниже — когда какой способ применять: от безопасного создания чистой базы до частичной очистки через Предприятие и корректного сброса клиент-серверной базы на уровне SQL-сервера.
Резервная копия: что сохранить до любых действий
Прежде чем что-либо удалять, сделайте копию. Сброс необратим, а «пустая база» нужна редко — чаще оказывается, что пару справочников хотелось бы перенести.
Что сохранить по типу базы:
- 📁 Файловая база — скопируйте весь каталог базы (файл
1Cv8.1CDи подкаталоги) в другую папку при закрытой 1С. Либо выгрузите дамп через Конфигуратор:Администрирование → Выгрузить информационную базу…— получится файл.dt. - 🖥 Клиент-серверная база
— выгрузите
.dtчерез Конфигуратор так же, и дополнительно попросите администратора сделать бэкап базы средствами SQL-сервера (в SQL Server — через SSMS, задача Back Up…).
Выгрузка .dt требует монопольного доступа: все пользователи должны выйти из базы. Планируйте сброс на нерабочее время, иначе оборвёте чужие сеансы.
Отдельно решите, что именно хотите сохранить из самой базы — часто это конфигурация (если вы её дорабатывали), список пользователей и настройки обменов. Конфигурацию выгружают в файл командой Конфигурация → Сохранить конфигурацию в файл… (получится .cf), он и станет основой чистой базы.
Какой способ сброса выбрать
«Сбросить базу» понимают по-разному: кому-то нужна полностью пустая база с нуля, кому-то — убрать документы за прошлые годы, оставив справочники. Способы и их результат отличаются.
| Способ | Что получится | Когда применять |
|---|---|---|
| Новая база из своей конфигурации | Пустая база, настроек и данных нет | Нужен чистый старт, историю не жалко |
Загрузка пустого .dt | То же, но через Конфигуратор | Файловая база, есть эталонный пустой дамп |
| Удаление помеченных объектов | Удаляются только помеченные данные | Убрать часть данных, базу оставить рабочей |
| Пересоздание базы на SQL-сервере | Пустая клиент-серверная база | Клиент-сервер, нужен полный сброс |
Главная развилка — оставляете вы базу рабочей или начинаете с чистого листа. Определитесь до начала: от этого зависит, какой из разделов ниже вам нужен.
Удаление помеченных объектов. Полностью базу это не чистит, но уберёт выбранное..dt для подстраховки, затем создайте новую инфобазу — на том же SQL-сервере с новой базой данных.Полный сброс: чистая база из вашей конфигурации
Это основной рабочий способ получить пустую базу с привычной конфигурацией. Подходит и для файловой, и для клиент-серверной базы. Логика одна: берём конфигурацию, разворачиваем её в новой базе без данных.
Порядок действий:
- В рабочей базе откройте Конфигуратор и выполните
Конфигурация → Сохранить конфигурацию в файл…. Сохраните.cfв надёжное место. - В окне запуска 1С нажмите
Добавить→Создание новой информационной базы. - Выберите
Создание информационной базы без конфигурации…(пустую), укажите имя и каталог (для файловой) или параметры кластера и SQL-сервера (для клиент-серверной). - Откройте новую базу в Конфигураторе и загрузите сохранённый файл:
Конфигурация → Загрузить конфигурацию из файла…, укажите.cf. - Согласитесь на обновление конфигурации базы данных, дождитесь завершения.
- Запустите новую базу в режиме Предприятия — она откроется пустой, с вашей конфигурацией.
Если конфигурацию вы не меняли и это типовое решение (Бухгалтерия, ЗУП, УТ), проще сразу создать базу из шаблона нужного релиза — тогда шаги с выгрузкой .cf не нужны, конфигурация подтянется из шаблона.
Про версии платформы: загрузить файл
.cf можно только в базу на платформе с номером не ниже той, на которой конфигурация выгружалась. Если шаблон релиза новее вашей старой базы, сначала разверните его, а переносить .cf не понадобится вовсе — вы получите пустую базу сразу на актуальном релизе.
Этот способ безопаснее очистки «по месту»: рабочая база остаётся целой, а вы спокойно переносите в новую только то, что нужно.
Файловая база: сброс через Конфигуратор
У файловой базы есть ещё один путь — загрузить в неё заранее подготовленный пустой дамп. Это удобно, когда у вас уже есть эталонная пустая база с настроенными правами и реквизитами, и вы периодически откатываете рабочую к этому состоянию.
Как загрузить пустой .dt:
- Закройте базу у всех пользователей.
- Откройте Конфигуратор, выполните
Администрирование → Загрузить информационную базу…. - Укажите эталонный пустой файл
.dt. - Подтвердите замену — текущие данные базы будут полностью перезаписаны, вернуть их можно будет только из копии.
Отдельной команды «удалить все данные» в Конфигураторе нет, и это нормально: платформа хранит данные во внутренних таблицах со служебными связями, точечно их не стирают. Поэтому «сброс через Конфигуратор» на практике означает либо загрузку пустого .dt, либо создание новой базы из .cf, как в разделе выше.
Не путайте с Тестированием и исправлением в меню Администрирование: оно чинит структуру и ссылки, но данные не удаляет. Для сброса оно не предназначено.
Клиент-серверная база: очистка на уровне SQL
Для клиент-серверной базы многие ищут способ «почистить через SQL». Сразу о главном: напрямую выполнять TRUNCATE или DELETE по таблицам базы 1С в SQL нельзя. Платформа сама управляет структурой таблиц, именует их служебно (_Reference123, _Document456 и т.п.) и хранит между ними ссылки и итоги. После ручной правки таблиц база, скорее всего, не откроется, а Тестирование и исправление её уже не починит.
Корректный «сброс на уровне SQL» — это создание новой чистой базы данных для инфобазы:
- Сделайте резервную копию текущей базы данных средствами SQL-сервера.
- Создайте новую инфобазу в кластере: в окне запуска
Добавить→Создание новой информационной базы, тип — на сервере 1С:Предприятия, укажите сервер, имя новой базы данных и флаг создания базы данных, если её нет. - Разверните конфигурацию — из шаблона релиза или загрузкой
.cfиз старой базы (раздел про чистую базу). - Старую базу данных пока не удаляйте: убедитесь, что новая работает, и только потом освобождайте место.
Если по каким-то причинам нужно переиспользовать то же имя базы данных на SQL-сервере, безопасный путь — удалить старую базу данных целиком (после бэкапа) и позволить Конфигуратору создать новую пустую при добавлении инфобазы. Это чище, чем пытаться вычистить таблицы.
Перед удалением базы данных и остановкой служб убедитесь, что в базе никого нет. Остановка службы сервера 1С оборвёт сеансы всех баз кластера, а не только вашей.
Удаление части данных в типовых конфигурациях
Если полностью пустая база не нужна, а требуется убрать, например, тестовые документы или данные старой организации, работайте через штатный механизм в режиме Предприятия. Полностью базу он не очистит (системные данные и используемые справочники останутся), но удалит то, что вы пометили.
Порядок в типовых конфигурациях на БСП — Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11:
- Пометьте на удаление ненужные объекты. В списке документов или справочника выделите элементы и выберите команду пометки на удаление (значок в командной панели списка либо пункт в меню
Ещё). - Откройте обработку удаления:
Администрирование → Обслуживание → Удаление помеченных объектов. - Выберите режим с контролем ссылок (
автоматическоеудаление) — платформа удалит только то, на что больше никто не ссылается. - По объектам, которые удалить не удалось, программа покажет, кто на них ссылается. Либо пометьте и эти ссылающиеся объекты, либо оставьте данные как есть.
Документы за прошлые периоды часто проще не удалять, а свернуть: сделать свёртку базы (переносит остатки на выбранную дату и убирает старые движения). Это аккуратнее массового удаления и сохраняет корректные остатки.
Единой кнопки «удалить все данные одним нажатием» в типовых конфигурациях нет, и искать её не стоит: массовая принудительная очистка ломает ссылочную целостность. Когда нужно «всё и сразу» — возвращайтесь к чистой базе из предыдущих разделов.
Как перенести нужные справочники в чистую базу
Частый сценарий: база нужна чистая от документов и остатков, но номенклатуру, контрагентов и физлиц заводить заново не хочется. Переносить их копированием таблиц нельзя — только штатными средствами обмена данными.
Рабочие варианты переноса:
- 🔄 Разовая синхронизация. Настройте между старой и новой базой обмен и выполните его один раз, выбрав только нужные справочники. Это самый аккуратный способ: платформа сама перенесёт связанные данные и сохранит ссылки.
- 📦 Выгрузка и загрузка данных в XML. Для переноса отдельных справочников используют внешнюю обработку выгрузки и загрузки данных в формате XML (поставляется на диске ИТС). В старой базе выгружаете выбранные объекты в файл, в новой — загружаете.
- ✍️ Ручной ввод. Если справочников немного, иногда быстрее завести их в новой базе руками, чем настраивать обмен.
При переносе не тащите в чистую базу открытые документы и движения, если хотели именно сброс — иначе вернёте в новую базу те данные, от которых уходили. Переносите справочники, а не операции.
После переноса сверьте количество элементов в ключевых справочниках старой и новой базы — так вы убедитесь, что ничего не потерялось при обмене.
Настройка базы заново после сброса
Пустая база — это только старт. Чтобы в ней можно было работать, её нужно настроить. Порядок зависит от конфигурации, но базовый набор шагов общий.
Что сделать в новой базе:
- 👤 Завести пользователей и назначить права (в типовых —
Администрирование → Настройки пользователей и прав). - 🏢 Заполнить сведения об организации: реквизиты, система налогообложения, банковские счета.
- 📑 Настроить учётную политику и параметры учёта на нужный период.
- 💼 Ввести начальные остатки по счетам, товарам, взаиморасчётам — через документ ввода начальных остатков (помощник ввода остатков).
- 🔁 Перенастроить обмены и синхронизации (с другими базами, с банком, с ЭДО) — старые настройки в новой базе не появятся.
- 🖨 Проверить настройки печати, нумерацию документов, подключённое оборудование.
Не торопитесь удалять старую базу. Пусть она полежит копией хотя бы до закрытия первого периода в новой — так вы спокойно свериете остатки и ничего не потеряете.
Частые вопросы
Можно ли сбросить базу 1С, не удаляя конфигурацию?
.cf и загружают в новую пустую базу — данные при этом не переносятся, а все доработки остаются.Чем сброс отличается от свёртки базы?
Удалятся ли при сбросе настройки обмена и пользователи?
Почему нельзя просто очистить таблицы базы через SQL?
Как вернуть данные, если сбросил базу по ошибке?
.dt или поднять бэкап SQL-базы. Без копии восстановить удалённые данные нельзя — поэтому копию делают до начала.